diff options
author | Jim Ingham <jingham@apple.com> | 2016-09-30 22:55:57 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2016-09-30 22:55:57 +0000 |
commit | 57ec60a842c491480d159bec139e146a4ea07e74 (patch) | |
tree | 2fd40462fe331ac106622a4879de5508f89f1af6 /lldb/packages/Python/lldbsuite/test | |
parent | 591390284f70b14fbd2f017c50c08785de170c61 (diff) | |
download | bcm5719-llvm-57ec60a842c491480d159bec139e146a4ea07e74.tar.gz bcm5719-llvm-57ec60a842c491480d159bec139e146a4ea07e74.zip |
Fix up the test so it gets closer to passing.
Remove the test for thread stopped states from this test.
That isn't set properly now, and its setting doesn't matter till we actually support non-stop debugging, so
we shouldn't have unrelated tests failing from it.
Also changed some code that was trying and failing to grub command line output, and replaced
it by SB API calls.
llvm-svn: 282976
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py | 51 |
1 files changed, 11 insertions, 40 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py b/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py index 73c6f7e7b2a..f6d6197e1f1 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/thread/create_during_step/TestCreateDuringStep.py @@ -60,7 +60,7 @@ class CreateDuringStepTestCase(TestBase): bugnumber="llvm.org/pr15824 thread states not properly maintained") @expectedFailureAll( oslist=lldbplatformutil.getDarwinOSTriples(), - bugnumber="llvm.org/pr15824 thread states not properly maintained, <rdar://problem/28557237>") + bugnumber="<rdar://problem/28574077>") @expectedFailureAll( oslist=["freebsd"], bugnumber="llvm.org/pr18190 thread states not properly maintained") @@ -86,30 +86,21 @@ class CreateDuringStepTestCase(TestBase): exe = os.path.join(os.getcwd(), "a.out") self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) - # This should create a breakpoint in the stepping thread. - self.bp_num = lldbutil.run_break_set_by_file_and_line( - self, "main.cpp", self.breakpoint, num_expected_locations=1) + # Get the target process + target = self.dbg.GetSelectedTarget() - # The breakpoint list should show 1 location. - self.expect( - "breakpoint list -f", - "Breakpoint location shown correctly", - substrs=[ - "1: file = 'main.cpp', line = %d, locations = 1" % - self.breakpoint]) + # This should create a breakpoint in the stepping thread. + self.bkpt = target.BreakpointCreateByLocation("main.cpp", self.breakpoint) # Run the program. self.runCmd("run", RUN_SUCCEEDED) - # The stop reason of the thread should be breakpoint. - self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT, - substrs=['stopped', - 'stop reason = breakpoint']) - - # Get the target process - target = self.dbg.GetSelectedTarget() process = target.GetProcess() + # The stop reason of the thread should be breakpoint. + stepping_thread = lldbutil.get_one_thread_stopped_at_breakpoint(process, self.bkpt) + self.assertTrue(stepping_thread.IsValid(), "We stopped at the right breakpoint") + # Get the number of threads num_threads = process.GetNumThreads() @@ -122,25 +113,6 @@ class CreateDuringStepTestCase(TestBase): thread1 = process.GetThreadAtIndex(0) thread2 = process.GetThreadAtIndex(1) - # Make sure both threads are stopped - self.assertTrue( - thread1.IsStopped(), - "Thread 1 didn't stop during breakpoint") - self.assertTrue( - thread2.IsStopped(), - "Thread 2 didn't stop during breakpoint") - - # Find the thread that is stopped at the breakpoint - stepping_thread = None - for thread in process: - expected_bp_desc = "breakpoint %s." % self.bp_num - if expected_bp_desc in thread.GetStopDescription(100): - stepping_thread = thread - break - self.assertTrue( - stepping_thread is not None, - "unable to find thread stopped at %s" % - expected_bp_desc) current_line = self.breakpoint # Keep stepping until we've reached our designated continue point while current_line != self.continuepoint: @@ -170,9 +142,8 @@ class CreateDuringStepTestCase(TestBase): num_threads == 3, 'Number of expected threads and actual threads do not match after thread exit.') - self.expect("thread list", 'Process state is stopped due to step', - substrs=['stopped', - step_stop_reason]) + stop_reason = stepping_thread.GetStopReason() + self.assertEqual(stop_reason, lldb.eStopReasonPlanComplete, "Stopped for plan completion") # Run to completion self.runCmd("process continue") |