summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
commit061da546b983eb767bad15e67af1174fb0bcf31c (patch)
tree83c78b820819d70aa40c36d90447978b300078c5 /gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py
parentImport LLVM 10.0.0 release including clang, lld and lldb. (diff)
downloadwireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.tar.xz
wireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.zip
Import LLVM 10.0.0 release including clang, lld and lldb.
ok hackroom tested by plenty
Diffstat (limited to 'gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py')
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py b/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py
new file mode 100644
index 00000000000..35ea3ae222a
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py
@@ -0,0 +1,44 @@
+"""
+Test that breakpoints in an IT instruction don't fire if their condition is
+false.
+"""
+
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class TestBreakpointIt(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+ NO_DEBUG_INFO_TESTCASE = True
+
+ @skipIf(archs=no_match(["arm"]))
+ @skipIf(archs=["arm64", "arm64e", "arm64_32"])
+ def test_false(self):
+ self.build()
+ exe = self.getBuildArtifact("a.out")
+
+ self.runCmd("target create %s" % exe)
+ lldbutil.run_break_set_by_symbol(self, "bkpt_false",
+ extra_options="--skip-prologue 0")
+
+ self.runCmd("run")
+ self.assertEqual(self.process().GetState(), lldb.eStateExited,
+ "Breakpoint does not get hit")
+
+ @skipIf(archs=no_match(["arm"]))
+ @skipIf(archs=["arm64", "arm64e", "arm64_32"])
+ def test_true(self):
+ self.build()
+ exe = self.getBuildArtifact("a.out")
+
+ self.runCmd("target create %s" % exe)
+ bpid = lldbutil.run_break_set_by_symbol(self, "bkpt_true",
+ extra_options="--skip-prologue 0")
+
+ self.runCmd("run")
+ self.assertIsNotNone(lldbutil.get_one_thread_stopped_at_breakpoint_id(
+ self.process(), bpid))