Co-authored-by: Ćukasz Langa <lukasz@langa.pl>
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
import asyncio
from contextlib import (
asynccontextmanager, AbstractAsyncContextManager,
- AsyncExitStack, nullcontext, aclosing)
+ AsyncExitStack, nullcontext, aclosing, contextmanager)
import functools
from test import support
import unittest
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, [])
--- /dev/null
+Adjust recently added contextlib tests to avoid assuming the use of a
+refcounted GC