[Python-checkins] bpo-44515: handle non-refcounted GC in contextlib tests (GH-26910)
ambv
webhook-mailer at python.org
Mon Jul 26 16:57:42 EDT 2021
https://github.com/python/cpython/commit/a2c45e5bcf9d3dfff9f2699dbc161489897616b5
commit: a2c45e5bcf9d3dfff9f2699dbc161489897616b5
branch: main
author: Nick Coghlan <ncoghlan at gmail.com>
committer: ambv <lukasz at langa.pl>
date: 2021-07-26T22:57:17+02:00
summary:
bpo-44515: handle non-refcounted GC in contextlib tests (GH-26910)
Co-authored-by: Łukasz Langa <lukasz at langa.pl>
files:
A Misc/NEWS.d/next/Tests/2021-06-26-18-37-36.bpo-44515.e9fO6f.rst
M Lib/test/test_contextlib.py
M Lib/test/test_contextlib_async.py
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py
index 04720d949fee5..43b8507771e25 100644
--- a/Lib/test/test_contextlib.py
+++ b/Lib/test/test_contextlib.py
@@ -231,6 +231,8 @@ class A:
def woohoo(a, b):
a = weakref.ref(a)
b = weakref.ref(b)
+ # Allow test to work with a non-refcounted GC
+ support.gc_collect()
self.assertIsNone(a())
self.assertIsNone(b())
yield
diff --git a/Lib/test/test_contextlib_async.py b/Lib/test/test_contextlib_async.py
index 6a218f911569c..74fddef3f34ec 100644
--- a/Lib/test/test_contextlib_async.py
+++ b/Lib/test/test_contextlib_async.py
@@ -1,7 +1,7 @@
import asyncio
from contextlib import (
asynccontextmanager, AbstractAsyncContextManager,
- AsyncExitStack, nullcontext, aclosing)
+ AsyncExitStack, nullcontext, aclosing, contextmanager)
import functools
from test import support
import unittest
@@ -357,14 +357,17 @@ async def aclose(self):
async def test_aclosing_bpo41229(self):
state = []
- class Resource:
- def __del__(self):
+ @contextmanager
+ def sync_resource():
+ try:
+ yield
+ finally:
state.append(1)
async def agenfunc():
- r = Resource()
- yield -1
- yield -2
+ with sync_resource():
+ yield -1
+ yield -2
x = agenfunc()
self.assertEqual(state, [])
diff --git a/Misc/NEWS.d/next/Tests/2021-06-26-18-37-36.bpo-44515.e9fO6f.rst b/Misc/NEWS.d/next/Tests/2021-06-26-18-37-36.bpo-44515.e9fO6f.rst
new file mode 100644
index 0000000000000..d2867b6e89f87
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2021-06-26-18-37-36.bpo-44515.e9fO6f.rst
@@ -0,0 +1,2 @@
+Adjust recently added contextlib tests to avoid assuming the use of a
+refcounted GC
More information about the Python-checkins
mailing list