""" Test some ARM instruction emulation. """ import os, time import unittest2 import lldb from lldbtest import * class ARMEmulationTestCase(TestBase): mydir = "arm_emulation" 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) 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.') if __name__ == '__main__': import atexit lldb.SBDebugger.Initialize() atexit.register(lambda: lldb.SBDebugger.Terminate()) unittest2.main()