Mercurial > lcfOS
comparison test/testasm.py @ 346:3bb7dcfe5529
expanded arm target
author | Windel Bouwman |
---|---|
date | Fri, 07 Mar 2014 17:05:32 +0100 |
parents | 86b02c98a717 |
children | 442fb043d149 |
comparison
equal
deleted
inserted
replaced
345:b4882ff0ed06 | 346:3bb7dcfe5529 |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 import unittest, cProfile | 3 import unittest |
4 from ppci import CompilerError | 4 from ppci import CompilerError |
5 from ppci.asmnodes import AInstruction, ABinop, AUnop, ASymbol, ALabel, ANumber | |
6 from ppci.assembler import tokenize, Assembler, Lexer | 5 from ppci.assembler import tokenize, Assembler, Lexer |
7 from ppci.objectfile import ObjectFile | 6 from ppci.objectfile import ObjectFile |
8 from ppci.linker import Linker | 7 from ppci.linker import Linker |
9 from ppci.outstream import BinaryOutputStream | 8 from ppci.outstream import BinaryOutputStream |
10 from ppci.target.basetarget import Label | 9 from ppci.target.basetarget import Label |
34 with self.assertRaises(CompilerError): | 33 with self.assertRaises(CompilerError): |
35 list(tokenize(asmline, [])) | 34 list(tokenize(asmline, [])) |
36 | 35 |
37 | 36 |
38 class AssemblerParsingTestCase(unittest.TestCase): | 37 class AssemblerParsingTestCase(unittest.TestCase): |
39 """ | 38 """ |
40 Tests the assembler parts | 39 Tests the assembler parts |
41 """ | 40 """ |
42 def setUp(self): | 41 def setUp(self): |
43 self.skipTest('refactoring asm parser') | 42 self.skipTest('refactoring asm parser') |
44 self.parser = asmParser | 43 self.parser = asmParser |
103 | 102 |
104 | 103 |
105 class AsmTestCaseBase(unittest.TestCase): | 104 class AsmTestCaseBase(unittest.TestCase): |
106 """ Base testcase for assembly """ | 105 """ Base testcase for assembly """ |
107 def feed(self, line): | 106 def feed(self, line): |
108 self.a.assemble(line) | 107 self.a.assemble(line, self.ostream) |
109 | 108 |
110 def check(self, hexstr): | 109 def check(self, hexstr): |
111 l = Linker() | 110 l = Linker() |
112 self.obj = l.link([self.obj]) | 111 self.obj = l.link([self.obj]) |
113 data = bytes(self.obj.get_section('.text').data) | 112 data = bytes(self.obj.get_section('.text').data) |