Your message dated Thu, 15 Dec 2022 21:03:32 +0000
with message-id <e1p5vo8-00gfoy...@fasolo.debian.org>
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 ow...@bugs.debian.org
immediately.)


-- 
1025924: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025924
Debian Bug Tracking System
Contact ow...@bugs.debian.org 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)                              [cjwat...@debian.org]

--- End Message ---
--- Begin Message ---
Source: python-rx
Source-Version: 3.2.0-3
Done: Nilesh Patra <nil...@debian.org>

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 1025...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Nilesh Patra <nil...@debian.org> (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 ftpmas...@ftp-master.debian.org)


-----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 <team+pyt...@tracker.debian.org>
Changed-By: Nilesh Patra <nil...@debian.org>
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 ---

Reply via email to