def test_derive_filename_from_assembly(self): c = Collector(None) if os.name == 'nt': c.parse_assembly_text(""" 000008a8 <uses_doubles2.constprop.0>: uses_doubles2(): c:/Users/behrens/Documents/projects/pebble/puncover/pebble/build/../src/puncover.c:19 8a8: b508 push {r3, lr} """) else: c.parse_assembly_text(""" 000008a8 <uses_doubles2.constprop.0>: uses_doubles2(): /Users/behrens/Documents/projects/pebble/puncover/pebble/build/../src/puncover.c:19 8a8: b508 push {r3, lr} """) s = c.symbol_by_addr("8a8") if os.name == 'nt': self.assertEqual( "c:/Users/behrens/Documents/projects/pebble/puncover/pebble/build/../src/puncover.c", s[collector.PATH]) else: self.assertEqual( "/Users/behrens/Documents/projects/pebble/puncover/pebble/build/../src/puncover.c", s[collector.PATH]) self.assertEqual("puncover.c", s[collector.BASE_FILE]) self.assertEqual(19, s[collector.LINE])
def test_derive_filename_from_assembly(self): c = Collector(None) c.parse_assembly_text(""" 000008a8 <uses_doubles2.constprop.0>: uses_doubles2(): /Users/behrens/Documents/projects/pebble/puncover/pebble/build/../src/puncover.c:19 8a8: b508 push {r3, lr} """) s = c.symbol_by_addr("8a8") self.assertEqual("/Users/behrens/Documents/projects/pebble/puncover/pebble/build/../src/puncover.c", s[collector.PATH]) self.assertEqual("puncover.c", s[collector.BASE_FILE]) self.assertEqual(19, s[collector.LINE])
def test_enhance_function_size_from_assembly(self): c = Collector() c.symbols = { int("0000009c", 16) : { collector.ADDRESS: "0000009c", collector.ASM: """ $t(): 9c: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000 a0: e002 b.n a8 <__adddf3> a2: bf00 nop """.split("\n") }} s = c.symbol_by_addr("9c") self.assertFalse(s.has_key(collector.SIZE)) c.enhance_function_size_from_assembly() self.assertEqual(8, s[collector.SIZE])
def test_enhance_function_size_from_assembly(self): c = Collector(None) c.symbols = { int("0000009c", 16) : { collector.ADDRESS: "0000009c", collector.ASM: """ $t(): 9c: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000 a0: e002 b.n a8 <__adddf3> a2: bf00 nop """.split("\n") }} s = c.symbol_by_addr("9c") self.assertFalse(s.has_key(collector.SIZE)) c.enhance_function_size_from_assembly() self.assertEqual(8, s[collector.SIZE])