summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-12-18 20:12:36 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-12-18 20:12:36 +0000
commitef5d0b5e97ec8e6fa395d377b09aa7755e345b4f (patch)
tree27916256fdeeb57d10d2f3d6948be5d71a703215 /packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py
parent76e0736e7fcfeb179779e49c05604464b1ccd704 (diff)
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py')
-rw-r--r--packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py b/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py
new file mode 100644
index 0000000000000..4ddda525537ce
--- /dev/null
+++ b/packages/Python/lldbsuite/test/arm/emulation/TestEmulations.py
@@ -0,0 +1,57 @@
+"""
+Test some ARM instruction emulation.
+"""
+
+from __future__ import print_function
+
+
+import os
+import time
+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):
+ current_dir = os.getcwd()
+ test_dir = os.path.join(current_dir, "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):
+ current_dir = os.getcwd()
+ test_dir = os.path.join(current_dir, "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.')