Commit 4088ad9d authored by Victor Stinner's avatar Victor Stinner

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.
parent 4cb814c7
...@@ -355,11 +355,19 @@ class SubprocessMixin: ...@@ -355,11 +355,19 @@ class SubprocessMixin:
create = self.loop.subprocess_exec(asyncio.SubprocessProtocol, create = self.loop.subprocess_exec(asyncio.SubprocessProtocol,
*PROGRAM_BLOCKED) *PROGRAM_BLOCKED)
transport, protocol = yield from create 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 = transport.get_extra_info('subprocess')
proc.kill = mock.Mock() orig_kill = proc.kill
proc.kill = kill
returncode = transport.get_returncode() returncode = transport.get_returncode()
transport.close() transport.close()
return (returncode, proc.kill.called) return (returncode, kill_called)
# Ignore "Close running child process: kill ..." log # Ignore "Close running child process: kill ..." log
with test_utils.disable_logger(): with test_utils.disable_logger():
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment