]> granicus.if.org Git - python/commitdiff
If any trash happened to be sitting around waiting to get collected at
authorTim Peters <tim.peters@gmail.com>
Sat, 10 Aug 2002 21:20:54 +0000 (21:20 +0000)
committerTim Peters <tim.peters@gmail.com>
Sat, 10 Aug 2002 21:20:54 +0000 (21:20 +0000)
the time it's called, test_saveall() made it look a leak, triggering
bogus warnings from regrtest's -l (findleaks) mode.

Lib/test/test_gc.py

index 8c79ac66ddbb9cb5cb733233b3b10d5e03b89d05..46448badd1bc59cf560038fb1020c70fe30eeedd 100644 (file)
@@ -1,4 +1,4 @@
-from test.test_support import verify, verbose, TestFailed
+from test.test_support import verify, verbose, TestFailed, vereq
 import sys
 import gc
 
@@ -168,6 +168,12 @@ def test_frame():
 def test_saveall():
     # Verify that cyclic garbage like lists show up in gc.garbage if the
     # SAVEALL option is enabled.
+
+    # First make sure we don't save away other stuff that just happens to
+    # be waiting for collection.
+    gc.collect()
+    vereq(gc.garbage, []) # if this fails, someone else created immortal trash
+
     debug = gc.get_debug()
     gc.set_debug(debug | gc.DEBUG_SAVEALL)
     l = []
@@ -175,6 +181,7 @@ def test_saveall():
     id_l = id(l)
     del l
     gc.collect()
+    vereq(len(gc.garbage), 1)
     try:
         for obj in gc.garbage:
             if id(obj) == id_l: