Subject: Re: bug#26286: python-pexpect 4.2.1 test failure in test_async_utf8

From: Marius Bakke <[email-masked]>
Date: Wed, 29 Mar 2017 02:46:24 +0200

Danny Milosavljevic <[email-masked]> writes:

> python-pexpect 4.2.1 has a test failure on both master and core-updates:

[...]

> ======================================================================
> ERROR: test_async_utf8 (tests.test_async.AsyncTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/tmp/guix-build-python-pexpect-4.2.1.drv-0/pexpect-4.2.1/tests/test_async.py", line 57, in test_async_utf8
>     assert run(p.expect_exact([u'foo', pexpect.EOF], async=True)) == 1
>   File "/tmp/guix-build-python-pexpect-4.2.1.drv-0/pexpect-4.2.1/tests/test_async.py", line 13, in run
>     return asyncio.get_event_loop().run_until_complete(coro)
>   File "/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/base_events.py", line 387, in run_until_complete
>     return future.result()
>   File "/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/futures.py", line 274, in result
>     raise self._exception
>   File "/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/tasks.py", line 239, in _step
>     result = coro.send(None)
>   File "/tmp/guix-build-python-pexpect-4.2.1.drv-0/pexpect-4.2.1/pexpect/async.py", line 17, in expect_async
>     .connect_read_pipe(lambda: PatternWaiter(expecter), expecter.spawn)
>   File "/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/base_events.py", line 986, in connect_read_pipe
>     transport = self._make_read_pipe_transport(pipe, protocol, waiter)
>   File "/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/unix_events.py", line 169, in _make_read_pipe_transport
>     return _UnixReadPipeTransport(self, pipe, protocol, waiter, extra)
>   File "/gnu/store/alk9r3rir93pjmv8im20f8xrvv90219z-python-3.5.2/lib/python3.5/asyncio/unix_events.py", line 308, in __init__
>     mode = os.fstat(self._fileno).st_mode
> OSError: [Errno 9] Bad file descriptor
> -------------------- >> begin captured stdout << ---------------------
>
>  tests.test_async.AsyncTests.test_async_utf8 
> --------------------- >> end captured stdout << ----------------------
> -------------------- >> begin captured logging << --------------------
> asyncio: DEBUG: Using selector: EpollSelector
> --------------------- >> end captured logging << ---------------------
>
> ----------------------------------------------------------------------
> Ran 52 tests in 23.885s
>
> FAILED (errors=1)

Thanks for the report! I am no longer able to reproduce this issue on
'master' after 3ee9355e2fd2d0fcee1076ca1160ba5881b73da8. I'm not
entirely sure why, though :-)