def testGroupSymbolsByOffset(self): symbol_infos = ( symbol_extractor.SymbolInfo(name='aSymbol', offset=0x42, size=0x12, section='.text'), symbol_extractor.SymbolInfo(name='anotherSymbol', offset=0x42, size=1, section='.text')) (offset_to_symbol_infos, _) = \ patch_orderfile._GroupSymbolInfos(symbol_infos) self.assertEquals(len(offset_to_symbol_infos), 1) self.assertEquals(tuple(offset_to_symbol_infos[0x42]), symbol_infos)
def testAliasClonedSymbols(self): symbol_infos = [ symbol_extractor.SymbolInfo(name='aSymbol', offset=0x42, size=0x12, section='.text'), symbol_extractor.SymbolInfo(name='aSymbol.clone.', offset=8, size=1, section='.text')] (offset_to_symbol_infos, name_to_symbol_infos) = \ patch_orderfile._GroupSymbolInfos(symbol_infos) self.assertEquals(len(offset_to_symbol_infos), 2) for i in range(2): s = symbol_infos[i] matching = offset_to_symbol_infos[s.offset][0] self.assertEquals(matching.offset, s.offset) self.assertEquals(matching.size, s.size) self.assertEquals(len(name_to_symbol_infos), 1) self.assertEquals(len(name_to_symbol_infos['aSymbol']), 2)