summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py
diff options
context:
space:
mode:
authorAleksandr Urakov <aleksandr.urakov@jetbrains.com>2018-10-25 08:27:42 +0000
committerAleksandr Urakov <aleksandr.urakov@jetbrains.com>2018-10-25 08:27:42 +0000
commitc1c0fac76595da4a46db30da68e8444b9d1e3521 (patch)
tree9f887ff9a3d2d913ceb8c782934d0fd9215ee185 /lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/TestStepScripted.py
parentb4b6ec01c6d1c6f15da65c37be9ffa2482712e7f (diff)
downloadbcm5719-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.py41
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())
OpenPOWER on IntegriCloud