diff options
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.py | 15 |
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']) |