merge 3.2
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 1d897f2..1ad7f97 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -7,8 +7,9 @@
import weakref
import errno
-from test.support import (TESTFN, unlink, run_unittest, captured_output,
- gc_collect, cpython_only, no_tracing)
+from test.support import (TESTFN, captured_output, check_impl_detail,
+ cpython_only, gc_collect, run_unittest, no_tracing,
+ unlink)
class NaiveException(Exception):
def __init__(self, x):
@@ -551,7 +552,9 @@
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
@@ -568,7 +571,8 @@
except MyException:
pass
obj = None
- gc_collect()
+ if check_impl_detail(cpython=False):
+ gc_collect()
obj = wr()
self.assertTrue(obj is None, "%s" % obj)
@@ -583,7 +587,8 @@
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)