Source: python-pytest-asyncio, python-channels-redis
Control: found -1 python-pytest-asyncio/0.19.0-1
Control: found -1 python-channels-redis/3.3.0-1
Severity: serious
Tags: sid bookworm
User: debian...@lists.debian.org
Usertags: breaks needs-update

Dear maintainer(s),

With a recent upload of python-pytest-asyncio the autopkgtest of python-channels-redis fails in testing when that autopkgtest is run with the binary packages of python-pytest-asyncio from unstable. It passes when run with only packages from testing. In tabular form:

                       pass            fail
python-pytest-asyncio  from testing    0.19.0-1
python-channels-redis  from testing    3.3.0-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 python-pytest-asyncio to testing [1]. Due to the nature of this issue, I filed this bug report against both packages. Can you please investigate the situation and reassign the bug to the right package?

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

Paul

[1] https://qa.debian.org/excuses.php?package=python-pytest-asyncio

https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-channels-redis/25749566/log.gz

============================= test session starts ==============================
platform linux -- Python 3.10.6, pytest-7.1.2, pluggy-1.0.0+repack
rootdir: /tmp/autopkgtest-lxc.yuamnrh_/downtmp/autopkgtest_tmp
plugins: asyncio-0.19.0
asyncio: mode=strict
collected 66 items / 34 deselected / 32 selected

tests/test_core.py F.F.F.FF.......FF.......... [ 84%] tests/test_pubsub.py FFFFF [100%]

=================================== FAILURES =================================== ______________________________ test_send_receive _______________________________

channel_layer = <async_generator object channel_layer at 0x7fbf70987440>

    @pytest.mark.asyncio
    async def test_send_receive(channel_layer):
        """
Makes sure we can send a message to a normal channel then receive it.
        """
      await channel_layer.send(
            "test-channel-1", {"type": "test.message", "text": "Ahoy-hoy!"}
        )
E       AttributeError: 'async_generator' object has no attribute 'send'

tests/test_core.py:83: AttributeError
______________________________ test_send_capacity ______________________________

channel_layer = <async_generator object channel_layer at 0x7fbf701222c0>

    @pytest.mark.asyncio
    async def test_send_capacity(channel_layer):
        """
        Makes sure we get ChannelFull when we hit the send capacity
        """
      await channel_layer.send("test-channel-1", {"type": "test.message"})
E       AttributeError: 'async_generator' object has no attribute 'send'

tests/test_core.py:133: AttributeError
_______________________ test_process_local_send_receive ________________________

channel_layer = <async_generator object channel_layer at 0x7fbf701223c0>

    @pytest.mark.asyncio
    async def test_process_local_send_receive(channel_layer):
        """
Makes sure we can send a message to a process-local channel then receive it.
        """
      channel_name = await channel_layer.new_channel()
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_core.py:159: AttributeError
___________________________ test_reject_bad_channel ____________________________

channel_layer = <async_generator object channel_layer at 0x7fbf70122640>

    @pytest.mark.asyncio
    async def test_reject_bad_channel(channel_layer):
        """
        Makes sure sending/receiving on an invalic channel name fails.
        """
        with pytest.raises(TypeError):
          await channel_layer.send("=+135!", {"type": "foom"})
E           AttributeError: 'async_generator' object has no attribute 'send'

tests/test_core.py:189: AttributeError
________________________ test_reject_bad_client_prefix _________________________

channel_layer = <async_generator object channel_layer at 0x7fbf701223c0>

    @pytest.mark.asyncio
    async def test_reject_bad_client_prefix(channel_layer):
        """
Makes sure receiving on a non-prefixed local channel is not allowed.
        """
        with pytest.raises(AssertionError):
          await channel_layer.receive("not-client-prefix!local_part")
E AttributeError: 'async_generator' object has no attribute 'receive'

tests/test_core.py:200: AttributeError
___________________________ test_group_send_capacity ___________________________

