summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/commands/expression/entry-bp/TestExprEntryBP.py
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/commands/expression/entry-bp/TestExprEntryBP.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/expression/entry-bp/TestExprEntryBP.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/entry-bp/TestExprEntryBP.py b/lldb/packages/Python/lldbsuite/test/commands/expression/entry-bp/TestExprEntryBP.py
new file mode 100644
index 00000000000..56abc19f4f3
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/commands/expression/entry-bp/TestExprEntryBP.py
@@ -0,0 +1,34 @@
+"""
+Tests expressions evaluation when the breakpoint on module's entry is set.
+"""
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+
+class ExprEntryBPTestCase(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ NO_DEBUG_INFO_TESTCASE = True
+
+ def test_expr_entry_bp(self):
+ """Tests expressions evaluation when the breakpoint on module's entry is set."""
+ self.build()
+ self.main_source_file = lldb.SBFileSpec("main.c")
+
+ (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, "Set a breakpoint here", self.main_source_file)
+
+ self.assertEqual(1, bkpt.GetNumLocations())
+ entry = bkpt.GetLocationAtIndex(0).GetAddress().GetModule().GetObjectFileEntryPointAddress()
+ self.assertTrue(entry.IsValid(), "Can't get a module entry point")
+
+ entry_bp = target.BreakpointCreateBySBAddress(entry)
+ self.assertTrue(entry_bp.IsValid(), "Can't set a breakpoint on the module entry point")
+
+ result = target.EvaluateExpression("sum(7, 1)")
+ self.assertTrue(result.IsValid(), "Can't evaluate expression")
+ self.assertEqual(8, result.GetValueAsSigned())
+
+ def setUp(self):
+ TestBase.setUp(self)
OpenPOWER on IntegriCloud