Your message dated Thu, 15 Dec 2022 21:03:32 +0000 with message-id <[email protected]> and subject line Bug#1025924: fixed in python-rx 3.2.0-3 has caused the Debian Bug report #1025924, regarding python-rx: Fails to build with Python 3.11 (AttributeError: module 'asyncio' has no attribute 'coroutine') to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 1025924: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025924 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Source: python-rx Version: 3.2.0-2 Severity: serious Tags: upstream ftbfs Justification: fails to build from source python-rx fails to build now that tests are being run on Python 3.11. Here are the failures from pytest: =================================== FAILURES =================================== ______________________ TestFromFuture.test_future_cancel _______________________ self = <tests.test_observable.test_fromfuture.TestFromFuture testMethod=test_future_cancel> def test_future_cancel(self): loop = asyncio.get_event_loop() success = [True, False, True] > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_observable/test_fromfuture.py:66: AttributeError ______________________ TestFromFuture.test_future_dispose ______________________ self = <tests.test_observable.test_fromfuture.TestFromFuture testMethod=test_future_dispose> def test_future_dispose(self): loop = asyncio.get_event_loop() success = [True, True, True] > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_observable/test_fromfuture.py:90: AttributeError ______________________ TestFromFuture.test_future_failure ______________________ self = <tests.test_observable.test_fromfuture.TestFromFuture testMethod=test_future_failure> def test_future_failure(self): loop = asyncio.get_event_loop() success = [True, False, True] > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_observable/test_fromfuture.py:39: AttributeError ______________________ TestFromFuture.test_future_success ______________________ self = <tests.test_observable.test_fromfuture.TestFromFuture testMethod=test_future_success> def test_future_success(self): loop = asyncio.get_event_loop() success = [False, True, False] > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_observable/test_fromfuture.py:14: AttributeError __________________________ TestStart.test_start_async __________________________ self = <tests.test_observable.test_start.TestStart testMethod=test_start_async> def test_start_async(self): loop = asyncio.get_event_loop() success = [False] > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_observable/test_start.py:23: AttributeError _______________________ TestStart.test_start_async_error _______________________ self = <tests.test_observable.test_start.TestStart testMethod=test_start_async_error> def test_start_async_error(self): loop = asyncio.get_event_loop() success = [False] > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_observable/test_start.py:43: AttributeError ______________ TestAsyncIOScheduler.test_asyncio_schedule_action _______________ self = <tests.test_scheduler.test_eventloop.test_asyncioscheduler.TestAsyncIOScheduler testMethod=test_asyncio_schedule_action> def test_asyncio_schedule_action(self): loop = asyncio.get_event_loop() > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_scheduler/test_eventloop/test_asyncioscheduler.py:33: AttributeError ___________ TestAsyncIOScheduler.test_asyncio_schedule_action_cancel ___________ self = <tests.test_scheduler.test_eventloop.test_asyncioscheduler.TestAsyncIOScheduler testMethod=test_asyncio_schedule_action_cancel> def test_asyncio_schedule_action_cancel(self): loop = asyncio.get_event_loop() > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_scheduler/test_eventloop/test_asyncioscheduler.py:80: AttributeError ____________ TestAsyncIOScheduler.test_asyncio_schedule_action_due _____________ self = <tests.test_scheduler.test_eventloop.test_asyncioscheduler.TestAsyncIOScheduler testMethod=test_asyncio_schedule_action_due> def test_asyncio_schedule_action_due(self): loop = asyncio.get_event_loop() > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_scheduler/test_eventloop/test_asyncioscheduler.py:55: AttributeError ____ TestAsyncIOThreadSafeScheduler.test_asyncio_threadsafe_schedule_action ____ self = <tests.test_scheduler.test_eventloop.test_asynciothreadsafescheduler.TestAsyncIOThreadSafeScheduler testMethod=test_asyncio_threadsafe_schedule_action> def test_asyncio_threadsafe_schedule_action(self): loop = asyncio.get_event_loop() > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py:34: AttributeError _ TestAsyncIOThreadSafeScheduler.test_asyncio_threadsafe_schedule_action_cancel _ self = <tests.test_scheduler.test_eventloop.test_asynciothreadsafescheduler.TestAsyncIOThreadSafeScheduler testMethod=test_asyncio_threadsafe_schedule_action_cancel> def test_asyncio_threadsafe_schedule_action_cancel(self): loop = asyncio.get_event_loop() > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py:87: AttributeError _ TestAsyncIOThreadSafeScheduler.test_asyncio_threadsafe_schedule_action_cancel_same_loop _ self = <tests.test_scheduler.test_eventloop.test_asynciothreadsafescheduler.TestAsyncIOThreadSafeScheduler testMethod=test_asyncio_threadsafe_schedule_action_cancel_same_loop> def test_asyncio_threadsafe_schedule_action_cancel_same_loop(self): def test_body(scheduler, action, update_state): d = scheduler.schedule_relative(0.1, action) def do_dispose(): d.dispose() update_state['dispose_completed'] = True # Test case when dispose is called in loop's callback. scheduler._loop.call_soon(do_dispose) > self.cancel_same_thread_common(test_body) tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.test_scheduler.test_eventloop.test_asynciothreadsafescheduler.TestAsyncIOThreadSafeScheduler testMethod=test_asyncio_threadsafe_schedule_action_cancel_same_loop> test_body = <function TestAsyncIOThreadSafeScheduler.test_asyncio_threadsafe_schedule_action_cancel_same_loop.<locals>.test_body at 0x7fc4e6c13420> def cancel_same_thread_common(self, test_body): update_state = { 'ran': False, 'dispose_completed': False } def action(scheduler, state): update_state['ran'] = True # Make the actual test body run in deamon thread, so that in case of # failure it doesn't hang indefinitely. def thread_target(): loop = asyncio.new_event_loop() scheduler = AsyncIOThreadSafeScheduler(loop) test_body(scheduler, action, update_state) @asyncio.coroutine def go(): kwargs = {} if version_info[:2] < (3, 10): kwargs['loop'] = loop yield from asyncio.sleep(0.2, **kwargs) loop.run_until_complete(go()) thread = threading.Thread(target=thread_target) thread.daemon = True thread.start() thread.join(0.3) > assert update_state['dispose_completed'] is True E assert False is True tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py:140: AssertionError __ TestAsyncIOThreadSafeScheduler.test_asyncio_threadsafe_schedule_action_due __ self = <tests.test_scheduler.test_eventloop.test_asynciothreadsafescheduler.TestAsyncIOThreadSafeScheduler testMethod=test_asyncio_threadsafe_schedule_action_due> def test_asyncio_threadsafe_schedule_action_due(self): loop = asyncio.get_event_loop() > @asyncio.coroutine E AttributeError: module 'asyncio' has no attribute 'coroutine' tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py:59: AttributeError =============================== warnings summary =============================== .pybuild/cpython3_3.11_rx/build/tests/test_observable/test_flatmap_async.py::TestFlatMapAsync::test_flat_map_async /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rx/build/tests/test_observable/test_flatmap_async.py:13: DeprecationWarning: There is no current event loop loop = asyncio.get_event_loop() .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_timeoutscheduler.py::TestTimeoutScheduler::test_timeout_schedule_action /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rx/build/rx/scheduler/timeoutscheduler.py:51: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead timer.setDaemon(True) .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_timeoutscheduler.py::TestTimeoutScheduler::test_timeout_schedule_action_cancel .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_timeoutscheduler.py::TestTimeoutScheduler::test_timeout_schedule_action_due /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rx/build/rx/scheduler/timeoutscheduler.py:86: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead timer.setDaemon(True) .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asyncioscheduler.py::TestAsyncIOScheduler::test_asyncio_schedule_now_units /usr/lib/python3.11/unittest/case.py:678: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method TestAsyncIOScheduler.test_asyncio_schedule_now_units of <tests.test_scheduler.test_eventloop.test_asyncioscheduler.TestAsyncIOScheduler testMethod=test_asyncio_schedule_now_units>>) return self.run(*args, **kwds) .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_cancel_non_relative_same_thread /usr/lib/python3/dist-packages/_pytest/threadexception.py:73: PytestUnhandledThreadExceptionWarning: Exception in thread Thread-115 (thread_target) Traceback (most recent call last): File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/lib/python3.11/threading.py", line 975, in run self._target(*self._args, **self._kwargs) File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py", line 127, in thread_target @asyncio.coroutine ^^^^^^^^^^^^^^^^^ AttributeError: module 'asyncio' has no attribute 'coroutine' warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg)) .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_schedule_action_cancel_same_loop /usr/lib/python3/dist-packages/_pytest/threadexception.py:73: PytestUnhandledThreadExceptionWarning: Exception in thread Thread-116 (thread_target) Traceback (most recent call last): File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/lib/python3.11/threading.py", line 975, in run self._target(*self._args, **self._kwargs) File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py", line 127, in thread_target @asyncio.coroutine ^^^^^^^^^^^^^^^^^ AttributeError: module 'asyncio' has no attribute 'coroutine' warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg)) .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_schedule_action_cancel_same_thread /usr/lib/python3/dist-packages/_pytest/threadexception.py:73: PytestUnhandledThreadExceptionWarning: Exception in thread Thread-117 (thread_target) Traceback (most recent call last): File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/lib/python3.11/threading.py", line 975, in run self._target(*self._args, **self._kwargs) File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py", line 127, in thread_target @asyncio.coroutine ^^^^^^^^^^^^^^^^^ AttributeError: module 'asyncio' has no attribute 'coroutine' warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg)) .pybuild/cpython3_3.11_rx/build/tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_schedule_now_units /usr/lib/python3.11/unittest/case.py:678: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method TestAsyncIOThreadSafeScheduler.test_asyncio_threadsafe_schedule_now_units of <tests.test_scheduler.test_eventloop.test_asynciothreadsafescheduler.TestAsyncIOThreadSafeScheduler testMethod=test_asyncio_threadsafe_schedule_now_units>>) return self.run(*args, **kwds) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_observable/test_fromfuture.py::TestFromFuture::test_future_cancel FAILED tests/test_observable/test_fromfuture.py::TestFromFuture::test_future_dispose FAILED tests/test_observable/test_fromfuture.py::TestFromFuture::test_future_failure FAILED tests/test_observable/test_fromfuture.py::TestFromFuture::test_future_success FAILED tests/test_observable/test_start.py::TestStart::test_start_async - Att... FAILED tests/test_observable/test_start.py::TestStart::test_start_async_error FAILED tests/test_scheduler/test_eventloop/test_asyncioscheduler.py::TestAsyncIOScheduler::test_asyncio_schedule_action FAILED tests/test_scheduler/test_eventloop/test_asyncioscheduler.py::TestAsyncIOScheduler::test_asyncio_schedule_action_cancel FAILED tests/test_scheduler/test_eventloop/test_asyncioscheduler.py::TestAsyncIOScheduler::test_asyncio_schedule_action_due FAILED tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_schedule_action FAILED tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_schedule_action_cancel FAILED tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_schedule_action_cancel_same_loop FAILED tests/test_scheduler/test_eventloop/test_asynciothreadsafescheduler.py::TestAsyncIOThreadSafeScheduler::test_asyncio_threadsafe_schedule_action_due =========== 13 failed, 1309 passed, 10 skipped, 9 warnings in 20.51s =========== E: pybuild pybuild:386: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_rx/build; python3.11 -m pytest tests This looks like https://github.com/ReactiveX/RxPY/issues/588, but it also seems that we're several upstream versions behind. Would packaging 4.0.4 be in order? If this is too big a migration though (I see from https://github.com/ReactiveX/RxPY/blob/master/docs/migration.rst that it doesn't look entirely trivial), at least cherry-picking that fix for now would probably be a good idea. Thanks, -- Colin Watson (he/him) [[email protected]]
--- End Message ---
--- Begin Message ---Source: python-rx Source-Version: 3.2.0-3 Done: Nilesh Patra <[email protected]> We believe that the bug you reported is fixed in the latest version of python-rx, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Nilesh Patra <[email protected]> (supplier of updated python-rx package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Fri, 16 Dec 2022 01:51:28 +0530 Source: python-rx Architecture: source Version: 3.2.0-3 Distribution: unstable Urgency: medium Maintainer: Debian Python Team <[email protected]> Changed-By: Nilesh Patra <[email protected]> Closes: 1025924 Changes: python-rx (3.2.0-3) unstable; urgency=medium . * Team Upload. * Add patch to fix python3.11 FTBFS (Closes: #1025924) Checksums-Sha1: 9c4cd431cc0443f2aa715337157fa04dcd62ac05 1502 python-rx_3.2.0-3.dsc 50640f6c2af659b037f3e1587917135b9c1ef507 4320 python-rx_3.2.0-3.debian.tar.xz 2a646bac53390b40f1a38df1540b7b1cec84d949 6253 python-rx_3.2.0-3_amd64.buildinfo Checksums-Sha256: 591ce138a517f12e55002d91502057d15263dcdfc56181b0e93680c7bad7dbc0 1502 python-rx_3.2.0-3.dsc bbddc1cecc41945f9570013e9d9134c67720afa7ef2f24e19fb2d217c0605dcd 4320 python-rx_3.2.0-3.debian.tar.xz d27aa3cde75e904d02920cd55beb6c701f753832a423fc284aabcc7e37050820 6253 python-rx_3.2.0-3_amd64.buildinfo Files: 118bf0f8ed1807747578bd99c5a6df93 1502 python optional python-rx_3.2.0-3.dsc aa8c8f7884379a4d0aa1f9fe5a771c61 4320 python optional python-rx_3.2.0-3.debian.tar.xz 03f73f4f9afba80ee5fcf6de14d9f851 6253 python optional python-rx_3.2.0-3_amd64.buildinfo -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQSglbZu4JAkvuai8HIqJ5BL1yQ+2gUCY5uDWAAKCRAqJ5BL1yQ+ 2iEQAP9znWGBGrwzgSZlw/4Z+4Bf6xWHrIC65otSSjUFyHBctgEApUc1veIayAmh rOoXUeEKVpyk5Zm8//RO4pq994q3LAk= =RA77 -----END PGP SIGNATURE-----
--- End Message ---

