Author: jingham Date: Fri Nov 13 16:19:08 2015 New Revision: 253094 URL: http://llvm.org/viewvc/llvm-project?rev=253094&view=rev Log: Change the test to use the instruction list to get the consecutive addresses to break on. Rerunning was being foiled by ASLR.
Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoins/TestConsecutiveBreakpoints.py Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoins/TestConsecutiveBreakpoints.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoins/TestConsecutiveBreakpoints.py?rev=253094&r1=253093&r2=253094&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoins/TestConsecutiveBreakpoints.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoins/TestConsecutiveBreakpoints.py Fri Nov 13 16:19:08 2015 @@ -19,7 +19,7 @@ class ConsecutiveBreakpoitsTestCase(Test def test (self): self.build () self.consecutive_breakpoints_tests() - + def consecutive_breakpoints_tests(self): exe = os.path.join (os.getcwd(), "a.out") @@ -40,24 +40,15 @@ class ConsecutiveBreakpoitsTestCase(Test thread = process.GetThreadAtIndex(0) self.assertEqual(thread.GetStopReason(), lldb.eStopReasonBreakpoint) - # Step to the next instruction - thread.StepInstruction(False) - self.assertEqual(thread.GetStopReason(), lldb.eStopReasonPlanComplete) - address = thread.GetFrameAtIndex(0).GetPC() - - # Run the process until termination - process.Continue() - - # Now launch the process again, and do not stop at entry point. - process = target.LaunchSimple (None, None, self.get_process_working_directory()) - self.assertTrue(process, PROCESS_IS_VALID) - - # We should be stopped at the first breakpoint - thread = process.GetThreadAtIndex(0) - self.assertEqual(thread.GetStopReason(), lldb.eStopReasonBreakpoint) - # Set breakpoint to the next instruction - target.BreakpointCreateByAddress(address) + frame = thread.GetFrameAtIndex(0) + + address = frame.GetPCAddress() + instructions = target.ReadInstructions(address, 2) + self.assertTrue(len(instructions) == 2) + address = instructions[1].GetAddress() + + target.BreakpointCreateByAddress(address.GetLoadAddress(target)) process.Continue() # We should be stopped at the second breakpoint _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits