Files
clang-p2996/lldb/test/lang/cpp/overloaded-functions/TestOverloadedFunctions.py
Zachary Turner 2878bf44b1 [Windows] XFAIL tests that depend on expression name lookup.
Name lookup doesn't work properly with Windows targets.  This is
most likely due to issues with name mangling, although there is at
least one set of debug info related issues as well, since some of
the name lookup requests appear to be failing on types rather than
symbols.

Specifically, this patch XFAILS the following set of tests:

TestChar1632T.py
TestRdar12991846.py
TestConstVariables.py
TestCallCPPFunction.py
TestCallStopAndContinue.py
TestCallUserDefinedFunction.py
TestCModules.py
TestCPPThis.py
TestExprs2.py
TestOverloadedFunctions.py
TestRvalueReferences.py

And fixing the underlying issue is tracked in http://llvm.org/pr24489

llvm-svn: 245338
2015-08-18 20:01:28 +00:00

55 lines
1.7 KiB
Python

"""
Tests that functions with the same name are resolved correctly.
"""
import lldb
from lldbtest import *
import lldbutil
class CPPStaticMethodsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test that functions with the same name are resolved correctly"""
self.buildDsym()
self.static_method_commands()
@dwarf_test
@expectedFailureWindows("llvm.org/pr24489: Name lookup not working correctly on Windows")
def test_with_dwarf_and_run_command(self):
"""Test that functions with the same name are resolved correctly"""
self.buildDwarf()
self.static_method_commands()
def setUp(self):
TestBase.setUp(self)
self.line = line_number('main.cpp', '// breakpoint')
def static_method_commands(self):
"""Test that static methods are properly distinguished from regular methods"""
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.run_break_set_by_file_and_line (self, "main.cpp", self.line, num_expected_locations=1, loc_exact=True)
self.runCmd("process launch", RUN_SUCCEEDED)
# The stop reason of the thread should be breakpoint.
self.expect("thread list",
STOPPED_DUE_TO_BREAKPOINT,
substrs = ['stopped', 'stop reason = breakpoint'])
self.expect("expression -- Dump(myB)",
startstr = "(int) $0 = 2")
self.expect("expression -- Static()",
startstr = "(int) $1 = 1")
if __name__ == '__main__':
import atexit
lldb.SBDebugger.Initialize()
atexit.register(lambda: lldb.SBDebugger.Terminate())
unittest2.main()