Exemplo n.º 1
0
 def test_remove_expensive_references(self):
     lines = list(_example_dump)
     lines.pop(-1) # Remove the old module
     lines.append('{"address": 8, "type": "module", "size": 12'
                  ', "name": "mymod", "refs": [9]}')
     lines.append('{"address": 9, "type": "dict", "size": 124'
                  ', "refs": [10, 11]}')
     lines.append('{"address": 10, "type": "module", "size": 12'
                  ', "name": "mod2", "refs": [12]}')
     lines.append('{"address": 11, "type": "str", "size": 27'
                  ', "value": "boo", "refs": []}')
     lines.append('{"address": 12, "type": "dict", "size": 124'
                  ', "refs": []}')
     source = lambda:loader.iter_objs(lines)
     mymod_dict = list(source())[8]
     self.assertEqual([10, 11], mymod_dict.children)
     result = list(loader.remove_expensive_references(source))
     null_obj = result[0][1]
     self.assertEqual(0, null_obj.address)
     self.assertEqual('<ex-reference>', null_obj.type_str)
     self.assertEqual([11, 0], result[9][1].children)
Exemplo n.º 2
0
 def test_remove_expensive_references(self):
     lines = list(_example_dump)
     lines.pop(-1) # Remove the old module
     lines.append('{"address": 8, "type": "module", "size": 12'
                  ', "name": "mymod", "refs": [9]}')
     lines.append('{"address": 9, "type": "dict", "size": 124'
                  ', "refs": [10, 11]}')
     lines.append('{"address": 10, "type": "module", "size": 12'
                  ', "name": "mod2", "refs": [12]}')
     lines.append('{"address": 11, "type": "str", "size": 27'
                  ', "value": "boo", "refs": []}')
     lines.append('{"address": 12, "type": "dict", "size": 124'
                  ', "refs": []}')
     source = lambda:loader.iter_objs(lines)
     mymod_dict = list(source())[8]
     self.assertEqual([10, 11], mymod_dict.children)
     result = list(loader.remove_expensive_references(source))
     null_obj = result[0][1]
     self.assertEqual(0, null_obj.address)
     self.assertEqual('<ex-reference>', null_obj.type_str)
     self.assertEqual([11, 0], result[9][1].children)
Exemplo n.º 3
0
 def source():
     infile, cleanup = files.open_file(args[0])
     for obj in loader.iter_objs(infile):
         yield obj
     cleanup()
 def source():
     infile, cleanup = files.open_file(args[0])
     for obj in loader.iter_objs(infile):
         yield obj
     cleanup()