commit:     0c96d2d0b18036cb94d68c42783441d32af2d9d3
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed May  9 07:54:26 2018 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed May  9 07:59:56 2018 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=0c96d2d0

SubprocessExecTestCase: fix unintended skipTest

The internal asyncio shim does not provide a
create_subprocess_exec attribute, so access it
directly from the real asyncio module.

Fixes 82a3cda6f1ff ("Minimize _asyncio_wrapper usage (bug 654390)")

 .../util/futures/asyncio/test_subprocess_exec.py    | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/pym/portage/tests/util/futures/asyncio/test_subprocess_exec.py 
b/pym/portage/tests/util/futures/asyncio/test_subprocess_exec.py
index 534d79c53..5a812ba6a 100644
--- a/pym/portage/tests/util/futures/asyncio/test_subprocess_exec.py
+++ b/pym/portage/tests/util/futures/asyncio/test_subprocess_exec.py
@@ -4,6 +4,11 @@
 import os
 import subprocess
 
+try:
+       from asyncio import create_subprocess_exec
+except ImportError:
+       create_subprocess_exec = None
+
 from portage.process import find_binary
 from portage.tests import TestCase
 from portage.util._eventloop.global_event_loop import global_event_loop
@@ -71,7 +76,7 @@ class SubprocessExecTestCase(TestCase):
                                
self.assertFalse(global_event_loop().is_closed())
 
        def testEcho(self):
-               if not hasattr(asyncio, 'create_subprocess_exec'):
+               if create_subprocess_exec is None:
                        self.skipTest('create_subprocess_exec not implemented 
for python2')
 
                args_tuple = (b'hello', b'world')
@@ -91,7 +96,7 @@ class SubprocessExecTestCase(TestCase):
                        try:
                                with open(os.devnull, 'rb', 0) as devnull:
                                        proc = loop.run_until_complete(
-                                               asyncio.create_subprocess_exec(
+                                               create_subprocess_exec(
                                                echo_binary, *args_tuple,
                                                stdin=devnull, 
stdout=stdout_pw, stderr=stdout_pw))
 
@@ -114,7 +119,7 @@ class SubprocessExecTestCase(TestCase):
                self._run_test(test)
 
        def testCat(self):
-               if not hasattr(asyncio, 'create_subprocess_exec'):
+               if create_subprocess_exec is None:
                        self.skipTest('create_subprocess_exec not implemented 
for python2')
 
                stdin_data = b'hello world'
@@ -138,7 +143,7 @@ class SubprocessExecTestCase(TestCase):
                        output = None
                        try:
                                proc = loop.run_until_complete(
-                                       asyncio.create_subprocess_exec(
+                                       create_subprocess_exec(
                                        cat_binary,
                                        stdin=stdin_pr, stdout=stdout_pw, 
stderr=stdout_pw))
 
@@ -173,7 +178,7 @@ class SubprocessExecTestCase(TestCase):
                requires an AbstractEventLoop.connect_read_pipe implementation
                (and a ReadTransport implementation for it to return).
                """
-               if not hasattr(asyncio, 'create_subprocess_exec'):
+               if create_subprocess_exec is None:
                        self.skipTest('create_subprocess_exec not implemented 
for python2')
 
                args_tuple = (b'hello', b'world')
@@ -184,7 +189,7 @@ class SubprocessExecTestCase(TestCase):
                def test(loop):
                        with open(os.devnull, 'rb', 0) as devnull:
                                proc = loop.run_until_complete(
-                                       asyncio.create_subprocess_exec(
+                                       create_subprocess_exec(
                                        echo_binary, *args_tuple,
                                        stdin=devnull,
                                        stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT))
@@ -202,7 +207,7 @@ class SubprocessExecTestCase(TestCase):
                requires an AbstractEventLoop.connect_write_pipe implementation
                (and a WriteTransport implementation for it to return).
                """
-               if not hasattr(asyncio, 'create_subprocess_exec'):
+               if create_subprocess_exec is None:
                        self.skipTest('create_subprocess_exec not implemented 
for python2')
 
                stdin_data = b'hello world'
@@ -212,7 +217,7 @@ class SubprocessExecTestCase(TestCase):
 
                def test(loop):
                        proc = loop.run_until_complete(
-                               asyncio.create_subprocess_exec(
+                               create_subprocess_exec(
                                cat_binary,
                                stdin=subprocess.PIPE,
                                stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT))

Reply via email to