Fedora Account System
Red Hat Associate
Red Hat Customer
python-pexpect fails to build with Python 3.12.0a3. =================================== FAILURES =================================== _________________________ AsyncTests.test_async_and_gc _________________________ self = <tests.test_async.AsyncTests testMethod=test_async_and_gc> def test_async_and_gc(self): p = pexpect.spawn('%s sleep_for.py 1' % self.PYTHONBIN, encoding='utf8') > assert run(p.expect_exact(u'READY', async_=True)) == 0 tests/test_async.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_async_and_gc ________________________ AsyncTests.test_async_and_sync ________________________ self = <tests.test_async.AsyncTests testMethod=test_async_and_sync> def test_async_and_sync(self): p = pexpect.spawn('echo 1234', encoding='utf8', maxread=1) > assert run(p.expect_exact(u'1', async_=True)) == 0 tests/test_async.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_async_and_sync ________________________ AsyncTests.test_async_replwrap ________________________ self = <tests.test_async.AsyncTests testMethod=test_async_replwrap> def test_async_replwrap(self): bash = replwrap.bash() coro = bash.run_command("time", async_=True) > res = run(coro) tests/test_async.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_async_replwrap ___________________ AsyncTests.test_async_replwrap_multiline ___________________ self = <tests.test_async.AsyncTests testMethod=test_async_replwrap_multiline> def test_async_replwrap_multiline(self): bash = replwrap.bash() coro = bash.run_command("echo '1 2\n3 4'", async_=True) > res = run(coro) tests/test_async.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_async_replwrap_multiline __________________________ AsyncTests.test_async_utf8 __________________________ self = <tests.test_async.AsyncTests testMethod=test_async_utf8> def test_async_utf8(self): p = pexpect.spawn('%s list100.py' % self.PYTHONBIN, encoding='utf8') > assert run(p.expect_exact(u'5', async_=True)) == 0 tests/test_async.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_async_utf8 _____________________________ AsyncTests.test_eof ______________________________ self = <tests.test_async.AsyncTests testMethod=test_eof> def test_eof(self): p = pexpect.spawn('cat') p.sendline('Hi') coro = p.expect(pexpect.EOF, async_=True) p.sendeof() > assert run(coro) == 0 tests/test_async.py:41: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_eof _________________________ AsyncTests.test_expect_exact _________________________ self = <tests.test_async.AsyncTests testMethod=test_expect_exact> def test_expect_exact(self): p = pexpect.spawn('%s list100.py' % self.PYTHONBIN) > assert run(p.expect_exact(b'5', async_=True)) == 0 tests/test_async.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_expect_exact ________________________ AsyncTests.test_simple_expect _________________________ self = <tests.test_async.AsyncTests testMethod=test_simple_expect> def test_simple_expect(self): p = pexpect.spawn('cat') p.sendline('Hello asyncio') coro = p.expect(['Hello', pexpect.EOF] , async_=True) > assert run(coro) == 0 tests/test_async.py:23: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7f3b3c86f590> def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_simple_expect ___________________________ AsyncTests.test_timeout ____________________________ self = <tests.test_async.AsyncTests testMethod=test_timeout> def test_timeout(self): p = pexpect.spawn('cat') coro = p.expect('foo', timeout=1, async_=True) with self.assertRaises(pexpect.TIMEOUT): > run(coro) tests/test_async.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_async.py:15: in run return asyncio.get_event_loop().run_until_complete(coro) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if self._local._loop is None: > raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) E RuntimeError: There is no current event loop in thread 'MainThread'. /usr/lib64/python3.12/asyncio/events.py:676: RuntimeError ----------------------------- Captured stdout call ----------------------------- tests.test_async.AsyncTests.test_timeout _________________________ ExpectTestCase.test_bad_arg __________________________ self = <tests.test_expect.ExpectTestCase testMethod=test_bad_arg> def test_bad_arg(self): p = pexpect.spawn('cat') > with self.assertRaisesRegexp(TypeError, '.*must be one of'): E AttributeError: 'ExpectTestCase' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? tests/test_expect.py:572: AttributeError ----------------------------- Captured stdout call ----------------------------- tests.test_expect.ExpectTestCase.test_bad_arg _______________ TestCaseMisc.test_bad_arguments_suggest_fdpsawn ________________ self = <tests.test_misc.TestCaseMisc testMethod=test_bad_arguments_suggest_fdpsawn> def test_bad_arguments_suggest_fdpsawn(self): " assert custom exception for spawn(int). " expect_errmsg = "maybe you want to use fdpexpect.fdspawn" > with self.assertRaisesRegexp(pexpect.ExceptionPexpect, ".*" + expect_errmsg): E AttributeError: 'TestCaseMisc' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? tests/test_misc.py:227: AttributeError ----------------------------- Captured stdout call ----------------------------- tests.test_misc.TestCaseMisc.test_bad_arguments_suggest_fdpsawn _______________________ TestCaseMisc.test_bad_child_pid ________________________ self = <tests.test_misc.TestCaseMisc testMethod=test_bad_child_pid> def test_bad_child_pid(self): " assert bad condition error in isalive(). " expect_errmsg = re.escape("isalive() encountered condition where ") child = pexpect.spawn('cat') child.terminate(force=1) # Force an invalid state to test isalive child.ptyproc.terminated = 0 try: > with self.assertRaisesRegexp(pexpect.ExceptionPexpect, ".*" + expect_errmsg): E AttributeError: 'TestCaseMisc' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? tests/test_misc.py:217: AttributeError ----------------------------- Captured stdout call ----------------------------- tests.test_misc.TestCaseMisc.test_bad_child_pid _________________________ ExpectTestCase.test_bad_arg __________________________ self = <tests.test_popen_spawn.ExpectTestCase testMethod=test_bad_arg> def test_bad_arg(self): p = PopenSpawn('cat') > with self.assertRaisesRegexp(TypeError, '.*must be one of'): E AttributeError: 'ExpectTestCase' object has no attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? tests/test_popen_spawn.py:113: AttributeError ----------------------------- Captured stdout call ----------------------------- tests.test_popen_spawn.ExpectTestCase.test_bad_arg ____________________ PxsshTestCase.test_connection_refused _____________________ self = <pexpect.pxssh.pxssh object at 0x7f3b3be4fce0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: > s = os.read(self.child_fd, size) E OSError: [Errno 5] Input/output error /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:169: OSError During handling of the above exception, another exception occurred: self = <tests.test_pxssh.PxsshTestCase testMethod=test_connection_refused> def test_connection_refused(self): ssh = pxssh.pxssh() try: > ssh.login('noserver', 'me', password='s3cret') /builddir/build/BUILD/pexpect-4.8.0/tests/test_pxssh.py:60: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:462: in login if not self.sync_original_prompt(sync_multiplier): /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:232: in sync_original_prompt self.try_read_prompt(sync_multiplier) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:207: in try_read_prompt prompt += self.read_nonblocking(size=1, timeout=timeout) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pty_spawn.py:460: in read_nonblocking incoming = super(spawn, self).read_nonblocking(size) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.pxssh.pxssh object at 0x7f3b3be4fce0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: s = os.read(self.child_fd, size) except OSError as err: if err.args[0] == errno.EIO: # Linux-style EOF self.flag_eof = True > raise EOF('End Of File (EOF). Exception style platform.') E pexpect.exceptions.EOF: End Of File (EOF). Exception style platform. /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:174: EOF ----------------------------- Captured stdout call ----------------------------- tests.test_pxssh.PxsshTestCase.test_connection_refused ______________________ PxsshTestCase.test_custom_ssh_cmd _______________________ self = <pexpect.pxssh.pxssh object at 0x7f3b3be4d5b0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: > s = os.read(self.child_fd, size) E OSError: [Errno 5] Input/output error /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:169: OSError During handling of the above exception, another exception occurred: self = <tests.test_pxssh.PxsshTestCase testMethod=test_custom_ssh_cmd> def test_custom_ssh_cmd(self): try: ssh = pxssh.pxssh() cipher_string = '-c aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,' \ + 'aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,' \ + 'aes256-cbc,arcfour' > result = ssh.login('server', 'me', password='s3cret', cmd='ssh ' + cipher_string + ' -2') /builddir/build/BUILD/pexpect-4.8.0/tests/test_pxssh.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:462: in login if not self.sync_original_prompt(sync_multiplier): /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:232: in sync_original_prompt self.try_read_prompt(sync_multiplier) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:207: in try_read_prompt prompt += self.read_nonblocking(size=1, timeout=timeout) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pty_spawn.py:460: in read_nonblocking incoming = super(spawn, self).read_nonblocking(size) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.pxssh.pxssh object at 0x7f3b3be4d5b0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: s = os.read(self.child_fd, size) except OSError as err: if err.args[0] == errno.EIO: # Linux-style EOF self.flag_eof = True > raise EOF('End Of File (EOF). Exception style platform.') E pexpect.exceptions.EOF: End Of File (EOF). Exception style platform. /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:174: EOF ----------------------------- Captured stdout call ----------------------------- tests.test_pxssh.PxsshTestCase.test_custom_ssh_cmd ___________________ PxsshTestCase.test_failed_custom_ssh_cmd ___________________ self = <pexpect.pxssh.pxssh object at 0x7f3b3bce6b10>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: > s = os.read(self.child_fd, size) E OSError: [Errno 5] Input/output error /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:169: OSError During handling of the above exception, another exception occurred: self = <tests.test_pxssh.PxsshTestCase testMethod=test_failed_custom_ssh_cmd> def test_failed_custom_ssh_cmd(self): try: ssh = pxssh.pxssh() cipher_string = '-c invalid_cipher' > result = ssh.login('server', 'me', password='s3cret', cmd='ssh ' + cipher_string + ' -2') /builddir/build/BUILD/pexpect-4.8.0/tests/test_pxssh.py:263: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:462: in login if not self.sync_original_prompt(sync_multiplier): /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:232: in sync_original_prompt self.try_read_prompt(sync_multiplier) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:207: in try_read_prompt prompt += self.read_nonblocking(size=1, timeout=timeout) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pty_spawn.py:460: in read_nonblocking incoming = super(spawn, self).read_nonblocking(size) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.pxssh.pxssh object at 0x7f3b3bce6b10>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: s = os.read(self.child_fd, size) except OSError as err: if err.args[0] == errno.EIO: # Linux-style EOF self.flag_eof = True > raise EOF('End Of File (EOF). Exception style platform.') E pexpect.exceptions.EOF: End Of File (EOF). Exception style platform. /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:174: EOF ----------------------------- Captured stdout call ----------------------------- tests.test_pxssh.PxsshTestCase.test_failed_custom_ssh_cmd _________________ PxsshTestCase.test_failed_set_unique_prompt __________________ self = <pexpect.pxssh.pxssh object at 0x7f3b3bcea9f0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: > s = os.read(self.child_fd, size) E OSError: [Errno 5] Input/output error /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:169: OSError During handling of the above exception, another exception occurred: self = <tests.test_pxssh.PxsshTestCase testMethod=test_failed_set_unique_prompt> def test_failed_set_unique_prompt(self): ssh = pxssh.pxssh() ssh.set_unique_prompt = lambda: False try: > ssh.login('server', 'me', password='s3cret', auto_prompt_reset=True) /builddir/build/BUILD/pexpect-4.8.0/tests/test_pxssh.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:462: in login if not self.sync_original_prompt(sync_multiplier): /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:232: in sync_original_prompt self.try_read_prompt(sync_multiplier) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:207: in try_read_prompt prompt += self.read_nonblocking(size=1, timeout=timeout) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pty_spawn.py:460: in read_nonblocking incoming = super(spawn, self).read_nonblocking(size) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.pxssh.pxssh object at 0x7f3b3bcea9f0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: s = os.read(self.child_fd, size) except OSError as err: if err.args[0] == errno.EIO: # Linux-style EOF self.flag_eof = True > raise EOF('End Of File (EOF). Exception style platform.') E pexpect.exceptions.EOF: End Of File (EOF). Exception style platform. /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:174: EOF ----------------------------- Captured stdout call ----------------------------- tests.test_pxssh.PxsshTestCase.test_failed_set_unique_prompt _________________________ PxsshTestCase.test_fake_ssh __________________________ self = <pexpect.pxssh.pxssh object at 0x7f3b3a34aae0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: > s = os.read(self.child_fd, size) E OSError: [Errno 5] Input/output error /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:169: OSError During handling of the above exception, another exception occurred: self = <tests.test_pxssh.PxsshTestCase testMethod=test_fake_ssh> def test_fake_ssh(self): ssh = pxssh.pxssh() #ssh.logfile_read = sys.stdout # DEBUG > ssh.login('server', 'me', password='s3cret') /builddir/build/BUILD/pexpect-4.8.0/tests/test_pxssh.py:31: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:462: in login if not self.sync_original_prompt(sync_multiplier): /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:232: in sync_original_prompt self.try_read_prompt(sync_multiplier) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:207: in try_read_prompt prompt += self.read_nonblocking(size=1, timeout=timeout) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pty_spawn.py:460: in read_nonblocking incoming = super(spawn, self).read_nonblocking(size) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.pxssh.pxssh object at 0x7f3b3a34aae0>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: s = os.read(self.child_fd, size) except OSError as err: if err.args[0] == errno.EIO: # Linux-style EOF self.flag_eof = True > raise EOF('End Of File (EOF). Exception style platform.') E pexpect.exceptions.EOF: End Of File (EOF). Exception style platform. /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:174: EOF ----------------------------- Captured stdout call ----------------------------- tests.test_pxssh.PxsshTestCase.test_fake_ssh _________________________ PxsshTestCase.test_wrong_pw __________________________ self = <pexpect.pxssh.pxssh object at 0x7f3b3bfb1730>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: > s = os.read(self.child_fd, size) E OSError: [Errno 5] Input/output error /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:169: OSError During handling of the above exception, another exception occurred: self = <tests.test_pxssh.PxsshTestCase testMethod=test_wrong_pw> def test_wrong_pw(self): ssh = pxssh.pxssh() try: > ssh.login('server', 'me', password='wr0ng') /builddir/build/BUILD/pexpect-4.8.0/tests/test_pxssh.py:40: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:462: in login if not self.sync_original_prompt(sync_multiplier): /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:232: in sync_original_prompt self.try_read_prompt(sync_multiplier) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pxssh.py:207: in try_read_prompt prompt += self.read_nonblocking(size=1, timeout=timeout) /builddir/build/BUILD/pexpect-4.8.0/pexpect/pty_spawn.py:460: in read_nonblocking incoming = super(spawn, self).read_nonblocking(size) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pexpect.pxssh.pxssh object at 0x7f3b3bfb1730>, size = 1, timeout = None def read_nonblocking(self, size=1, timeout=None): """This reads data from the file descriptor. This is a simple implementation suitable for a regular file. Subclasses using ptys or pipes should override it. The timeout parameter is ignored. """ try: s = os.read(self.child_fd, size) except OSError as err: if err.args[0] == errno.EIO: # Linux-style EOF self.flag_eof = True > raise EOF('End Of File (EOF). Exception style platform.') E pexpect.exceptions.EOF: End Of File (EOF). Exception style platform. /builddir/build/BUILD/pexpect-4.8.0/pexpect/spawnbase.py:174: EOF ----------------------------- Captured stdout call ----------------------------- asyncio.get_event_loop() and many other asyncio functions like ensure_future(), shield() or gather(), and also the get_event_loop() method of BaseDefaultEventLoopPolicy now raise a RuntimeError if called when there is no running event loop and the current event loop was not set. Previously they implicitly created and set a new current event loop. DeprecationWarning is no longer emitted if there is no running event loop but the current event loop is set in the policy. (Contributed by Serhiy Storchaka in gh-93453.) https://github.com/python/cpython/issues/93453 https://docs.python.org/3.12/whatsnew/3.12.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.12/fedora-rawhide-x86_64/05133688-python-pexpect/ For all our attempts to build python-pexpect with Python 3.12, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.12/package/python-pexpect/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.12: https://copr.fedorainfracloud.org/coprs/g/python/python3.12/ Let us know here if you have any questions. Python 3.12 is planned to be included in Fedora 39. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.12. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
Thanks for filing that issue. Unfortunately, upstream is somewhat dead for this package. I've fixed some of the issues, but the event loop stuff was removed prematurely and I believe it will be back in the next Python 3.12 alpha (which is supposed to be out on Monday?). I'll check again then.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 38 development cycle. Changing version to 38.
This should be fixed now in Rawhide along with alpha 5.