PR31214: Make a test tolerate "line 0" when stepping by instruction.
authorPaul Robinson <paul.robinson@sony.com>
Wed, 30 Nov 2016 22:47:25 +0000 (22:47 +0000)
committerPaul Robinson <paul.robinson@sony.com>
Wed, 30 Nov 2016 22:47:25 +0000 (22:47 +0000)
Differential Revision: http://reviews.llvm.org/D27282

llvm-svn: 288282

lldb/packages/Python/lldbsuite/test/functionalities/thread/exit_during_step/TestExitDuringStep.py

index c27bd2d..4ba0495 100644 (file)
@@ -23,7 +23,8 @@ class ExitDuringStepTestCase(TestBase):
         self.build(dictionary=self.getBuildFlags())
         self.exit_during_step_base(
             "thread step-inst -m all-threads",
-            'stop reason = instruction step')
+            'stop reason = instruction step',
+            True)
 
     @skipIfFreeBSD  # llvm.org/pr21411: test is hanging
     def test_step_over(self):
@@ -31,7 +32,8 @@ class ExitDuringStepTestCase(TestBase):
         self.build(dictionary=self.getBuildFlags())
         self.exit_during_step_base(
             "thread step-over -m all-threads",
-            'stop reason = step over')
+            'stop reason = step over',
+            False)
 
     @skipIfFreeBSD  # llvm.org/pr21411: test is hanging
     def test_step_in(self):
@@ -39,7 +41,8 @@ class ExitDuringStepTestCase(TestBase):
         self.build(dictionary=self.getBuildFlags())
         self.exit_during_step_base(
             "thread step-in -m all-threads",
-            'stop reason = step in')
+            'stop reason = step in',
+            False)
 
     def setUp(self):
         # Call super's setUp().
@@ -48,7 +51,7 @@ class ExitDuringStepTestCase(TestBase):
         self.breakpoint = line_number('main.cpp', '// Set breakpoint here')
         self.continuepoint = line_number('main.cpp', '// Continue from here')
 
-    def exit_during_step_base(self, step_cmd, step_stop_reason):
+    def exit_during_step_base(self, step_cmd, step_stop_reason, by_instruction):
         """Test thread exit during step handling."""
         exe = os.path.join(os.getcwd(), "a.out")
         self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
@@ -111,6 +114,9 @@ class ExitDuringStepTestCase(TestBase):
 
             current_line = frame.GetLineEntry().GetLine()
 
+            if by_instruction and current_line == 0:
+                continue
+
             self.assertGreaterEqual(
                 current_line,
                 self.breakpoint,