diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/expression_command/unwind_expression')
| -rw-r--r-- | packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py | 53 | 
1 files changed, 34 insertions, 19 deletions
| diff --git a/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py b/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py index 6e9af641d038..bfd6f4642c6c 100644 --- a/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py +++ b/packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py @@ -5,15 +5,16 @@ Test stopping at a breakpoint in an expression, and unwinding from there.  from __future__ import print_function -  import unittest2 -import os, time +import os +import time  import lldb  from lldbsuite.test.decorators import *  from lldbsuite.test.lldbtest import *  from lldbsuite.test import lldbutil +  class UnwindFromExpressionTest(TestBase):      mydir = TestBase.compute_mydir(__file__) @@ -23,7 +24,7 @@ class UnwindFromExpressionTest(TestBase):          TestBase.setUp(self)      @add_test_categories(['pyapi']) - +    @expectedFailureAll(oslist=["windows"])      def test_unwind_expression(self):          """Test unwinding from an expression."""          self.build() @@ -35,11 +36,13 @@ class UnwindFromExpressionTest(TestBase):          # Create the breakpoint.          main_spec = lldb.SBFileSpec("main.cpp", False) -        breakpoint = target.BreakpointCreateBySourceRegex("// Set a breakpoint here to get started", main_spec) +        breakpoint = target.BreakpointCreateBySourceRegex( +            "// Set a breakpoint here to get started", main_spec)          self.assertTrue(breakpoint, VALID_BREAKPOINT)          # Launch the process, and do not stop at the entry point. -        process = target.LaunchSimple (None, None, self.get_process_working_directory()) +        process = target.LaunchSimple( +            None, None, self.get_process_working_directory())          if not process:              self.fail("SBTarget.LaunchProcess() failed") @@ -49,17 +52,20 @@ class UnwindFromExpressionTest(TestBase):                        "instead the actual state is: '%s'" %                        lldbutil.state_type_to_str(process.GetState())) -        thread = lldbutil.get_one_thread_stopped_at_breakpoint(process, breakpoint) -        self.assertIsNotNone(thread, "Expected one thread to be stopped at the breakpoint") +        thread = lldbutil.get_one_thread_stopped_at_breakpoint( +            process, breakpoint) +        self.assertIsNotNone( +            thread, "Expected one thread to be stopped at the breakpoint")          #          # Use Python API to evaluate expressions while stopped in a stack frame.          #          main_frame = thread.GetFrameAtIndex(0) -        # Next set a breakpoint in this function, set up Expression options to stop on  +        # Next set a breakpoint in this function, set up Expression options to stop on          # breakpoint hits, and call the function. -        fun_bkpt = target.BreakpointCreateBySourceRegex("// Stop inside the function here.", main_spec) +        fun_bkpt = target.BreakpointCreateBySourceRegex( +            "// Stop inside the function here.", main_spec)          self.assertTrue(fun_bkpt, VALID_BREAKPOINT)          options = lldb.SBExpressionOptions()          options.SetIgnoreBreakpoints(False) @@ -67,17 +73,26 @@ class UnwindFromExpressionTest(TestBase):          val = main_frame.EvaluateExpression("a_function_to_call()", options) -        self.assertTrue(val.GetError().Fail(), "We did not complete the execution.") +        self.assertTrue( +            val.GetError().Fail(), +            "We did not complete the execution.")          error_str = val.GetError().GetCString() -        self.assertTrue("Execution was interrupted, reason: breakpoint" in error_str, "And the reason was right.") - -        thread = lldbutil.get_one_thread_stopped_at_breakpoint(process, fun_bkpt) -        self.assertTrue(thread.IsValid(), "We are indeed stopped at our breakpoint") -                 -        # Now unwind the expression, and make sure we got back to where we started. +        self.assertTrue( +            "Execution was interrupted, reason: breakpoint" in error_str, +            "And the reason was right.") + +        thread = lldbutil.get_one_thread_stopped_at_breakpoint( +            process, fun_bkpt) +        self.assertTrue( +            thread.IsValid(), +            "We are indeed stopped at our breakpoint") + +        # Now unwind the expression, and make sure we got back to where we +        # started.          error = thread.UnwindInnermostExpression()          self.assertTrue(error.Success(), "We succeeded in unwinding") -         -        cur_frame = thread.GetFrameAtIndex(0) -        self.assertTrue(cur_frame.IsEqual(main_frame), "We got back to the main frame.") +        cur_frame = thread.GetFrameAtIndex(0) +        self.assertTrue( +            cur_frame.IsEqual(main_frame), +            "We got back to the main frame.") | 
