Exemple #1
0
 def test_traverse_with_parent_and_children(self):
     mop = self.moc.add(1, 'my_class', 1234, children=[5,6,7],
                        parent_list=[8,9,10], value='test str')
     # While in the moc, the Collection manages the references
     self.assertEqual([self.moc], _scanner.get_referents(mop))
     # But once gone, we refer to everything directly
     del self.moc[1]
     self.assertEqual([self.moc, mop.address, mop.type_str, mop.value,
                       5, 6, 7, 8, 9, 10],
                      _scanner.get_referents(mop))
Exemple #2
0
 def test_traverse_with_parent_and_children(self):
     mop = self.moc.add(1, 'my_class', 1234, children=[5,6,7],
                        parent_list=[8,9,10], value='test str')
     # While in the moc, the Collection manages the references
     self.assertEqual([self.moc], _scanner.get_referents(mop))
     # But once gone, we refer to everything directly
     del self.moc[1]
     self.assertEqual([self.moc, mop.address, mop.type_str, mop.value,
                       5, 6, 7, 8, 9, 10],
                      _scanner.get_referents(mop))
Exemple #3
0
 def test_traverse(self):
     # When a Proxied object is removed from its Collection, it becomes
     # owned by the Proxy itself, and should be returned from tp_traverse
     mop = self.moc[0]
     # At this point, moc still controls the _MemObject
     self.assertEqual([self.moc], _scanner.get_referents(mop))
     # But now, it references everything else, too
     del self.moc[0]
     self.assertEqual([self.moc, mop.address, mop.type_str, mop.value],
                      _scanner.get_referents(mop))
Exemple #4
0
 def test_traverse(self):
     # When a Proxied object is removed from its Collection, it becomes
     # owned by the Proxy itself, and should be returned from tp_traverse
     mop = self.moc[0]
     # At this point, moc still controls the _MemObject
     self.assertEqual([self.moc], _scanner.get_referents(mop))
     # But now, it references everything else, too
     del self.moc[0]
     self.assertEqual([self.moc, mop.address, mop.type_str, mop.value],
                      _scanner.get_referents(mop))
Exemple #5
0
 def test_traverse_multiple_and_parents_and_children(self):
     moc = _loader.MemObjectCollection()
     moc.add(1, 'foo', 100)
     moc.add(2, 'bar', 200, children=[8, 9], parent_list=[10, 11],
             value='test val')
     self.assertEqual([1, 'foo', None, 2, 'bar', 'test val', 8, 9, 10, 11],
                      _scanner.get_referents(moc))
Exemple #6
0
 def test_traverse_multiple_and_parents_and_children(self):
     moc = _loader.MemObjectCollection()
     moc.add(1, 'foo', 100)
     moc.add(2, 'bar', 200, children=[8, 9], parent_list=[10, 11],
             value='test val')
     self.assertEqual([1, 'foo', None, 2, 'bar', 'test val', 8, 9, 10, 11],
                      _scanner.get_referents(moc))
Exemple #7
0
 def test_traverse_simple_item(self):
     moc = _loader.MemObjectCollection()
     moc.add(1234, 'foo', 100)
     self.assertEqual([1234, 'foo', None], _scanner.get_referents(moc))
Exemple #8
0
 def test_traverse_empty(self):
     # With nothing present, we return no referents
     moc = _loader.MemObjectCollection()
     self.assertEqual([], _scanner.get_referents(moc))
Exemple #9
0
 def test_list_referents(self):
     l = ['one', 2, object(), 4.0]
     self.assertEqual(gc.get_referents(l), _scanner.get_referents(l))
Exemple #10
0
 def test_traverse_simple_item(self):
     moc = _loader.MemObjectCollection()
     moc.add(1234, 'foo', 100)
     self.assertEqual([1234, 'foo', None], _scanner.get_referents(moc))
Exemple #11
0
 def test_traverse_empty(self):
     # With nothing present, we return no referents
     moc = _loader.MemObjectCollection()
     self.assertEqual([], _scanner.get_referents(moc))
Exemple #12
0
 def test_list_referents(self):
     l = ['one', 2, object(), 4.0]
     self.assertEqual(gc.get_referents(l), _scanner.get_referents(l))