Control: retitle -1 slidge-matridge: FTBFS: test failures

On Fri, Jul 10, 2026 at 10:40:22AM +0000, Santiago Vila wrote:
Traceback
=========

     File "/usr/lib/python3.14/typing.py", line 337, in 
_check_generic_specialization
       raise TypeError(f"Too {'many' if actual_len > expected_len else 'few'} 
arguments"
                       f" for {cls}; actual {actual_len}, expected 
{expect_val}")
   TypeError: Too many arguments for <class 'slidge.group.room.LegacyMUC'>; 
actual 4, expected 1

I guess this could benefit from a build-dependency on a newer python3-slidge or something.

But the failure is different when I retry it:

==================================== ERRORS ====================================
_____ ERROR at setup of TestCommandsConfirmation.test_confirmation_cancel ______

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd250d82f10>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(
            slidge.command.base, "is_admin", lambda j: 
j.user.startswith("admin")
        )
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_adhoc/test_confirmation.py:25: AttributeError
______ ERROR at setup of TestCommandsConfirmation.test_confirmation_do_it ______

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd250d838a0>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(
            slidge.command.base, "is_admin", lambda j: 
j.user.startswith("admin")
        )
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_adhoc/test_confirmation.py:25: AttributeError
______ ERROR at setup of TestCommandsConfirmation.test_confirmation_fail _______

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd250e6f450>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(
            slidge.command.base, "is_admin", lambda j: 
j.user.startswith("admin")
        )
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_adhoc/test_confirmation.py:25: AttributeError
_____________ ERROR at setup of TestChatCommands.test_command_help _____________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd23f744c50>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_chat_commands.py:20: AttributeError
______________ ERROR at setup of TestChatCommands.test_confirm_no ______________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd23f746750>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_chat_commands.py:20: AttributeError
_____________ ERROR at setup of TestChatCommands.test_confirm_yes ______________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd23faf8730>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_chat_commands.py:20: AttributeError
________________ ERROR at setup of TestChatCommands.test_input _________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd23f797e30>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_chat_commands.py:20: AttributeError
_____________ ERROR at setup of TestChatCommands.test_non_existing _____________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd23f7c1590>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_chat_commands.py:20: AttributeError
__________ ERROR at setup of TestChatCommands.test_other_destination ___________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd23f76f750>
MockRE = <class 'conftest.MockRE.<locals>.MockRE'>

    @pytest.fixture(autouse=True)
    def mock(monkeypatch, MockRE):
        monkeypatch.setattr(Command, "_get_session", lambda s, j: 
MockSession(j))
        monkeypatch.setattr(
          slixmpp.test.ComponentXMPP,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
            "get_session_from_stanza",
            lambda self, stanza: MockSession(stanza.get_from()),
            raising=False,
        )
E       AttributeError: module 'slixmpp.test' has no attribute 'ComponentXMPP'

../../../tests/test_chat_commands.py:20: AttributeError
=================================== FAILURES ===================================
_________________________ TestContact.test_vcard_temp __________________________

self = <test_shakespeare.TestContact testMethod=test_vcard_temp>

    def test_vcard_temp(self):
        juliet = self.get_juliet()
        juliet.is_friend = True
        self.recv(  # language=XML
            """
            <iq from='[email protected]/orchard'
                to='[email protected]'
                type='get'>
              <vCard xmlns='vcard-temp' />
            </iq>
            """
        )
        self.send(  # language=XML
            """
            <iq xmlns="jabber:component:accept"
                from="[email protected]"
                to="[email protected]/orchard"
                type="result"
                id="1">
              <vCard xmlns="vcard-temp" />
            </iq>
            """
        )
        juliet.set_vcard(full_name="Juliet Something")
        self.next_sent()
        self.recv(  # language=XML
            """
            <iq from='[email protected]/orchard'
                to='[email protected]'
                type='get'>
              <vCard xmlns='vcard-temp' />
            </iq>
            """
        )
      self.send(  # language=XML
            """
            <iq from="[email protected]"
                to="[email protected]/orchard"
                type="result"
                id="2">
              <vCard xmlns="vcard-temp">
                <impp>
                  <uri 
xmlns="urn:ietf:params:xml:ns:vcard-4.0">xmpp:[email protected]</uri>
                </impp>
                <fn>
                  <text xmlns="urn:ietf:params:xml:ns:vcard-4.0">Juliet 
Something</text>
                </fn>
              </vCard>
            </iq>
            """,
            use_values=False,
        )

../../../tests/test_shakespeare.py:1401:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/slixmpp/test/slixtest.py:736: in send
    self.check(sent, data, method=method, defaults=defaults, 
use_values=use_values)
slidge/util/test.py:185: in check
    self.assertTrue(result, debug)
E   AssertionError: False is not true : Two methods for creating stanzas do not 
match.
E   Given XML:
E   <iq xmlns="jabber:component:accept" from="[email protected]" 
to="[email protected]/orchard" type="result" id="2">
E                 <vCard xmlns="vcard-temp">
E                   <impp>
E                     <uri 
xmlns="urn:ietf:params:xml:ns:vcard-4.0">xmpp:[email protected]</uri>
E                   </impp>
E                   <fn>
E                     <text xmlns="urn:ietf:params:xml:ns:vcard-4.0">Juliet 
Something</text>
E                   </fn>
E                 </vCard>
E               </iq>
E   Given stanza:
E   <iq xmlns="jabber:component:accept" from="[email protected]" 
to="[email protected]/orchard" type="result" id="2">
E
E
E       <vCard xmlns="vcard-temp">
E               <impp xmlns="">
E                       <uri 
xmlns="urn:ietf:params:xml:ns:vcard-4.0">xmpp:[email protected]</uri>
E               </impp>
E               <fn xmlns="">
E                       <text xmlns="urn:ietf:params:xml:ns:vcard-4.0">Juliet 
Something</text>
E               </fn>
E       </vCard>
E   </iq>
E   Generated stanza:
E   <iq xmlns="jabber:component:accept" from="[email protected]" 
to="[email protected]/orchard" type="result" id="2">
E                 <vCard xmlns="vcard-temp">
E                   <impp>
E                     <uri 
xmlns="urn:ietf:params:xml:ns:vcard-4.0">xmpp:[email protected]</uri>
E                   </impp>
E                   <fn>
E                     <text xmlns="urn:ietf:params:xml:ns:vcard-4.0">Juliet 
Something</text>
E                   </fn>
E                 </vCard>
E               </iq>

--
Colin Watson (he/him)                              [[email protected]]

Reply via email to