summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.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/emulation/TestEmulations.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/emulation/TestEmulations.py')
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py b/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py
new file mode 100644
index 00000000000..9613edcf3fd
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py
@@ -0,0 +1,54 @@
+"""
+Test some ARM instruction emulation.
+"""
+
+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 ARMEmulationTestCase(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ @no_debug_info_test
+ def test_thumb_emulations(self):
+ test_dir = os.path.join(self.getSourceDir(), "new-test-files")
+ files = os.listdir(test_dir)
+ thumb_files = list()
+ for f in files:
+ if '-thumb.dat' in f:
+ thumb_files.append(f)
+
+ for f in thumb_files:
+ test_file = os.path.join(test_dir, f)
+ self.run_a_single_test(test_file)
+
+ @no_debug_info_test
+ def test_arm_emulations(self):
+ test_dir = os.path.join(self.getSourceDir(), "new-test-files")
+ files = os.listdir(test_dir)
+ arm_files = list()
+ for f in files:
+ if '-arm.dat' in f:
+ arm_files.append(f)
+
+ for f in arm_files:
+ test_file = os.path.join(test_dir, f)
+ self.run_a_single_test(test_file)
+
+ def run_a_single_test(self, filename):
+ insn = lldb.SBInstruction()
+ stream = lldb.SBStream()
+ success = insn.TestEmulation(stream, filename)
+ output = stream.GetData()
+ if self.TraceOn():
+ print('\nRunning test ' + os.path.basename(filename))
+ print(output)
+
+ self.assertTrue(success, 'Emulation test succeeded.')