Verified Commit 3b98ffeb authored by Mattia Rizzolo's avatar Mattia Rizzolo
Browse files

test: factor out a tools_missing() function

parent c506dd2a
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ from diffoscope.config import Config
from diffoscope.difference import Difference
from diffoscope.comparators.utils import Command

from utils import skip_unless_tools_exist, data, load_fixture
from utils import tools_missing, skip_unless_tools_exist, data, load_fixture

try:
    import tlsh # noqa
@@ -36,6 +36,12 @@ fuzzy_tar1 = load_fixture(data('fuzzy1.tar'))
fuzzy_tar2 = load_fixture(data('fuzzy2.tar'))
fuzzy_tar3 = load_fixture(data('fuzzy3.tar'))

def test_tools_missing():
    assert tools_missing() is True
    assert tools_missing('/missing') is True
    for x in ['cat', 'sh']:
        assert tools_missing(x) is False

@skip_unless_tools_exist()
def test_skip_unless_tools_exist_empty():
    pytest.xfail("Test should always be skipped")
+4 −1
Original line number Diff line number Diff line
@@ -36,9 +36,12 @@ from diffoscope.comparators.binary import FilesystemFile, NonExistingFile
def set_locale():
    diffoscope.set_locale()

def tools_missing(*required):
    return not required or any(find_executable(x) is None for x in required)

def skip_unless_tools_exist(*required):
    return pytest.mark.skipif(
        not required or any(find_executable(x) is None for x in required),
        tools_missing(*required),
        reason="requires {}".format(" and ".join(required)),
    )