summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/TestDebugBreak.py
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-08-20 18:01:57 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-08-20 18:01:57 +0000
commit88c643b6fec27eec436c8d138fee6346e92337d6 (patch)
tree82cd13b2f3cde1c9e5f79689ba4e6ba67694843f /packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/TestDebugBreak.py
parent94994d372d014ce4c8758b9605d63fae651bd8aa (diff)
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/TestDebugBreak.py')
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/TestDebugBreak.py59
1 files changed, 0 insertions, 59 deletions
diff --git a/packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/TestDebugBreak.py b/packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/TestDebugBreak.py
deleted file mode 100644
index 11ec67d91097..000000000000
--- a/packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/TestDebugBreak.py
+++ /dev/null
@@ -1,59 +0,0 @@
-"""
-Test embedded breakpoints, like `asm int 3;` in x86 or or `__debugbreak` on Windows.
-"""
-
-from __future__ import print_function
-
-import os
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class DebugBreakTestCase(TestBase):
-
- mydir = TestBase.compute_mydir(__file__)
-
- @skipIf(archs=no_match(["i386", "i686", "x86_64"]))
- @no_debug_info_test
- def test_asm_int_3(self):
- """Test that intrinsics like `__debugbreak();` and `asm {"int3"}` are treated like breakpoints."""
- self.build()
- exe = self.getBuildArtifact("a.out")
-
- # Run the program.
- target = self.dbg.CreateTarget(exe)
- process = target.LaunchSimple(
- None, None, self.get_process_working_directory())
-
- # We've hit the first stop, so grab the frame.
- self.assertEqual(process.GetState(), lldb.eStateStopped)
- stop_reason = lldb.eStopReasonException if (lldbplatformutil.getPlatform(
- ) == "windows" or lldbplatformutil.getPlatform() == "macosx") else lldb.eStopReasonSignal
- thread = lldbutil.get_stopped_thread(process, stop_reason)
- self.assertIsNotNone(
- thread, "Unable to find thread stopped at the __debugbreak()")
- frame = thread.GetFrameAtIndex(0)
-
- # We should be in funciton 'bar'.
- self.assertTrue(frame.IsValid())
- function_name = frame.GetFunctionName()
- self.assertTrue('bar' in function_name,
- "Unexpected function name {}".format(function_name))
-
- # We should be able to evaluate the parameter foo.
- value = frame.EvaluateExpression('*foo')
- self.assertEqual(value.GetValueAsSigned(), 42)
-
- # The counter should be 1 at the first stop and increase by 2 for each
- # subsequent stop.
- counter = 1
- while counter < 20:
- value = frame.EvaluateExpression('count')
- self.assertEqual(value.GetValueAsSigned(), counter)
- counter += 2
- process.Continue()
-
- # The inferior should exit after the last iteration.
- self.assertEqual(process.GetState(), lldb.eStateExited)