diff options
author | Gregory Szorc <gregory.szorc@gmail.com> | 2012-03-10 21:44:03 +0000 |
---|---|---|
committer | Gregory Szorc <gregory.szorc@gmail.com> | 2012-03-10 21:44:03 +0000 |
commit | 309a2c4e3be8a5dc55e76e766be2d2fb0f9cdec2 (patch) | |
tree | 4ff7a5f4a59a256747b9989a06b11940fa82f615 /bindings/python/llvm/tests/test_disassembler.py | |
parent | 5a08cf4d345e8edabd6fd46c6014f13f5b0452d5 (diff) | |
download | external_llvm-309a2c4e3be8a5dc55e76e766be2d2fb0f9cdec2.zip external_llvm-309a2c4e3be8a5dc55e76e766be2d2fb0f9cdec2.tar.gz external_llvm-309a2c4e3be8a5dc55e76e766be2d2fb0f9cdec2.tar.bz2 |
Revert "[llvm.py] Implement interface to enhanced disassembler"
Chris Lattner says the edis interface is going away. It doesn't make
sense to land something that will go away in the near future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152508 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings/python/llvm/tests/test_disassembler.py')
-rw-r--r-- | bindings/python/llvm/tests/test_disassembler.py | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/bindings/python/llvm/tests/test_disassembler.py b/bindings/python/llvm/tests/test_disassembler.py deleted file mode 100644 index 6eb11a2..0000000 --- a/bindings/python/llvm/tests/test_disassembler.py +++ /dev/null @@ -1,62 +0,0 @@ -from unittest import expectedFailure -from unittest import skip - -from .base import TestBase -from ..disassembler import DisassemblerByteArraySource -from ..disassembler import DisassemblerFileSource -from ..disassembler import Disassembler -from ..object import ObjectFile - -class TestDisassembler(TestBase): - def test_simple(self): - sequence = '\x67\xe3\x81' # jcxz -127 - triple = 'i686-apple-darwin9' - - source = DisassemblerByteArraySource(sequence) - - disassembler = Disassembler(triple, source) - instructions = list(disassembler.get_instructions()) - - self.assertEqual(len(instructions), 1) - - i = instructions[0] - self.assertEqual(str(i), '\tjcxz\t-127\n') - self.assertEqual(i.byte_size, 3) - self.assertEqual(i.id, 1032) - self.assertTrue(i.is_branch) - self.assertFalse(i.is_move) - self.assertEqual(i.branch_target_id, 0) - - tokens = list(i.get_tokens()) - self.assertEqual(len(tokens), 4) - token = tokens[0] - self.assertEqual(str(token), 'jcxz') - self.assertFalse(token.is_whitespace) - self.assertFalse(token.is_punctuation) - self.assertTrue(token.is_opcode) - self.assertFalse(token.is_literal) - self.assertFalse(token.is_register) - - self.assertTrue(tokens[1].is_whitespace) - - operands = list(i.get_operands()) - self.assertEqual(len(operands), 1) - - # TODO implement operand tests - - @skip('This test is horribly broken and probably not even correct.') - def test_read_instructions(self): - filename = self.get_test_binary() - o = ObjectFile(filename=filename) - - for symbol in o.get_symbols(): - address = symbol.address - offset = symbol.file_offset - size = symbol.size - - source = DisassemblerFileSource(filename, offset, length=size, - start_address=address) - - disassembler = Disassembler('x86-generic-gnu-linux', source) - for instruction in disassembler.get_instructions(): - print instruction |