mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merge 3.4 (asyncio)
This commit is contained in:
commit
a7a4c41411
2 changed files with 22 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
|||
import signal
|
||||
import sys
|
||||
import unittest
|
||||
import warnings
|
||||
from unittest import mock
|
||||
|
||||
import asyncio
|
||||
|
@ -413,6 +414,20 @@ class SubprocessMixin:
|
|||
# the transport was not notified yet
|
||||
self.assertFalse(killed)
|
||||
|
||||
def test_popen_error(self):
|
||||
# Issue #24763: check that the subprocess transport is closed
|
||||
# when BaseSubprocessTransport fails
|
||||
with mock.patch('subprocess.Popen') as popen:
|
||||
exc = ZeroDivisionError
|
||||
popen.side_effect = exc
|
||||
|
||||
create = asyncio.create_subprocess_exec(sys.executable, '-c',
|
||||
'pass', loop=self.loop)
|
||||
with warnings.catch_warnings(record=True) as warns:
|
||||
with self.assertRaises(exc):
|
||||
self.loop.run_until_complete(create)
|
||||
self.assertEqual(warns, [])
|
||||
|
||||
|
||||
if sys.platform != 'win32':
|
||||
# Unix
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue