diff options
author | Aleksandr Urakov <aleksandr.urakov@jetbrains.com> | 2018-10-25 08:27:42 +0000 |
---|---|---|
committer | Aleksandr Urakov <aleksandr.urakov@jetbrains.com> | 2018-10-25 08:27:42 +0000 |
commit | c1c0fac76595da4a46db30da68e8444b9d1e3521 (patch) | |
tree | 9f887ff9a3d2d913ceb8c782934d0fd9215ee185 /lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py | |
parent | b4b6ec01c6d1c6f15da65c37be9ffa2482712e7f (diff) | |
download | bcm5719-llvm-c1c0fac76595da4a46db30da68e8444b9d1e3521.tar.gz bcm5719-llvm-c1c0fac76595da4a46db30da68e8444b9d1e3521.zip |
[API] Extend the `SBThreadPlan` interface
Summary:
This patch extends the `SBThreadPlan` to allow retrieving of thread plans
for scripted steps.
Reviewers: labath, zturner, jingham
Reviewed By: jingham
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D53361
llvm-svn: 345247
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py b/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py new file mode 100644 index 00000000000..1c254c56476 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py @@ -0,0 +1,41 @@ +""" +Tests stepping with scripted thread plans. +""" + +import lldb +import lldbsuite.test.lldbutil as lldbutil +from lldbsuite.test.lldbtest import * + +class StepScriptedTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + NO_DEBUG_INFO_TESTCASE = True + + def test_standard_step_out(self): + """Tests stepping with the scripted thread plan laying over a standard thread plan for stepping out.""" + self.build() + self.main_source_file = lldb.SBFileSpec("main.c") + self.step_out_with_scripted_plan("Steps.StepOut") + + def test_scripted_step_out(self): + """Tests stepping with the scripted thread plan laying over an another scripted thread plan for stepping out.""" + self.build() + self.main_source_file = lldb.SBFileSpec("main.c") + self.step_out_with_scripted_plan("Steps.StepScripted") + + def setUp(self): + TestBase.setUp(self) + self.runCmd("command script import Steps.py") + + def step_out_with_scripted_plan(self, name): + (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, "Set a breakpoint here", self.main_source_file) + + frame = thread.GetFrameAtIndex(0) + self.assertEqual("foo", frame.GetFunctionName()) + + err = thread.StepUsingScriptedThreadPlan(name) + self.assertTrue(err.Success(), "Failed to step out") + + frame = thread.GetFrameAtIndex(0) + self.assertEqual("main", frame.GetFunctionName()) |