channel_layer = <async_generator object channel_layer at 0x7fbf701224c0>
caplog = <_pytest.logging.LogCaptureFixture object at 0x7fbf7021c100>

    @pytest.mark.asyncio
    async def test_group_send_capacity(channel_layer, caplog):
        """
Makes sure we dont group_send messages to channels that are over capacity. Make sure number of channels with full capacity are logged as an exception to help debug errors.
        """
    >       channel = await channel_layer.new_channel()
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_core.py:336: AttributeError
__________________ test_group_send_capacity_multiple_channels __________________

channel_layer = <async_generator object channel_layer at 0x7fbf701232c0>
caplog = <_pytest.logging.LogCaptureFixture object at 0x7fbf70059de0>

    @pytest.mark.asyncio
async def test_group_send_capacity_multiple_channels(channel_layer, caplog):
        """
Makes sure we dont group_send messages to channels that are over capacity Make sure number of channels with full capacity are logged as an exception to help debug errors.
        """
    >       channel_1 = await channel_layer.new_channel()
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_core.py:369: AttributeError
______________________________ test_send_receive _______________________________

channel_layer = <async_generator object channel_layer at 0x7fbf70122dc0>

    @pytest.mark.asyncio
    async def test_send_receive(channel_layer):
        """
Makes sure we can send a message to a normal channel then receive it.
        """
      channel = await channel_layer.new_channel()
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_pubsub.py:27: AttributeError
___________________________ test_multi_send_receive ____________________________

channel_layer = <async_generator object channel_layer at 0x7fbf70017840>

    @pytest.mark.asyncio
    async def test_multi_send_receive(channel_layer):
        """
        Tests overlapping sends and receives, and ordering.
        """
      channel = await channel_layer.new_channel()
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_pubsub.py:39: AttributeError
______________________________ test_groups_basic _______________________________

channel_layer = <async_generator object channel_layer at 0x7fbf70017bc0>

    @pytest.mark.asyncio
    async def test_groups_basic(channel_layer):
        """
        Tests basic group operation.
        """
      channel_name1 = await channel_layer.new_channel(prefix="test-gr-chan-1")
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_pubsub.py:53: AttributeError
___________________________ test_groups_same_prefix ____________________________

channel_layer = <async_generator object channel_layer at 0x7fbf70017cc0>

    @pytest.mark.asyncio
    async def test_groups_same_prefix(channel_layer):
        """
        Tests group_send with multiple channels with same channel prefix
        """
      channel_name1 = await channel_layer.new_channel(prefix="test-gr-chan")
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_pubsub.py:76: AttributeError
_______________________ test_random_reset__channel_name ________________________

channel_layer = <async_generator object channel_layer at 0x7fbf70017d40>

    @pytest.mark.asyncio
    async def test_random_reset__channel_name(channel_layer):
        """
Makes sure resetting random seed does not make us reuse channel names.
        """
        random.seed(1)
      channel_name_1 = await channel_layer.new_channel()
E AttributeError: 'async_generator' object has no attribute 'new_channel'

tests/test_pubsub.py:97: AttributeError
=========================== short test summary info ============================ FAILED tests/test_core.py::test_send_receive - AttributeError: 'async_generat... FAILED tests/test_core.py::test_send_capacity - AttributeError: 'async_genera... FAILED tests/test_core.py::test_process_local_send_receive - AttributeError: ... FAILED tests/test_core.py::test_reject_bad_channel - AttributeError: 'async_g... FAILED tests/test_core.py::test_reject_bad_client_prefix - AttributeError: 'a... FAILED tests/test_core.py::test_group_send_capacity - AttributeError: 'async_... FAILED tests/test_core.py::test_group_send_capacity_multiple_channels - Attri... FAILED tests/test_pubsub.py::test_send_receive - AttributeError: 'async_gener... FAILED tests/test_pubsub.py::test_multi_send_receive - AttributeError: 'async... FAILED tests/test_pubsub.py::test_groups_basic - AttributeError: 'async_gener... FAILED tests/test_pubsub.py::test_groups_same_prefix - AttributeError: 'async... FAILED tests/test_pubsub.py::test_random_reset__channel_name - AttributeError... ================ 12 failed, 20 passed, 34 deselected in 19.70s =================
autopkgtest [15:31:07]: test upstream

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to