Merge dwarf and dsym tests

Currently most of the test files have a separate dwarf and a separate
dsym test with almost identical content (only the build step is
different). With adding dwo symbol file handling to the test suit it
would increase this to a 3-way duplication. The purpose of this change
is to eliminate this redundancy with generating 2 test case (one dwarf
and one dsym) for each test function specified (dwo handling will be
added at a later commit).

Main design goals:
* There should be no boilerplate code in each test file to support the
  multiple debug info in most of the tests (custom scenarios are
  acceptable in special cases) so adding a new test case is easier and
  we can't miss one of the debug info type.
* In case of a test failure, the debug symbols used during the test run
  have to be cleanly visible from the output of dotest.py to make
  debugging easier both from build bot logs and from local test runs
* Each test case should have a unique, fully qualified name so we can
  run exactly 1 test with "-f <test-case>.<test-function>" syntax
* Test output should be grouped based on test files the same way as it
  happens now (displaying dwarf/dsym results separately isn't
  preferable)

Proposed solution (main logic in lldbtest.py, rest of them are test
cases fixed up for the new style):
* Have only 1 test fuction in the test files what will run for all
  debug info separately and this test function should call just
  "self.build(...)" to build an inferior with the right debug info
* When a class is created by python (the class object, not the class
  instance), we will generate a new test method for each debug info
  format in the test class with the name "<test-function>_<debug-info>"
  and remove the original test method. This way unittest2 see multiple
  test methods (1 for each debug info, pretty much as of now) and will
  handle the test selection and the failure reporting correctly (the
  debug info will be visible from the end of the test name)
* Add new annotation @no_debug_info_test to disable the generation of
  multiple tests for each debug info format when the test don't have an
  inferior

Differential revision: http://reviews.llvm.org/D13028

llvm-svn: 248883
This commit is contained in:
Tamas Berghammer 2015-09-30 10:12:40 +00:00
parent ebfd72493c
commit c8fd130a2c
366 changed files with 2572 additions and 7609 deletions

View File

@ -11,6 +11,7 @@ class ARMEmulationTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@no_debug_info_test
def test_thumb_emulations (self):
current_dir = os.getcwd();
test_dir = os.path.join (current_dir, "new-test-files")
@ -24,7 +25,7 @@ class ARMEmulationTestCase(TestBase):
test_file = os.path.join (test_dir, f)
self.run_a_single_test (test_file)
@no_debug_info_test
def test_arm_emulations (self):
current_dir = os.getcwd();
test_dir = os.path.join (current_dir, "new-test-files")

View File

@ -13,18 +13,9 @@ class TestBenchmarkContinue(BenchBase):
mydir = TestBase.compute_mydir(__file__)
@benchmarks_test
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
def test_run_command(self):
"""Benchmark different ways to continue a process"""
self.buildDsym()
self.data_formatter_commands()
@benchmarks_test
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Benchmark different ways to continue a process"""
self.buildDwarf()
self.build()
self.data_formatter_commands()
def setUp(self):

View File

@ -37,6 +37,7 @@ class DisassembleDriverMainLoop(BenchBase):
self.count = 5
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_run_lldb_then_gdb(self):
"""Test disassembly on a large function with lldb vs. gdb."""
@ -52,6 +53,7 @@ class DisassembleDriverMainLoop(BenchBase):
print "lldb_avg/gdb_avg: %f" % (self.lldb_avg/self.gdb_avg)
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_run_gdb_then_lldb(self):
"""Test disassembly on a large function with lldb vs. gdb."""

View File

@ -22,6 +22,7 @@ class AttachThenDisassemblyBench(BenchBase):
self.count = 10
@benchmarks_test
@no_debug_info_test
def test_attach_then_disassembly(self):
"""Attach to a spawned lldb process then run disassembly benchmarks."""
print

View File

@ -22,6 +22,7 @@ class XCode41Vs42GDBDisassembly(BenchBase):
self.count = 5
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_run_41_then_42(self):
"""Test disassembly on a large function with 4.1 vs. 4.2's gdb."""
@ -35,6 +36,7 @@ class XCode41Vs42GDBDisassembly(BenchBase):
print "gdb_42_avg/gdb_41_avg: %f" % (self.gdb_42_avg/self.gdb_41_avg)
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_run_42_then_41(self):
"""Test disassembly on a large function with 4.1 vs. 4.2's gdb."""

View File

@ -21,7 +21,7 @@ class ExpressionEvaluationCase(BenchBase):
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_expr_cmd(self):
"""Test lldb's expression commands and collect statistics."""
self.buildDefault()
self.build()
self.exe_name = 'a.out'
print

View File

@ -23,7 +23,7 @@ class RepeatedExprsCase(BenchBase):
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_compare_lldb_to_gdb(self):
"""Test repeated expressions with lldb vs. gdb."""
self.buildDefault()
self.build()
self.exe_name = 'a.out'
print

View File

@ -25,6 +25,7 @@ class FrameVariableResponseBench(BenchBase):
self.count = 20
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_startup_delay(self):
"""Test response time for the 'frame variable' command."""

View File

@ -30,6 +30,7 @@ class StartupDelaysBench(BenchBase):
self.count = 30
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_startup_delay(self):
"""Test start up delays creating a target, setting a breakpoint, and run to breakpoint stop."""

View File

@ -16,6 +16,7 @@ class RunHooksThenSteppingsBench(BenchBase):
self.count = 50
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_lldb_runhooks_then_steppings(self):
"""Test lldb steppings on a large executable."""

View File

@ -28,6 +28,7 @@ class SteppingSpeedBench(BenchBase):
#print "self.break_spec=%s" % self.break_spec
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_run_lldb_steppings(self):
"""Test lldb steppings on a large executable."""

View File

@ -22,6 +22,7 @@ class CompileRunToBreakpointBench(BenchBase):
self.gdb_avg = None
@benchmarks_test
@no_debug_info_test
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
def test_run_lldb_then_gdb(self):
"""Benchmark turnaround time with lldb vs. gdb."""

View File

