mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-24 05:55:43 -04:00

This test is consistently reporting unexpected pass for me on FreeBSD 10 and 12. It was failing on the old FreeBSD buildbot which has now been retired for some time. Will investigate further if this fails once a new buildbot is configured and running tests. llvm.org/pr17807 llvm-svn: 310626
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
"""
|
|
Test calling std::String member functions.
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
|
|
|
|
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
class ExprCommandCallFunctionTestCase(TestBase):
|
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
|
|
|
def setUp(self):
|
|
# Call super's setUp().
|
|
TestBase.setUp(self)
|
|
# Find the line number to break for main.c.
|
|
self.line = line_number(
|
|
'main.cpp',
|
|
'// Please test these expressions while stopped at this line:')
|
|
|
|
@expectedFailureAll(
|
|
compiler="icc",
|
|
bugnumber="llvm.org/pr14437, fails with ICC 13.1")
|
|
@expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr21765")
|
|
def test_with(self):
|
|
"""Test calling std::String member function."""
|
|
self.build()
|
|
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
|
|
|
|
# Some versions of GCC encode two locations for the 'return' statement
|
|
# in main.cpp
|
|
lldbutil.run_break_set_by_file_and_line(
|
|
self, "main.cpp", self.line, num_expected_locations=-1, loc_exact=True)
|
|
|
|
self.runCmd("run", RUN_SUCCEEDED)
|
|
|
|
self.expect("print str",
|
|
substrs=['Hello world'])
|
|
|
|
# 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'])
|