Fails with pytest 8.0?
_________________________________________________________ test_all_tools_are_listed __________________________________________________________
def test_all_tools_are_listed():
# Note the ordering of this test (see: f1d744da16)
from diffoscope.comparators import ComparatorManager
from diffoscope.external_tools import EXTERNAL_TOOLS
from diffoscope.tools import tool_required
ComparatorManager().reload()
tools = set(tool_required.all)
for x in tools:
if x not in EXTERNAL_TOOLS:
> pytest.fail(f"{x} is not present in EXTERNAL_TOOLS")
E Failed: nonexistent is not present in EXTERNAL_TOOLS
- This comes from
tests/comparators/test_binary.py
. - Just need to test "
tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found tests/test_tools.py::test_all_tools_are_listed
", in that order. - Don't quite understand this, as
monkeypatch
is explicitly meant to be undone after the function exits. -
Especially don't understand this as even manually removing
nonexistent
from the dict still causes the error (!)
Discovered via job #5372333.