@ -15,21 +15,11 @@ class DriverBatchModeTest (TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@skipIfRemote # test not remote-ready llvm.org/pr24813
@dsym_test
def test_driver_batch_mode_with_dsym(self):
"""Test that the lldb driver's batch mode works correctly."""
self.buildDsym()
self.setTearDownCleanup()
self.batch_mode ()
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
@skipIfRemote # test not remote-ready llvm.org/pr24813
@dwarf_test
def test_driver_batch_mode_with_dwarf(self):
def test_driver_batch_mode(self):
"""Test that the lldb driver's batch mode works correctly."""
self.buildDwarf()
self.build()
self.setTearDownCleanup()
self.batch_mode()
@ -48,7 +38,6 @@ class DriverBatchModeTest (TestBase):
except pexpect.TIMEOUT:
self.fail ("Timed out waiting for '%s'"%(string))
def batch_mode (self):
exe = os.path.join(os.getcwd(), "a.out")
prompt = "(lldb) "
@ -95,11 +84,3 @@ class DriverBatchModeTest (TestBase):
index = self.child.expect([pexpect.EOF, pexpect.TIMEOUT])
self.assertTrue(index == 0, "lldb didn't close on successful batch completion.")

View File

@ -18,24 +18,12 @@ class ExprCommandCallFunctionTestCase(TestBase):
self.line = line_number('main.cpp',
'// Please test these expressions while stopped at this line:')
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
"""Test calling std::String member function."""
self.buildDsym()
self.call_function()
@dwarf_test
@expectedFailureFreeBSD('llvm.org/pr17807') # Fails on FreeBSD buildbot
@expectedFailureIcc # llvm.org/pr14437, fails with ICC 13.1
@expectedFailureFreeBSD('llvm.org/pr17807') # Fails on FreeBSD buildbot
@expectedFailureWindows("llvm.org/pr21765")
def test_with_dwarf(self):
"""Test calling std::String member function."""
self.buildDwarf()
self.call_function()
def call_function(self):
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

View File

@ -20,24 +20,11 @@ class ExprCommandCallStopContinueTestCase(TestBase):
self.func_line = line_number ('main.cpp',
'{ 5, "five" }')
@skipUnlessDarwin
@dsym_test
@expectedFlakeyDarwin("llvm.org/pr20274")
def test_with_dsym(self):
"""Test gathering result from interrupted function call."""
self.buildDsym()
self.call_function()
@dwarf_test
@expectedFlakeyDarwin("llvm.org/pr20274")
@expectedFailureWindows("llvm.org/pr24489: Name lookup not working correctly on Windows")
def test_with_dwarf(self):
"""Test gathering result from interrupted function call."""
self.buildDwarf()
self.call_function()
def call_function(self):
def test(self):
"""Test gathering result from interrupted function call."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
# Some versions of GCC encode two locations for the 'return' statement in main.cpp

View File

@ -22,23 +22,11 @@ class ExprCommandCallUserDefinedFunction(TestBase):
# Find the line number to break for main.c.
self.line = line_number('main.cpp',
'// Please test these expressions while stopped at this line:')
@skipUnlessDarwin
@dsym_test
@expectedFailureDarwin("llvm.org/pr20274") # intermittent failure on MacOSX
def test_with_dsym(self):
"""Test return values of user defined function calls."""
self.buildDsym()
self.call_function()
@dwarf_test
@expectedFailureDarwin("llvm.org/pr20274", debug_info=["dsym"]) # intermittent failure on MacOSX
@expectedFailureWindows("llvm.org/pr24489: Name lookup not working correctly on Windows")
def test_with_dwarf(self):
"""Test return values of user defined function calls."""
self.buildDwarf()
self.call_functions()
def call_functions(self):
def test(self):
"""Test return values of user defined function calls."""
self.build()
# Set breakpoint in main and run exe
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -18,22 +18,12 @@ class ExprCommandThatRestartsTestCase(TestBase):
self.main_source = "lotta-signals.c"
self.main_source_spec = lldb.SBFileSpec (self.main_source)
@skipUnlessDarwin
@dsym_test
@skipIfDarwin # llvm.org/pr19246: intermittent failure
def test_with_dsym(self):
"""Test calling std::String member function."""
self.buildDsym()
self.call_function()
@dwarf_test
@skipIfFreeBSD # llvm.org/pr19246: intermittent failure
@skipIfDarwin # llvm.org/pr19246: intermittent failure
@skipIfWindows # Test relies on signals, unsupported on Windows
def test_with_dwarf(self):
"""Test calling std::String member function."""
self.buildDwarf()
def test(self):
"""Test calling function that hits a signal and restarts."""
self.build()
self.call_function()
def check_after_call (self, num_sigchld):
@ -45,9 +35,7 @@ class ExprCommandThatRestartsTestCase(TestBase):
frame = self.thread.GetFrameAtIndex(0)
self.assertTrue (self.orig_frame_pc == frame.GetPC(), "Restored the zeroth frame correctly")
def call_function(self):
"""Test calling function that hits a signal and restarts."""
exe_name = "a.out"
exe = os.path.join(os.getcwd(), exe_name)

View File

@ -18,19 +18,10 @@ class ExprCommandWithThrowTestCase(TestBase):
self.main_source = "call-throws.m"
self.main_source_spec = lldb.SBFileSpec (self.main_source)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
def test(self):
"""Test calling a function that throws and ObjC exception."""
self.buildDsym()
self.call_function()
@skipUnlessDarwin
@dwarf_test
def test_with_dwarf(self):
"""Test calling a function that throws and ObjC exception."""
self.buildDwarf()
self.build()
self.call_function()
def check_after_call (self):

View File

@ -17,7 +17,7 @@ class ExprCharTestCase(TestBase):
def do_test(self, dictionary=None):
"""These basic expression commands should work as expected."""
self.buildDefault(dictionary = dictionary)
self.build(dictionary = dictionary)
target = self.dbg.CreateTarget(self.exe)
self.assertTrue(target)

View File

@ -11,16 +11,9 @@ class ExprSyscallTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_setpgid_with_dsym(self):
self.buildDsym()
self.expr_syscall()
@dwarf_test
@expectedFailureWindows("llvm.org/pr21765") # Also getpid() is not a function on Windows anyway
def test_setpgid_with_dwarf(self):
self.buildDwarf()
def test_setpgid(self):
self.build()
self.expr_syscall()
def expr_syscall(self):

View File

@ -18,27 +18,16 @@ class ExprFormattersTestCase(TestBase):
self.line = line_number('main.cpp',
'// Stop here')
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
"""Test expr + formatters for good interoperability."""
self.buildDsym()
self.do_my_test()
@skipIfFreeBSD # llvm.org/pr24691 skipping to avoid crashing the test runner
@expectedFailureFreeBSD('llvm.org/pr19011') # Newer Clang omits C1 complete object constructor
@expectedFailureFreeBSD('llvm.org/pr24691') # we hit an assertion in clang
@expectedFailureWindows("llvm.org/pr21765")
@skipIfTargetAndroid() # skipping to avoid crashing the test runner
@expectedFailureAndroid('llvm.org/pr24691') # we hit an assertion in clang
@dwarf_test
def test_with_dwarf(self):
def test(self):
"""Test expr + formatters for good interoperability."""
self.buildDwarf()
self.do_my_test()
self.build()
def do_my_test(self):
# This is the function to remove the custom formats in order to have a
# clean slate for the next test case.
def cleanup():

View File

@ -26,7 +26,7 @@ class Issue11581TestCase(TestBase):
self.addTearDownHook(cleanup)
"""valobj.AddressOf() should return correct values."""
self.buildDefault()
self.build()
exe = os.path.join(os.getcwd(), "a.out")

View File

@ -28,7 +28,7 @@ class ExprOptionsTestCase(TestBase):
def test_expr_options(self):
"""These expression command options should work as expected."""
self.buildDefault()
self.build()
# Set debugger into synchronous mode
self.dbg.SetAsync(False)

View File

@ -18,26 +18,13 @@ class PersistObjCPointeeType(TestBase):
self.line = line_number('main.m','// break here')
@skipUnlessDarwin
@dsym_test
@expectedFailureAll(
bugnumber='http://llvm.org/pr23504',
oslist=['macosx'], compiler='clang', compiler_version=['<', '7.0.0'])
def test_with_dsym(self):
def test_with(self):
"""Test that we can p *objcObject"""
self.buildDsym()
self.do_my_test()
self.build()
@skipUnlessDarwin
@dwarf_test
@expectedFailureAll(
bugnumber='http://llvm.org/pr23504',
oslist=['macosx'], compiler='clang', compiler_version=['<', '7.0.0'])
def test_with_dwarf(self):
"""Test that we can p *objcObject"""
self.buildDwarf()
self.do_my_test()
def do_my_test(self):
def cleanup():
pass

View File

@ -15,21 +15,10 @@ class PersistentPtrUpdateTestCase(TestBase):
# Call super's setUp().
TestBase.setUp(self)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
def test(self):
"""Test that we can have persistent pointer variables"""
self.buildDsym()
self.do_my_test()
self.build()
@skipUnlessDarwin
@dwarf_test
def test_with_dwarf(self):
"""Test that we can have persistent pointer variables"""
self.buildDwarf()
self.do_my_test()
def do_my_test(self):
def cleanup():
pass

View File

@ -14,7 +14,7 @@ class NestedPersistentTypesTestCase(TestBase):
@expectedFailureWindows("llvm.org/pr21765")
def test_persistent_types(self):
"""Test that nested persistent types work."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -14,7 +14,7 @@ class PersistenttypesTestCase(TestBase):
@expectedFailureWindows("llvm.org/pr21765")
def test_persistent_types(self):
"""Test that lldb persistent types works correctly."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -13,7 +13,7 @@ class PersistentVariablesTestCase(TestBase):
def test_persistent_variables(self):
"""Test that lldb persistent variables works correctly."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -19,20 +19,9 @@ class PoVerbosityTestCase(TestBase):
'// Stop here')
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
def test(self):
"""Test that the po command acts correctly."""
self.buildDsym()
self.do_my_test()
@skipUnlessDarwin
@dwarf_test
def test_with_dwarf(self):
"""Test that the po command acts correctly."""
self.buildDwarf()
self.do_my_test()
def do_my_test(self):
self.build()
# This is the function to remove the custom formats in order to have a
# clean slate for the next test case.

View File

@ -13,7 +13,7 @@ class Radar8638051TestCase(TestBase):
def test_expr_commands(self):
"""The following expression commands should not crash."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -16,7 +16,7 @@ class Radar9531204TestCase(TestBase):
@expectedFailureWindows("llvm.org/pr21765")
def test_expr_commands(self):
"""The evaluating printf(...) after break stop and then up a stack frame."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -22,7 +22,7 @@ class Radar9673644TestCase(TestBase):
@expectedFailureWindows("llvm.org/pr21765")
def test_expr_commands(self):
"""The following expression commands should just work."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -35,7 +35,7 @@ class BasicExprCommandsTestCase(TestBase):
def build_and_run(self):
"""These basic expression commands should work as expected."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
@ -98,7 +98,7 @@ class BasicExprCommandsTestCase(TestBase):
@expectedFailureWindows # Test crashes
def test_evaluate_expression_python(self):
"""Test SBFrame.EvaluateExpression() API for evaluating an expression."""
self.buildDefault()
self.build()
exe = os.path.join(os.getcwd(), "a.out")
@ -198,7 +198,7 @@ class BasicExprCommandsTestCase(TestBase):
@expectedFailureWindows("llvm.org/pr21765")
def test_expr_commands_can_handle_quotes(self):
"""Throw some expression commands with quotes at lldb."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -22,7 +22,7 @@ class ExprCommands2TestCase(TestBase):
@expectedFailureWindows("llvm.org/pr24489: Name lookup not working correctly on Windows")
def test_more_expr_commands(self):
"""Test some more expression commands."""
self.buildDefault()
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)

View File

@ -19,24 +19,13 @@ class ExprCommandWithTimeoutsTestCase(TestBase):
self.main_source_spec = lldb.SBFileSpec (self.main_source)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
"""Test calling std::String member function."""
self.buildDsym()
self.call_function()
@expectedFlakeyFreeBSD("llvm.org/pr19605")
@expectedFlakeyLinux("llvm.org/pr20275")
@expectedFailureWindows("llvm.org/pr21765")
@dwarf_test
def test_with_dwarf(self):
def test(self):
"""Test calling std::String member function."""
self.buildDwarf()
self.call_function()
self.build()
def call_function(self):
"""Test calling function with timeout."""
exe_name = "a.out"
exe = os.path.join(os.getcwd(), exe_name)

View File

@ -21,21 +21,9 @@ class ObjCTypeQueryTestCase(TestBase):
"// Set breakpoint here, then do 'expr (NSArray*)array_token'.")
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
"""The expression parser's type search should be wider than the current compilation unit."""
self.buildDsym()
self.type_query_from_other_cu()
@skipUnlessDarwin
@dwarf_test
def test_with_dwarf(self):
"""The expression parser's type search should be wider than the current compilation unit."""
self.buildDwarf()
self.type_query_from_other_cu()
def type_query_from_other_cu(self):
def test(self):
"""The expression parser's type search should be wider than the current compilation unit."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.run_break_set_by_file_and_line (self, "main.m", self.line, num_expected_locations=1, loc_exact=True)

View File

@ -13,6 +13,7 @@ class AbbreviationsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@expectedFlakeyFreeBSD("llvm.org/pr22611 thread race condition breaks prompt setting")
@no_debug_info_test
def test_command_abbreviations_and_aliases (self):
command_interpreter = self.dbg.GetCommandInterpreter()
self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)

View File

@ -13,6 +13,7 @@ class CommonShortSpellingsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@no_debug_info_test
def test_abbrevs2 (self):
command_interpreter = self.dbg.GetCommandInterpreter()
self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)

View File

@ -10,20 +10,17 @@ class BSDArchivesTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@expectedFailureWindows("llvm.org/pr24527") # Makefile.rules doesn't know how to build static libs on Windows.
def test_with_dwarf(self):
"""Break inside a() and b() defined within libfoo.a."""
self.buildDwarf()
self.break_inside_bsd_archives()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number in a(int) to break at.
self.line = line_number('a.c', '// Set file and line breakpoint inside a().')
def break_inside_bsd_archives(self):
@expectedFailureWindows("llvm.org/pr24527") # Makefile.rules doesn't know how to build static libs on Windows.
def test(self):
"""Break inside a() and b() defined within libfoo.a."""
self.build()
exe = os.path.join(os.getcwd(), "a.out")
self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)

View File

@ -16,23 +16,13 @@ class AsanTestCase(TestBase):
# may not have the debugging API which was recently added, so we're calling
# self.useBuiltClang() to use clang from the llvm-build directory instead
@dsym_test
@skipIfRemote
@skipUnlessCompilerRt
@skipUnlessDarwin
def test_with_dsym (self):
compiler = self.findBuiltClang ()
self.buildDsym (None, compiler)
self.asan_tests ()
@dwarf_test
@expectedFailureLinux # non-core functionality, need to reenable and fix later (DES 2014.11.07)
@skipIfFreeBSD # llvm.org/pr21136 runtimes not yet available by default
@skipIfRemote
@skipUnlessCompilerRt
def test_with_dwarf (self):
def test (self):
compiler = self.findBuiltClang ()
self.buildDwarf (None, compiler)
self.build (None, compiler)
self.asan_tests ()
def setUp(self):

View File

@ -17,23 +17,13 @@ class AsanTestReportDataCase(TestBase):
# may not have the debugging API which was recently added, so we're calling
# self.useBuiltClang() to use clang from the llvm-build directory instead
@dsym_test
@skipIfRemote
@skipUnlessCompilerRt
@skipUnlessDarwin
def test_with_dsym (self):
compiler = self.findBuiltClang ()
self.buildDsym (None, compiler)
self.asan_tests ()
@dwarf_test
@expectedFailureLinux # non-core functionality, need to reenable and fix later (DES 2014.11.07)
@skipIfFreeBSD # llvm.org/pr21136 runtimes not yet available by default
@skipIfRemote
@skipUnlessCompilerRt
def test_with_dwarf (self):
def test(self):
compiler = self.findBuiltClang ()
self.buildDwarf (None, compiler)
self.build (None, compiler)
self.asan_tests ()
def setUp(self):

View File

@ -14,17 +14,15 @@ class AttachResumeTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipIfRemote
@expectedFailureFreeBSD('llvm.org/pr19310')
@expectedFlakeyLinux('llvm.org/pr19310')
@expectedFailureWindows("llvm.org/pr24778")
@skipIfRemote
@dwarf_test
def test_attach_continue_interrupt_detach(self):
"""Test attach/continue/interrupt/detach"""
self.buildDwarf()
self.build()
self.process_attach_continue_interrupt_detach()
@skipIfRemote
def process_attach_continue_interrupt_detach(self):
"""Test attach/continue/interrupt/detach"""

View File

@ -32,7 +32,7 @@ class AvoidsFdLeakTestCase(TestBase):
self.do_test(["log enable -f '/dev/null' lldb commands"])
def do_test (self, commands):
self.buildDefault()
self.build()
exe = os.path.join (os.getcwd(), "a.out")
for c in commands:
@ -52,7 +52,7 @@ class AvoidsFdLeakTestCase(TestBase):
@skipIfWindows # The check for descriptor leakage needs to be implemented differently here.
@skipIfTargetAndroid() # Android have some other file descriptors open by the shell
def test_fd_leak_multitarget (self):
self.buildDefault()
self.build()
exe = os.path.join (os.getcwd(), "a.out")
target = self.dbg.CreateTarget(exe)

View File

@ -11,6 +11,7 @@ class BackticksWithNoTargetTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@no_debug_info_test
def test_backticks_no_target(self):
"""A simple test of backticks without a target."""
self.expect("print `1+2-3`",

View File

@ -18,19 +18,10 @@ class BreakpointCommandTestCase(TestBase):
cls.RemoveTempFile("output.txt")
cls.RemoveTempFile("output2.txt")
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
"""Test a sequence of breakpoint command add, list, and delete."""
self.buildDsym()
self.breakpoint_command_sequence()
self.breakpoint_command_script_parameters ()
@dwarf_test
@expectedFailureWindows("llvm.org/pr24528")
def test_with_dwarf(self):
def test(self):
"""Test a sequence of breakpoint command add, list, and delete."""
self.buildDwarf()
self.build()
self.breakpoint_command_sequence()
self.breakpoint_command_script_parameters ()

View File

@ -14,19 +14,10 @@ class PythonBreakpointCommandSettingTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
my_var = 10
@skipUnlessDarwin
@python_api_test
@dsym_test
def test_step_out_with_dsym_python(self):
def test_step_out_python(self):
"""Test stepping out using avoid-no-debug with dsyms."""
self.buildDsym()
self.do_set_python_command_from_python()
@python_api_test
@dwarf_test
def test_step_out_with_dwarf_python(self):
"""Test stepping out using avoid-no-debug with dsyms."""
self.buildDwarf()
self.build()
self.do_set_python_command_from_python ()
def setUp (self):

View File

@ -12,17 +12,9 @@ class RegexpBreakCommandTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
def test(self):
"""Test _regexp-break command."""
self.buildDsym()
self.regexp_break_command()
@dwarf_test
def test_with_dwarf(self):
"""Test _regexp-break command."""
self.buildDwarf()
self.build()
self.regexp_break_command()
def setUp(self):

View File

@ -12,48 +12,23 @@ class BreakpointConditionsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_breakpoint_condition_with_dsym_and_run_command(self):
@skipIfWindows # Requires EE to support COFF on Windows (http://llvm.org/pr22232)
def test_breakpoint_condition_and_run_command(self):
"""Exercise breakpoint condition with 'breakpoint modify -c <expr> id'."""
self.buildDsym()
self.build()
self.breakpoint_conditions()
@skipUnlessDarwin
@dsym_test
def test_breakpoint_condition_inline_with_dsym_and_run_command(self):
@skipIfWindows # Requires EE to support COFF on Windows (http://llvm.org/pr22232)
def test_breakpoint_condition_inline_and_run_command(self):
"""Exercise breakpoint condition inline with 'breakpoint set'."""
self.buildDsym()
self.build()
self.breakpoint_conditions(inline=True)
@skipUnlessDarwin
@skipIfWindows # Requires EE to support COFF on Windows (http://llvm.org/pr22232)
@python_api_test
@dsym_test
def test_breakpoint_condition_with_dsym_and_python_api(self):
def test_breakpoint_condition_and_python_api(self):
"""Use Python APIs to set breakpoint conditions."""
self.buildDsym()
self.breakpoint_conditions_python()
@dwarf_test
@skipIfWindows # Requires EE to support COFF on Windows (http://llvm.org/pr22232)
def test_breakpoint_condition_with_dwarf_and_run_command(self):
"""Exercise breakpoint condition with 'breakpoint modify -c <expr> id'."""
self.buildDwarf()
self.breakpoint_conditions()
@dwarf_test
@skipIfWindows # Requires EE to support COFF on Windows (http://llvm.org/pr22232)
def test_breakpoint_condition_inline_with_dwarf_and_run_command(self):
"""Exercise breakpoint condition inline with 'breakpoint set'."""
self.buildDwarf()
self.breakpoint_conditions(inline=True)
@python_api_test
@dwarf_test
@skipIfWindows # Requires EE to support COFF on Windows (http://llvm.org/pr22232)
def test_breakpoint_condition_with_dwarf_and_python_api(self):
"""Use Python APIs to set breakpoint conditions."""
self.buildDwarf()
self.build()
self.breakpoint_conditions_python()
def setUp(self):

View File

@ -12,18 +12,9 @@ class BreakpointIDTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym (self):
self.buildDsym ()
self.breakpoint_id_tests ()
def test (self):
self.build()
@dwarf_test
def test_with_dwarf (self):
self.buildDwarf ()
self.breakpoint_id_tests ()
def breakpoint_id_tests (self):
exe = os.path.join (os.getcwd(), "a.out")
self.expect("file " + exe,
patterns = [ "Current executable set to .*a.out" ])

View File

@ -12,32 +12,15 @@ class BreakpointIgnoreCountTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
def test_with_run_command(self):
"""Exercise breakpoint ignore count with 'breakpoint set -i <count>'."""
self.buildDsym()
self.breakpoint_ignore_count()
@skipUnlessDarwin
@python_api_test
@dsym_test
def test_with_dsym_and_python_api(self):
"""Use Python APIs to set breakpoint ignore count."""
self.buildDsym()
self.breakpoint_ignore_count_python()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Exercise breakpoint ignore count with 'breakpoint set -i <count>'."""
self.buildDwarf()
self.build()
self.breakpoint_ignore_count()
@python_api_test
@dwarf_test
def test_with_dwarf_and_python_api(self):
def test_with_python_api(self):
"""Use Python APIs to set breakpoint ignore count."""
self.buildDwarf()
self.build()
self.breakpoint_ignore_count_python()
def setUp(self):

