Issue #23140, asyncio: Simplify the unit test

This commit is contained in:
Victor Stinner 2015-01-06 01:22:45 +01:00
parent c447ba04e7
commit 212994e4e2
1 changed files with 6 additions and 8 deletions

View File

@ -226,11 +226,6 @@ class SubprocessMixin:
def test_cancel_process_wait(self):
# Issue #23140: cancel Process.wait()
@asyncio.coroutine
def wait_proc(proc, event):
event.set()
yield from proc.wait()
@asyncio.coroutine
def cancel_wait():
proc = yield from asyncio.create_subprocess_exec(
@ -238,9 +233,12 @@ class SubprocessMixin:
loop=self.loop)
# Create an internal future waiting on the process exit
event = asyncio.Event(loop=self.loop)
task = self.loop.create_task(wait_proc(proc, event))
yield from event.wait()
task = self.loop.create_task(proc.wait())
self.loop.call_soon(task.cancel)
try:
yield from task
except asyncio.CancelledError:
pass
# Cancel the future
task.cancel()