Subject: bug#71886: Diffoscope test suite fails with openssh 9.8p1

From: Richard Sent <[email-masked]>
Date: Mon, 01 Jul 2024 17:50:20 -0400

Hi all,

With Guix 6522f93ed098fa13f51f6d017035607e26237d31 diffoscope's test
suite fails. I'm reporting this here in case we want to try to implement
some kind of workaround in the meantime.

Diffoscope does not seem to have an upstream issue opened yet. I tried
reporting it but was blocked by the classic "yet another gitlab account
that needs manual approval" problem. It's possible this problem is
unique to Guix though.

I tried upgrading Guix's Diffoscope to 271 and encountered the same
issue.

--8<---------------cut here---------------start------------->8---
=================================== FAILURES ===================================
__________________________________ test_diff ___________________________________

differences = []

    @skip_unless_tool_is_at_least("ssh-keygen", openssh_version, "6.9")
    def test_diff(differences):
        expected_diff = get_data("openssh_pub_key_expected_diff")
>       assert differences[0].unified_diff == expected_diff
E       IndexError: list index out of range

tests/comparators/test_openssh_pub_key.py:60: IndexError
__________________________ test_compare_non_existing ___________________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fffefd20190>
opensshpubkey1 = <<class 'abc.PublicKeyFile'> /tmp/guix-build-diffoscope-271.drv-0/source/tests/data/test_openssh_pub_key1.pub>

    @skip_unless_tools_exist("ssh-keygen")
    def test_compare_non_existing(monkeypatch, opensshpubkey1):
        monkeypatch.setattr(Config(), "new_file", True)
        difference = opensshpubkey1.compare(
            MissingFile("/nonexisting", opensshpubkey1)
        )
        assert difference.source2 == "/nonexisting"
>       assert len(difference.details) > 0
E       assert 0 > 0
E        +  where 0 = len([])
E        +    where [] = <Difference /tmp/guix-build-diffoscope-271.drv-0/source/tests/data/test_openssh_pub_key1.pub -- /nonexisting []>.details

tests/comparators/test_openssh_pub_key.py:70: AssertionError
--8<---------------cut here---------------end--------------->8---

-- 
Take it easy,
Richard Sent
Making my computer weirder one commit at a time.