View File

@ -12,18 +12,10 @@ class BreakpointLocationsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
"""Test breakpoint enable/disable for a breakpoint ID with multiple locations."""
self.buildDsym()
self.breakpoint_locations_test()
@dwarf_test
@expectedFailureWindows("llvm.org/pr24528")
def test_with_dwarf(self):
def test(self):
"""Test breakpoint enable/disable for a breakpoint ID with multiple locations."""
self.buildDwarf()
self.build()
self.breakpoint_locations_test()
def setUp(self):

View File

@ -12,17 +12,9 @@ class BreakpointOptionsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
def test(self):
"""Test breakpoint command for different options."""
self.buildDsym()
self.breakpoint_options_test()
@dwarf_test
def test_with_dwarf(self):
"""Test breakpoint command for different options."""
self.buildDwarf()
self.build()
self.breakpoint_options_test()
def setUp(self):

View File

@ -24,27 +24,24 @@ class CompDirSymLinkTestCase(TestBase):
self.line = line_number(_SRC_FILE, '// Set break point at this line.')
self.src_path = os.path.join(os.getcwd(), _SRC_FILE)
@dwarf_test
@skipIfHostWindows
def test_symlink_paths_set(self):
pwd_symlink = self.create_src_symlink()
self.build(pwd_symlink)
self.doBuild(pwd_symlink)
self.runCmd("settings set %s %s" % (_COMP_DIR_SYM_LINK_PROP, pwd_symlink))
lldbutil.run_break_set_by_file_and_line(self, self.src_path, self.line)
@dwarf_test
@skipUnlessHostLinux
def test_symlink_paths_set_procselfcwd(self):
pwd_symlink = '/proc/self/cwd'
self.build(pwd_symlink)
self.doBuild(pwd_symlink)
self.runCmd("settings set %s %s" % (_COMP_DIR_SYM_LINK_PROP, pwd_symlink))
lldbutil.run_break_set_by_file_and_line(self, self.src_path, self.line)
@dwarf_test
@skipIfHostWindows
def test_symlink_paths_unset(self):
pwd_symlink = self.create_src_symlink()
self.build(pwd_symlink)
self.doBuild(pwd_symlink)
self.runCmd('settings clear ' + _COMP_DIR_SYM_LINK_PROP)
self.assertRaises(AssertionError, lldbutil.run_break_set_by_file_and_line, self, self.src_path, self.line)
@ -54,8 +51,8 @@ class CompDirSymLinkTestCase(TestBase):
self.addTearDownHook(lambda: os.remove(pwd_symlink))
return pwd_symlink
def build(self, pwd_symlink):
self.buildDwarf(None, None, {'PWD': pwd_symlink}, True)
def doBuild(self, pwd_symlink):
self.build(None, None, {'PWD': pwd_symlink}, True)
exe = os.path.join(os.getcwd(), _EXE_NAME)
self.runCmd('file ' + exe, CURRENT_EXECUTABLE_SET)

