From: Victor Stinner Date: Tue, 17 Feb 2015 21:54:11 +0000 (+0100) Subject: Issue #23475, asyncio: Fix test_close_kill_running() X-Git-Tag: v3.5.0a2~127^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4088ad9dcef0d7bbe26dc4a2527d4220ac558f53;p=python Issue #23475, asyncio: Fix test_close_kill_running() Really kill the child process, don't mock completly the Popen.kill() method. This change fix memory leaks and reference leaks. --- diff --git a/Lib/test/test_asyncio/test_subprocess.py b/Lib/test/test_asyncio/test_subprocess.py index de0b08af6c..92bf1b45ed 100644 --- a/Lib/test/test_asyncio/test_subprocess.py +++ b/Lib/test/test_asyncio/test_subprocess.py @@ -355,11 +355,19 @@ class SubprocessMixin: create = self.loop.subprocess_exec(asyncio.SubprocessProtocol, *PROGRAM_BLOCKED) transport, protocol = yield from create + + kill_called = False + def kill(): + nonlocal kill_called + kill_called = True + orig_kill() + proc = transport.get_extra_info('subprocess') - proc.kill = mock.Mock() + orig_kill = proc.kill + proc.kill = kill returncode = transport.get_returncode() transport.close() - return (returncode, proc.kill.called) + return (returncode, kill_called) # Ignore "Close running child process: kill ..." log with test_utils.disable_logger():