diff options
| author | Yury Selivanov <yury@magic.io> | 2018-05-28 17:10:20 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-28 17:10:20 -0400 |
| commit | fdccfe09f0b10776645fdb04a0783d6864c32b21 (patch) | |
| tree | c4a63ca1deebf560cd8f3f819441180d92e88785 /Lib/test | |
| parent | f9b364fe51ac083e3e423b1e2cefe0e1ad7d9a60 (diff) | |
| download | cpython-git-fdccfe09f0b10776645fdb04a0783d6864c32b21.tar.gz | |
bpo-33469: RuntimeError after closing loop that used run_in_executor (GH-7171)
Diffstat (limited to 'Lib/test')
| -rw-r--r-- | Lib/test/test_asyncio/test_events.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_asyncio/test_events.py b/Lib/test/test_asyncio/test_events.py index ba28e8ce87..39d85e8df0 100644 --- a/Lib/test/test_asyncio/test_events.py +++ b/Lib/test/test_asyncio/test_events.py @@ -347,6 +347,24 @@ class EventLoopTestsMixin: self.assertEqual(res, 'yo') self.assertNotEqual(thread_id, threading.get_ident()) + def test_run_in_executor_cancel(self): + called = False + + def patched_call_soon(*args): + nonlocal called + called = True + + def run(): + time.sleep(0.05) + + f2 = self.loop.run_in_executor(None, run) + f2.cancel() + self.loop.close() + self.loop.call_soon = patched_call_soon + self.loop.call_soon_threadsafe = patched_call_soon + time.sleep(0.4) + self.assertFalse(called) + def test_reader_callback(self): r, w = socket.socketpair() r.setblocking(False) |
