Index: tests/test_actiongroup.py =================================================================== --- tests/test_actiongroup.py (revision 2817) +++ tests/test_actiongroup.py (revision 2818) @@ -102,17 +102,22 @@ uimanager.remove_ui(self.merge_id0) uimanager.remove_action_group(ag0) - gc.collect() # Clean out unreachable objects + if gobject.pygobject_version >= (2,13): + ag0ref = ag0.weak_ref() + del ag0 + self.assertEqual(ag0ref(), None) + else: + gc.collect() # Clean out unreachable objects - del ag0 - self.assertEqual(gc.collect(), 1) # Collect just the ActionGroup + del ag0 + self.assertEqual(gc.collect(), 1) # Collect just the ActionGroup - uimanager.ensure_update() - self.assertEqual(gc.collect(), 6) # Now the GtkActions have lost their last - # GObject reference; they should be collected. - # We have a ToggleAction, an Action and a - # RadioAction, plus self.cb is bound in three - # closures. + uimanager.ensure_update() + self.assertEqual(gc.collect(), 6) # Now the GtkActions have lost their last + # GObject reference; they should be collected. + # We have a ToggleAction, an Action and a + # RadioAction, plus self.cb is bound in three + # closures. gtk.main_quit() Index: tests/test_gdk.py =================================================================== --- tests/test_gdk.py (revision 2817) +++ tests/test_gdk.py (revision 2818) @@ -1,7 +1,7 @@ import unittest import gc -from common import gtk +from common import gtk, gobject class CallOnDel: def __init__(self, callback): @@ -52,7 +52,7 @@ while True: x = gc.collect() cnt += x - if x: + if x == 0: break return cnt @@ -61,13 +61,23 @@ pass display = gtk.gdk.Display(None) - del display + if gobject.pygobject_version >= (2,13): + dispref = display.weak_ref() + del display + self.assertEqual(dispref(), None) + else: + del display + self.assertEquals(self._collect(), 1) - self.assertEquals(self._collect(), 1) - display = gtk.gdk.Display(None) self.assertEquals(display.__grefcount__, 1) display.close() self.assertEquals(display.__grefcount__, 1) - del display - self.assertEquals(self._collect(), 1) + + if gobject.pygobject_version >= (2,13): + dispref = display.weak_ref() + del display + self.assertEqual(dispref(), None) + else: + del display + self.assertEquals(self._collect(), 1)