summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py')
-rw-r--r--packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py b/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
index 6645692f93ee..16736f798528 100644
--- a/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
+++ b/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
@@ -26,9 +26,6 @@ class ExprCommandCallFunctionTestCase(TestBase):
@expectedFailureAll(
compiler="icc",
bugnumber="llvm.org/pr14437, fails with ICC 13.1")
- @expectedFailureAll(
- oslist=['freebsd'],
- bugnumber='llvm.org/pr17807 Fails on FreeBSD buildbot')
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr21765")
def test_with(self):
"""Test calling std::String member function."""
@@ -47,5 +44,13 @@ class ExprCommandCallFunctionTestCase(TestBase):
# Calling this function now succeeds, but we follow the typedef return type through to
# const char *, and thus don't invoke the Summary formatter.
- self.expect("print str.c_str()",
- substrs=['Hello world'])
+
+ # clang's libstdc++ on ios arm64 inlines std::string::c_str() always;
+ # skip this part of the test.
+ triple = self.dbg.GetSelectedPlatform().GetTriple()
+ do_cstr_test = True
+ if triple == "arm64-apple-ios" or triple == "arm64-apple-tvos" or triple == "armv7k-apple-watchos" or triple == "arm64-apple-bridgeos":
+ do_cstr_test = False
+ if do_cstr_test:
+ self.expect("print str.c_str()",
+ substrs=['Hello world'])