View File

@ -10,17 +10,9 @@ class ConsecutiveBreakpoitsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
@unittest2.expectedFailure("llvm.org/pr23478")
def test_with_dsym (self):
self.buildDsym ()
self.consecutive_breakpoints_tests()
@dwarf_test
@unittest2.expectedFailure("llvm.org/pr23478")
def test_with_dwarf (self):
self.buildDwarf ()
def test (self):
self.build ()
self.consecutive_breakpoints_tests()
def consecutive_breakpoints_tests(self):

View File

@ -12,16 +12,9 @@ class TestCPPBreakpointLocations(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym (self):
self.buildDsym ()
self.breakpoint_id_tests ()
@dwarf_test
@expectedFailureWindows("llvm.org/pr24764")
def test_with_dwarf (self):
self.buildDwarf ()
def test (self):
self.build ()
self.breakpoint_id_tests ()
def verify_breakpoint_locations(self, target, bp_dict):

View File

@ -14,20 +14,11 @@ class TestCPPExceptionBreakpoint (TestBase):
mydir = TestBase.compute_mydir(__file__)
my_var = 10
@skipUnlessDarwin
@python_api_test
@dsym_test
def test_cpp_exception_breakpoint (self):
"""Test setting and hitting the C++ exception breakpoint."""
self.buildDsym()
self.do_cpp_exception_bkpt ()
@python_api_test
@expectedFailureWindows("llvm.org/pr24538") # clang-cl does not support throw or catch
@dwarf_test
def test_cpp_exception_breakpoint_with_dwarf(self):
def test_cpp_exception_breakpoint(self):
"""Test setting and hitting the C++ exception breakpoint."""
self.buildDwarf()
self.build()
self.do_cpp_exception_bkpt ()
def setUp (self):

View File

@ -12,17 +12,9 @@ class BreakpointInDummyTarget (TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
def test(self):
"""Test breakpoint set before we have a target. """
self.buildDsym()
self.dummy_breakpoint_test()
@dwarf_test
def test_with_dwarf(self):
"""Test breakpoint set before we have a target. """
self.buildDwarf()
self.build()
self.dummy_breakpoint_test()
def setUp(self):

View File

@ -14,17 +14,9 @@ class InlinedBreakpointsTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
def test_with_run_command(self):
"""Test 'b basic_types.cpp:176' does break (where int.cpp includes basic_type.cpp)."""
self.buildDsym()
self.inlined_breakpoints()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test 'b basic_types.cpp:176' does break (where int.cpp includes basic_type.cpp)."""
self.buildDwarf()
self.build()
self.inlined_breakpoints()
def setUp(self):

View File

@ -16,17 +16,9 @@ class TestObjCBreakpoints(TestBase):
mydir = TestBase.compute_mydir(__file__)
@dsym_test
def test_break_with_dsym(self):
"""Test setting Objective C specific breakpoints (dSYM)."""
self.buildDsym()
self.setTearDownCleanup()
self.check_objc_breakpoints(True)
@dwarf_test
def test_break_with_dwarf(self):
def test_break(self):
"""Test setting Objective C specific breakpoints (DWARF in .o files)."""
self.buildDwarf()
self.build()
self.setTearDownCleanup()
self.check_objc_breakpoints(False)

View File

@ -11,6 +11,7 @@ class CommandHistoryTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@no_debug_info_test
def test_history(self):
self.runCmd('command history --clear', inHistory=False)
self.runCmd('breakpoint list', check=False, inHistory=True) #0

View File

@ -12,6 +12,7 @@ class CommandRegexTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@expectedFailureHostWindows("llvm.org/pr22274: need a pexpect replacement for windows")
@no_debug_info_test
def test_command_regex(self):
"""Test a simple scenario of 'command regex' invocation and subsequent use."""
import pexpect

View File

@ -11,15 +11,8 @@ class CmdPythonTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym (self):
self.buildDsym ()
self.pycmd_tests ()
@dwarf_test
def test_with_dwarf (self):
self.buildDwarf ()
def test (self):
self.build ()
self.pycmd_tests ()
def pycmd_tests (self):

View File

@ -10,6 +10,7 @@ class ImportTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@python_api_test
@no_debug_info_test
def test_import_command(self):
"""Import some Python scripts by path and test them"""
self.run_test()

View File

@ -10,6 +10,7 @@ class Rdar12586188TestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@python_api_test
@no_debug_info_test
def test_rdar12586188_command(self):
"""Check that we handle an ImportError in a special way when command script importing files."""
self.run_test()

View File

@ -13,6 +13,7 @@ class CommandSourceTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@no_debug_info_test
def test_command_source(self):
"""Test that lldb command "command source" works correctly."""

View File

@ -22,18 +22,21 @@ class CommandLineCompletionTestCase(TestBase):
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_at(self):
"""Test that 'at' completes to 'attach '."""
self.complete_from_to('at', 'attach ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_de(self):
"""Test that 'de' completes to 'detach '."""
self.complete_from_to('de', 'detach ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_process_attach_dash_dash_con(self):
"""Test that 'process attach --con' completes to 'process attach --continue '."""
self.complete_from_to('process attach --con', 'process attach --continue ')
@ -41,6 +44,7 @@ class CommandLineCompletionTestCase(TestBase):
# <rdar://problem/11052829>
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_infinite_loop_while_completing(self):
"""Test that 'process print hello\' completes to itself and does not infinite loop."""
self.complete_from_to('process print hello\\', 'process print hello\\',
@ -48,126 +52,147 @@ class CommandLineCompletionTestCase(TestBase):
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_co(self):
"""Test that 'watchpoint co' completes to 'watchpoint command '."""
self.complete_from_to('watchpoint co', 'watchpoint command ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_command_space(self):
"""Test that 'watchpoint command ' completes to ['Available completions:', 'add', 'delete', 'list']."""
self.complete_from_to('watchpoint command ', ['Available completions:', 'add', 'delete', 'list'])
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_command_a(self):
"""Test that 'watchpoint command a' completes to 'watchpoint command add '."""
self.complete_from_to('watchpoint command a', 'watchpoint command add ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_set_variable_dash_w(self):
"""Test that 'watchpoint set variable -w' completes to 'watchpoint set variable -w '."""
self.complete_from_to('watchpoint set variable -w', 'watchpoint set variable -w ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_set_variable_dash_w_space(self):
"""Test that 'watchpoint set variable -w ' completes to ['Available completions:', 'read', 'write', 'read_write']."""
self.complete_from_to('watchpoint set variable -w ', ['Available completions:', 'read', 'write', 'read_write'])
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_set_ex(self):
"""Test that 'watchpoint set ex' completes to 'watchpoint set expression '."""
self.complete_from_to('watchpoint set ex', 'watchpoint set expression ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_set_var(self):
"""Test that 'watchpoint set var' completes to 'watchpoint set variable '."""
self.complete_from_to('watchpoint set var', 'watchpoint set variable ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_watchpoint_set_variable_dash_w_read_underbar(self):
"""Test that 'watchpoint set variable -w read_' completes to 'watchpoint set variable -w read_write'."""
self.complete_from_to('watchpoint set variable -w read_', 'watchpoint set variable -w read_write')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_help_fi(self):
"""Test that 'help fi' completes to ['Available completions:', 'file', 'finish']."""
self.complete_from_to('help fi', ['Available completions:', 'file', 'finish'])
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_help_watchpoint_s(self):
"""Test that 'help watchpoint s' completes to 'help watchpoint set '."""
self.complete_from_to('help watchpoint s', 'help watchpoint set ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_append_target_er(self):
"""Test that 'settings append target.er' completes to 'settings append target.error-path'."""
self.complete_from_to('settings append target.er', 'settings append target.error-path')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_insert_after_target_en(self):
"""Test that 'settings insert-after target.env' completes to 'settings insert-after target.env-vars'."""
self.complete_from_to('settings insert-after target.env', 'settings insert-after target.env-vars')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_insert_before_target_en(self):
"""Test that 'settings insert-before target.env' completes to 'settings insert-before target.env-vars'."""
self.complete_from_to('settings insert-before target.env', 'settings insert-before target.env-vars')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_replace_target_ru(self):
"""Test that 'settings replace target.ru' completes to 'settings replace target.run-args'."""
self.complete_from_to('settings replace target.ru', 'settings replace target.run-args')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_s(self):
"""Test that 'settings s' completes to ['Available completions:', 'set', 'show']."""
self.complete_from_to('settings s', ['Available completions:', 'set', 'show'])
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_set_th(self):
"""Test that 'settings set th' completes to 'settings set thread-format'."""
self.complete_from_to('settings set th', 'settings set thread-format')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_s_dash(self):
"""Test that 'settings set -' completes to 'settings set -g'."""
self.complete_from_to('settings set -', 'settings set -g')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_clear_th(self):
"""Test that 'settings clear th' completes to 'settings clear thread-format'."""
self.complete_from_to('settings clear th', 'settings clear thread-format')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_set_ta(self):
"""Test that 'settings set ta' completes to 'settings set target.'."""
self.complete_from_to('settings set ta', 'settings set target.')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_set_target_exec(self):
"""Test that 'settings set target.exec' completes to 'settings set target.exec-search-paths '."""
self.complete_from_to('settings set target.exec', 'settings set target.exec-search-paths')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_set_target_pr(self):
"""Test that 'settings set target.pr' completes to ['Available completions:',
'target.prefer-dynamic-value', 'target.process.']."""
@ -178,18 +203,21 @@ class CommandLineCompletionTestCase(TestBase):
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_set_target_process(self):
"""Test that 'settings set target.process' completes to 'settings set target.process.'."""
self.complete_from_to('settings set target.process', 'settings set target.process.')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_set_target_process_dot(self):
"""Test that 'settings set target.process.t' completes to 'settings set target.process.thread.'."""
self.complete_from_to('settings set target.process.t', 'settings set target.process.thread.')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_settings_set_target_process_thread_dot(self):
"""Test that 'settings set target.process.thread.' completes to ['Available completions:',
'target.process.thread.step-avoid-regexp', 'target.process.thread.trace-thread']."""
@ -200,6 +228,7 @@ class CommandLineCompletionTestCase(TestBase):
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_target_space(self):
"""Test that 'target ' completes to ['Available completions:', 'create', 'delete', 'list',
'modules', 'select', 'stop-hook', 'variable']."""
@ -209,29 +238,21 @@ class CommandLineCompletionTestCase(TestBase):
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_target_create_dash_co(self):
"""Test that 'target create --co' completes to 'target variable --core '."""
self.complete_from_to('target create --co', 'target create --core ')
@expectedFailureHostWindows("llvm.org/pr24679")
@skipIfFreeBSD # timing out on the FreeBSD buildbot
@no_debug_info_test
def test_target_va(self):
"""Test that 'target va' completes to 'target variable '."""
self.complete_from_to('target va', 'target variable ')
@skipUnlessDarwin
@dsym_test
def test_symbol_name_dsym(self):
self.buildDsym()
self.complete_from_to('''file a.out
breakpoint set -n Fo''',
'breakpoint set -n Foo::Bar(int,\\ int)',
turn_off_re_match=True)
@expectedFailureHostWindows("llvm.org/pr24679")
@dwarf_test
def test_symbol_name_dwarf(self):
self.buildDwarf()
def test_symbol_name(self):
self.build()
self.complete_from_to('''file a.out
breakpoint set -n Fo''',
'breakpoint set -n Foo::Bar(int,\\ int)',

View File

@ -17,33 +17,16 @@ class ConditionalBreakTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@python_api_test
@dsym_test
def test_with_dsym_python(self):
"""Exercise some thread and frame APIs to break if c() is called by a()."""
self.buildDsym()
self.do_conditional_break()
@expectedFailureWindows("llvm.org/pr24778")
@python_api_test
@dwarf_test
def test_with_dwarf_python(self):
def test_with_python(self):
"""Exercise some thread and frame APIs to break if c() is called by a()."""
self.buildDwarf()
self.build()
self.do_conditional_break()
@skipUnlessDarwin
@dsym_test
def test_with_dsym_command(self):
def test_with_command(self):
"""Simulate a user using lldb commands to break on c() if called from a()."""
self.buildDsym()
self.simulate_conditional_break_by_user()
@dwarf_test
def test_with_dwarf_command(self):
"""Simulate a user using lldb commands to break on c() if called from a()."""
self.buildDwarf()
self.build()
self.simulate_conditional_break_by_user()
def do_conditional_break(self):

View File

@ -16,6 +16,7 @@ class ConnectRemoteTestCase(TestBase):
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows")
@expectedFailureLinux("llvm.org/pr23475") # Test occasionally times out on the Linux build bot
@skipIfLinux # Test occasionally times out on the Linux build bot
@no_debug_info_test
def test_connect_remote(self):
"""Test "process connect connect:://localhost:[port]"."""

View File

@ -14,17 +14,9 @@ class DataFormatterBoolRefPtr(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_boolrefptr_with_dsym_and_run_command(self):
def test_boolrefptr_with_run_command(self):
"""Test the formatters we use for BOOL& and BOOL* in Objective-C."""
self.buildDsym()
self.boolrefptr_data_formatter_commands()
@skipUnlessDarwin
@dwarf_test
def test_boolrefptr_with_dwarf_and_run_command(self):
"""Test the formatters we use for BOOL& and BOOL* in Objective-C."""
self.buildDwarf()
self.build()
self.boolrefptr_data_formatter_commands()
def setUp(self):

View File

@ -12,28 +12,16 @@ class CompactVectorsFormattingTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipUnlessDarwin
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@skipUnlessDarwin
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -12,27 +12,15 @@ class AdvDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -12,27 +12,15 @@ class CategoriesDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -12,28 +12,16 @@ class CppDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
@expectedFailureWindows("llvm.org/pr24462") # Data formatters have problems on Windows
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@expectedFailureWindows("llvm.org/pr24462") # Data formatters have problems on Windows
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -12,28 +12,16 @@ class DataFormatterDisablingTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
@expectedFailureWindows("llvm.org/pr24462") # Data formatters have problems on Windows
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@expectedFailureWindows("llvm.org/pr24462") # Data formatters have problems on Windows
def test_with_run_command(self):
"""Check that we can properly disable all data formatter categories."""
self.build()
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)

View File

@ -12,27 +12,15 @@ class EnumFormatTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -12,27 +12,15 @@ class GlobalsDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -12,27 +12,15 @@ class NamedSummariesDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -15,180 +15,81 @@ class ObjCDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_plain_objc_with_dsym_and_run_command(self):
def test_plain_objc_with_run_command(self):
"""Test basic ObjC formatting behavior."""
self.buildDsym()
self.build()
self.plain_data_formatter_commands()
@skipUnlessDarwin
@dwarf_test
def test_plain_objc_with_dwarf_and_run_command(self):
"""Test basic ObjC formatting behavior."""
self.buildDwarf()
self.plain_data_formatter_commands()
def appkit_tester_impl(self,builder,commands):
builder()
def appkit_tester_impl(self,commands):
self.build()
self.appkit_common_data_formatters_command()
commands()
@skipUnlessDarwin
@dsym_test
def test_nsnumber_with_dsym_and_run_command(self):
def test_nsnumber_with_run_command(self):
"""Test formatters for NSNumber."""
self.appkit_tester_impl(self.buildDsym,self.nsnumber_data_formatter_commands)
self.appkit_tester_impl(self.nsnumber_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsnumber_with_dwarf_and_run_command(self):
"""Test formatters for NSNumber."""
self.appkit_tester_impl(self.buildDwarf,self.nsnumber_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nscontainers_with_dsym_and_run_command(self):
"""Test formatters for NS container classes."""
self.appkit_tester_impl(self.buildDsym,self.nscontainers_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nscontainers_with_dwarf_and_run_command(self):
def test_nscontainers_with_run_command(self):
"""Test formatters for NS container classes."""
self.appkit_tester_impl(self.buildDwarf,self.nscontainers_data_formatter_commands)
self.appkit_tester_impl(self.nscontainers_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nsdata_with_dsym_and_run_command(self):
"""Test formatters for NSData."""
self.appkit_tester_impl(self.buildDsym,self.nsdata_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsdata_with_dwarf_and_run_command(self):
def test_nsdata_with_run_command(self):
"""Test formatters for NSData."""
self.appkit_tester_impl(self.buildDwarf,self.nsdata_data_formatter_commands)
self.appkit_tester_impl(self.nsdata_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nsurl_with_dsym_and_run_command(self):
def test_nsurl_with_run_command(self):
"""Test formatters for NSURL."""
self.appkit_tester_impl(self.buildDsym,self.nsurl_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsurl_with_dwarf_and_run_command(self):
"""Test formatters for NSURL."""
self.appkit_tester_impl(self.buildDwarf,self.nsurl_data_formatter_commands)
self.appkit_tester_impl(self.nsurl_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nserror_with_dsym_and_run_command(self):
def test_nserror_with_run_command(self):
"""Test formatters for NSError."""
self.appkit_tester_impl(self.buildDsym,self.nserror_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nserror_with_dwarf_and_run_command(self):
"""Test formatters for NSError."""
self.appkit_tester_impl(self.buildDwarf,self.nserror_data_formatter_commands)
self.appkit_tester_impl(self.nserror_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nsbundle_with_dsym_and_run_command(self):
def test_nsbundle_with_run_command(self):
"""Test formatters for NSBundle."""
self.appkit_tester_impl(self.buildDsym,self.nsbundle_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsbundle_with_dwarf_and_run_command(self):
"""Test formatters for NSBundle."""
self.appkit_tester_impl(self.buildDwarf,self.nsbundle_data_formatter_commands)
self.appkit_tester_impl(self.nsbundle_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nsexception_with_dsym_and_run_command(self):
def test_nsexception_with_run_command(self):
"""Test formatters for NSException."""
self.appkit_tester_impl(self.buildDsym,self.nsexception_data_formatter_commands)
self.appkit_tester_impl(self.nsexception_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsexception_with_dwarf_and_run_command(self):
"""Test formatters for NSException."""
self.appkit_tester_impl(self.buildDwarf,self.nsexception_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nsmisc_with_dsym_and_run_command(self):
def test_nsmisc_with_run_command(self):
"""Test formatters for misc NS classes."""
self.appkit_tester_impl(self.buildDsym,self.nsmisc_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsmisc_with_dwarf_and_run_command(self):
"""Test formatters for misc NS classes."""
self.appkit_tester_impl(self.buildDwarf,self.nsmisc_data_formatter_commands)
self.appkit_tester_impl(self.nsmisc_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_nsdate_with_dsym_and_run_command(self):
def test_nsdate_with_run_command(self):
"""Test formatters for NSDate."""
self.appkit_tester_impl(self.buildDsym,self.nsdate_data_formatter_commands)
self.appkit_tester_impl(self.nsdate_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsdate_with_dwarf_and_run_command(self):
"""Test formatters for NSDate."""
self.appkit_tester_impl(self.buildDwarf,self.nsdate_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_coreframeworks_with_dsym_and_run_command(self):
def test_coreframeworks_and_run_command(self):
"""Test formatters for Core OSX frameworks."""
self.buildDsym()
self.build()
self.cf_data_formatter_commands()
@skipUnlessDarwin
@dwarf_test
def test_coreframeworks_with_dwarf_and_run_command(self):
"""Test formatters for Core OSX frameworks."""
self.buildDwarf()
self.cf_data_formatter_commands()
@skipUnlessDarwin
@dsym_test
def test_kvo_with_dsym_and_run_command(self):
def test_kvo_with_run_command(self):
"""Test the behavior of formatters when KVO is in use."""
self.buildDsym()
self.build()
self.kvo_data_formatter_commands()
@skipUnlessDarwin
@dwarf_test
def test_kvo_with_dwarf_and_run_command(self):
"""Test the behavior of formatters when KVO is in use."""
self.buildDwarf()
self.kvo_data_formatter_commands()
@skipUnlessDarwin
@dsym_test
def test_expr_with_dsym_and_run_command(self):
def test_expr_with_run_command(self):
"""Test common cases of expression parser <--> formatters interaction."""
self.buildDsym()
self.expr_objc_data_formatter_commands()
@skipUnlessDarwin
@dwarf_test
def test_expr_with_dwarf_and_run_command(self):
"""Test common cases of expression parser <--> formatters interaction."""
self.buildDwarf()
self.build()
self.expr_objc_data_formatter_commands()
def setUp(self):

View File

@ -14,8 +14,8 @@ class NSStringDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
def appkit_tester_impl(self,builder,commands):
builder()
def appkit_tester_impl(self,commands):
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.run_break_set_by_file_and_line (self, "main.m", self.line, num_expected_locations=1, loc_exact=True)
@ -40,40 +40,19 @@ class NSStringDataFormatterTestCase(TestBase):
commands()
@skipUnlessDarwin
@dsym_test
def test_nsstring_with_dsym_and_run_command(self):
def test_nsstring_with_run_command(self):
"""Test formatters for NSString."""
self.appkit_tester_impl(self.buildDsym,self.nsstring_data_formatter_commands)
self.appkit_tester_impl(self.nsstring_data_formatter_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsstring_with_dwarf_and_run_command(self):
"""Test formatters for NSString."""
self.appkit_tester_impl(self.buildDwarf,self.nsstring_data_formatter_commands)
@skipUnlessDarwin
@dsym_test
def test_rdar11106605_with_dsym_and_run_command(self):
def test_rdar11106605_with_run_command(self):
"""Check that Unicode characters come out of CFString summary correctly."""
self.appkit_tester_impl(self.buildDsym,self.rdar11106605_commands)
self.appkit_tester_impl(self.rdar11106605_commands)
@skipUnlessDarwin
@dwarf_test
def test_rdar11106605_with_dwarf_and_run_command(self):
"""Check that Unicode characters come out of CFString summary correctly."""
self.appkit_tester_impl(self.buildDwarf,self.rdar11106605_commands)
@skipUnlessDarwin
@dsym_test
def test_nsstring_withNULs_with_dsym_and_run_command(self):
def test_nsstring_withNULS_with_run_command(self):
"""Test formatters for NSString."""
self.appkit_tester_impl(self.buildDsym,self.nsstring_withNULs_commands)
@skipUnlessDarwin
@dwarf_test
def test_nsstring_withNULS_with_dwarf_and_run_command(self):
"""Test formatters for NSString."""
self.appkit_tester_impl(self.buildDwarf,self.nsstring_withNULs_commands)
self.appkit_tester_impl(self.nsstring_withNULs_commands)
def setUp(self):

View File

@ -14,17 +14,9 @@ class DataFormatterOneIsSingularTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_one_is_singular_with_dsym_and_run_command(self):
def test_one_is_singular_with_run_command(self):
"""Test that 1 item is not as reported as 1 items."""
self.buildDsym()
self.oneness_data_formatter_commands()
@skipUnlessDarwin
@dwarf_test
def test_one_is_singular_with_dwarf_and_run_command(self):
"""Test that 1 item is not as reported as 1 items."""
self.buildDwarf()
self.build()
self.oneness_data_formatter_commands()
def setUp(self):

View File

@ -12,17 +12,9 @@ class PtrToArrayDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
def test_with_run_command(self):
"""Test that LLDB handles the clang typeclass Paren correctly."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test that LLDB handles the clang typeclass Paren correctly."""
self.buildDwarf()
self.build()
self.data_formatter_commands()
def setUp(self):

View File

@ -12,31 +12,15 @@ class PythonSynthDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfFreeBSD # llvm.org/pr20545 bogus output confuses buildbot parser
@dwarf_test
def test_with_dwarf_and_run_command(self):
def test_with_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.build()
self.data_formatter_commands()
@skipUnlessDarwin
@dsym_test
def test_rdar10960550_with_dsym_and_run_command(self):
def test_rdar10960550_with_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.rdar10960550_formatter_commands()
@dwarf_test
def test_rdar10960550_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.build()
self.rdar10960550_formatter_commands()

View File

@ -12,17 +12,9 @@ class ScriptDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
def test_with_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.build()
self.data_formatter_commands()
def setUp(self):

View File

@ -12,19 +12,11 @@ class SkipSummaryDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@expectedFailureFreeBSD("llvm.org/pr20548") # fails to build on lab.llvm.org buildbot
@expectedFailureWindows("llvm.org/pr24462") # Data formatters have problems on Windows
@dwarf_test
def test_with_dwarf_and_run_command(self):
def test_with_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.build()
self.data_formatter_commands()
def setUp(self):

View File

@ -12,18 +12,10 @@ class SmartArrayDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
@expectedFailureWindows("llvm.org/pr24462") # Data formatters have problems on Windows
def test_with_dwarf_and_run_command(self):
def test_with_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.build()
self.data_formatter_commands()
def setUp(self):

View File

@ -12,28 +12,12 @@ class InitializerListTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfWindows # libc++ not ported to Windows yet
@skipIfGcc
@expectedFailureLinux # fails on clang 3.5 and tot
@dwarf_test
def test_with_dwarf(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
def data_formatter_commands(self):
def test(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,29 +12,17 @@ class LibcxxIteratorDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
def test_with_run_command(self):
"""Test that libc++ iterators format properly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,21 +12,6 @@ class LibcxxListDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
@ -36,8 +21,11 @@ class LibcxxListDataFormatterTestCase(TestBase):
self.line3 = line_number('main.cpp', '// Set third break point at this line.')
self.line4 = line_number('main.cpp', '// Set fourth break point at this line.')
def data_formatter_commands(self):
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,27 +12,11 @@ class LibcxxMapDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,27 +12,11 @@ class LibcxxMultiMapDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfWindows # libc++ not ported to Windows yet
@skipIfGcc
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,27 +12,11 @@ class LibcxxMultiSetDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,27 +12,11 @@ class LibcxxSetDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -13,29 +13,17 @@ class LibcxxStringDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,31 +12,11 @@ class LibcxxUnorderedDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
@skipIfWindows # libc++ not ported to Windows yet
@skipIfGcc
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
def look_for_content_and_continue(self, var_name, patterns):
self.expect( ("frame variable %s" % var_name), patterns=patterns)
self.runCmd("continue")
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))
@ -87,6 +67,10 @@ class LibcxxUnorderedDataFormatterTestCase(TestBase):
['size=5 {', '(\[\d\] = "is"(\\n|.)+){2}',
'(\[\d\] = "world"(\\n|.)+){2}'])
def look_for_content_and_continue(self, var_name, patterns):
self.expect( ("frame variable %s" % var_name), patterns=patterns)
self.runCmd("continue")
if __name__ == '__main__':
import atexit
lldb.SBDebugger.Initialize()

View File

@ -12,29 +12,17 @@ class LibcxxVBoolDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows.
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows.
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,27 +12,11 @@ class LibcxxVectorDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@skipIfGcc
@skipIfWindows # libc++ not ported to Windows yet
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
def data_formatter_commands(self):
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.skip_if_library_missing(self, self.target(), lldbutil.PrintableRegex("libc\+\+"))

View File

@ -12,30 +12,18 @@ class StdIteratorDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
@skipIfWindows # libstdcpp not ported to Windows
@expectedFailureFreeBSD("llvm.org/pr20548") # fails to build on lab.llvm.org buildbot
@expectedFailureIcc # llvm.org/pr15301 LLDB prints incorrect sizes of STL containers
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@skipIfWindows # libstdcpp not ported to Windows
@expectedFailureFreeBSD("llvm.org/pr20548") # fails to build on lab.llvm.org buildbot
@expectedFailureIcc # llvm.org/pr15301 LLDB prints incorrect sizes of STL containers
def test_with_run_command(self):
"""Test that libstdcpp iterators format properly."""
self.build()
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)

View File

@ -12,21 +12,6 @@ class StdListDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@dwarf_test
@skipIfWindows # libstdcpp not ported to Windows
@expectedFailureFreeBSD("llvm.org/pr20548") # fails to build on lab.llvm.org buildbot
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
@ -35,8 +20,11 @@ class StdListDataFormatterTestCase(TestBase):
self.optional_line = line_number('main.cpp', '// Optional break point at this line.')
self.final_line = line_number('main.cpp', '// Set final break point at this line.')
def data_formatter_commands(self):
@skipIfWindows # libstdcpp not ported to Windows
@expectedFailureFreeBSD("llvm.org/pr20548") # fails to build on lab.llvm.org buildbot
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

View File

@ -12,30 +12,18 @@ class StdMapDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@expectedFailureIcc # llvm.org/pr15301: LLDB prints incorrect size of libstdc++ containers
@skipIfWindows # libstdcpp not ported to Windows
@skipIfFreeBSD
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@expectedFailureIcc # llvm.org/pr15301: LLDB prints incorrect size of libstdc++ containers
@skipIfWindows # libstdcpp not ported to Windows
@skipIfFreeBSD
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
self.runCmd("file a.out", CURRENT_EXECUTABLE_SET)
lldbutil.run_break_set_by_source_regexp (self, "Set break point at this line.")

View File

@ -13,29 +13,17 @@ class StdStringDataFormatterTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@dsym_test
def test_with_dsym_and_run_command(self):
"""Test data formatter commands."""
self.buildDsym()
self.data_formatter_commands()
@expectedFailureFreeBSD("llvm.org/pr20548") # fails to build on lab.llvm.org buildbot
@skipIfWindows # libstdcpp not ported to Windows
@dwarf_test
def test_with_dwarf_and_run_command(self):
"""Test data formatter commands."""
self.buildDwarf()
self.data_formatter_commands()
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number('main.cpp', '// Set break point at this line.')
def data_formatter_commands(self):
@expectedFailureFreeBSD("llvm.org/pr20548") # fails to build on lab.llvm.org buildbot
@skipIfWindows # libstdcpp not ported to Windows
def test_with_run_command(self):
"""Test that that file and class static variables display correctly."""
self.build()
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)

Some files were not shown because too many files have changed in this diff Show More