[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1001479: python-transitions: (autopkgtest) needs update for python3.10: There is no current event loop



Source: python-transitions
Version: 0.8.9-1
Severity: serious
X-Debbugs-CC: debian-ci@lists.debian.org
Tags: sid bookworm
User: debian-ci@lists.debian.org
Usertags: needs-update
User: debian-python@lists.debian.org
Usertags: python3.10
Control: affects -1 src:python3-defaults

Dear maintainer(s),

We are in the transition of adding python3.10 to the supported Python versions [0]. With a recent upload of python3-defaults the autopkgtest of python-transitions fails in testing when that autopkgtest is run with the binary packages of python3-defaults from unstable. It passes when run with only packages from testing. In tabular form:

                       pass            fail
python3-defaults       from testing    3.9.8-1
python-transitions     from testing    0.8.9-1
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of python3-defaults to testing [1]. https://docs.python.org/3/whatsnew/3.10.html lists what's new in Python3.10, it may help to identify what needs to be updated.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[0] https://bugs.debian.org/996584
[1] https://qa.debian.org/excuses.php?package=python3-defaults

https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-transitions/17446726/log.gz

=================================== FAILURES =================================== ________________________ TestAsync.test_multiple_models ________________________

self = <tests.test_async.TestAsync testMethod=test_multiple_models>

    def test_multiple_models(self):
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
m1 = self.machine_cls(states=['A', 'B', 'C'], initial='A', name="m1")
        m2 = self.machine_cls(states=['A'], initial='A', name='m2')
m1.add_transition(trigger='go', source='A', dest='B', before=self.cancel_soon) m1.add_transition(trigger='fix', source='A', dest='C', after=self.cancel_soon) m1.add_transition(trigger='check', source='C', dest='B', conditions=self.await_false)
        m1.add_transition(trigger='reset', source='C', dest='A')
m2.add_transition(trigger='go', source='A', dest=None, conditions=m1.is_C, after=m1.reset) > loop.run_until_complete(asyncio.gather(m1.go(), # should block before B

self.call_delayed(m1.fix, 0.05),  # should cancel task and go to C

self.call_delayed(m1.check, 0.07),  # should exit before m1.fix
self.call_delayed(m2.go, 0.1))) # should cancel m1.fix

tests/test_async.py:144: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/asyncio/tasks.py:776: in gather
    fut = _ensure_future(arg, loop=loop)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
coro_or_future = <coroutine object AsyncEvent.trigger at 0x7fb8555b3b50>

    def _ensure_future(coro_or_future, *, loop=None):
        if futures.isfuture(coro_or_future):
if loop is not None and loop is not futures._get_loop(coro_or_future): raise ValueError('The future belongs to a different loop than '
                                'the one specified as the loop argument')
            return coro_or_future
            if not coroutines.iscoroutine(coro_or_future):
            if inspect.isawaitable(coro_or_future):
                coro_or_future = _wrap_awaitable(coro_or_future)
            else:
raise TypeError('An asyncio.Future, a coroutine or an awaitable '
                                'is required')
            if loop is None:
          loop = events._get_event_loop(stacklevel=4)
E           DeprecationWarning: There is no current event loop

/usr/lib/python3.10/asyncio/tasks.py:633: DeprecationWarning
=========================== short test summary info ============================ FAILED tests/test_async.py::TestAsync::test_multiple_models - DeprecationWarn... !!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!! ========================= 1 failed, 37 passed in 2.74s =========================
sys:1: RuntimeWarning: coroutine 'AsyncEvent.trigger' was never awaited
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
sys:1: RuntimeWarning: coroutine 'TestAsync.call_delayed' was never awaited
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
autopkgtest [14:16:05]: test run-unit-test

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: