From: Philip Jenvey Date: Wed, 14 Nov 2012 22:37:24 +0000 (-0800) Subject: don't gc_collect on CPython to guarantee a lack of ref cycles (thanks Antoine) X-Git-Tag: v3.2.4rc1~339 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b37ac8eaf610c82c792ed038508b959e1bff686e;p=thirdparty%2FPython%2Fcpython.git don't gc_collect on CPython to guarantee a lack of ref cycles (thanks Antoine) --- diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py index 3c14c80481eb..79bd7ffd3a00 100644 --- a/Lib/test/test_exceptions.py +++ b/Lib/test/test_exceptions.py @@ -7,8 +7,8 @@ import pickle import weakref import errno -from test.support import (TESTFN, unlink, run_unittest, captured_output, - gc_collect, cpython_only) +from test.support import (TESTFN, captured_output, check_impl_detail, + cpython_only, gc_collect, run_unittest, unlink) # XXX This is not really enough, each *operation* should be tested! @@ -493,7 +493,9 @@ class ExceptionTests(unittest.TestCase): e.__context__ = None obj = None obj = wr() - gc_collect() + # guarantee no ref cycles on CPython (don't gc_collect) + if check_impl_detail(cpython=False): + gc_collect() self.assertTrue(obj is None, "%s" % obj) # Some complicated construct @@ -510,7 +512,8 @@ class ExceptionTests(unittest.TestCase): except MyException: pass obj = None - gc_collect() + if check_impl_detail(cpython=False): + gc_collect() obj = wr() self.assertTrue(obj is None, "%s" % obj) @@ -525,7 +528,8 @@ class ExceptionTests(unittest.TestCase): with Context(): inner_raising_func() obj = None - gc_collect() + if check_impl_detail(cpython=False): + gc_collect() obj = wr() self.assertTrue(obj is None, "%s" % obj)