Commit 1065b642 authored by Chris Lamb's avatar Chris Lamb 👀
Browse files

Rename skip_unless_tool_exists -> skip_unless_tools_exist and fix logic.



I misread the inverted logic of "skipIf(not tool_exists(x) or not tool_exists(y))".

Signed-off-by: Chris Lamb's avatarChris Lamb <lamby@debian.org>
parent 7d8d8ea6
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ from diffoscope.exc import RequiredToolNotFound
from diffoscope.difference import Difference
from diffoscope.comparators.binary import File, FilesystemFile, NonExistingFile

from utils import skip_unless_tool_exists, data, load_fixture
from utils import skip_unless_tools_exist, data, load_fixture

TEST_FILE1_PATH = data('binary1')
TEST_FILE2_PATH = data('binary2')
@@ -64,7 +64,7 @@ def test_no_differences_with_xxd(binary1):
    difference = binary1.compare_bytes(binary1)
    assert difference is None

@skip_unless_tool_exists('xxd')
@skip_unless_tools_exist('xxd')
def test_compare_with_xxd(binary1, binary2):
    difference = binary1.compare_bytes(binary2)
    expected_diff = open(data('binary_expected_diff')).read()
@@ -97,7 +97,7 @@ def test_with_compare_details():
    difference = MockFile(TEST_FILE1_PATH).compare(MockFile(TEST_FILE2_PATH), source='source')
    assert difference.details[0] == d

@skip_unless_tool_exists('xxd')
@skip_unless_tools_exist('xxd')
def test_with_compare_details_and_fallback():
    class MockFile(FilesystemFile):
        def compare_details(self, other, source=None):
@@ -114,7 +114,7 @@ def test_with_compare_details_and_no_actual_differences():
    difference = MockFile(TEST_FILE1_PATH).compare(MockFile(TEST_FILE1_PATH))
    assert difference is None

@skip_unless_tool_exists('xxd')
@skip_unless_tools_exist('xxd')
def test_with_compare_details_and_failed_process():
    output = 'Free Jeremy Hammond'
    class MockFile(FilesystemFile):
@@ -127,7 +127,7 @@ def test_with_compare_details_and_failed_process():
    assert '42' in difference.comment
    assert difference.unified_diff == expected_diff

@skip_unless_tool_exists('xxd')
@skip_unless_tools_exist('xxd')
def test_with_compare_details_and_tool_not_found(monkeypatch):
    monkeypatch.setattr('diffoscope.exc.RequiredToolNotFound.get_package', lambda _: 'some-package')
    class MockFile(FilesystemFile):
+5 −5
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ from diffoscope.comparators import specialize
from diffoscope.comparators.bzip2 import Bzip2File
from diffoscope.comparators.binary import FilesystemFile

from utils import skip_unless_tool_exists, data, load_fixture, \
from utils import skip_unless_tools_exist, data, load_fixture, \
    assert_non_existing


@@ -45,12 +45,12 @@ def test_no_differences(bzip1):
def differences(bzip1, bzip2):
    return bzip1.compare(bzip2).details

@skip_unless_tool_exists('bzip2')
@skip_unless_tools_exist('bzip2')
def test_content_source(differences):
    assert differences[0].source1 == 'test1'
    assert differences[0].source2 == 'test2'

@skip_unless_tool_exists('bzip2')
@skip_unless_tools_exist('bzip2')
def test_content_source_without_extension(tmpdir):
    path1 = str(tmpdir.join('test1'))
    path2 = str(tmpdir.join('test2'))
@@ -62,11 +62,11 @@ def test_content_source_without_extension(tmpdir):
    assert differences[0].source1 == 'test1-content'
    assert differences[0].source2 == 'test2-content'

@skip_unless_tool_exists('bzip2')
@skip_unless_tools_exist('bzip2')
def test_content_diff(differences):
    expected_diff = open(data('text_ascii_expected_diff')).read()
    assert differences[0].unified_diff == expected_diff

@skip_unless_tool_exists('bzip2')
@skip_unless_tools_exist('bzip2')
def test_compare_non_existing(monkeypatch, bzip1):
    assert_non_existing(monkeypatch, bzip1)
+7 −7
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ from diffoscope.presenters.text import output_text
from diffoscope.comparators.cbfs import CbfsFile
from diffoscope.comparators.binary import FilesystemFile

from utils import skip_unless_tool_exists, data, assert_non_existing
from utils import skip_unless_tools_exist, data, assert_non_existing

TEST_FILE1_PATH = data('text_ascii1')
TEST_FILE2_PATH = data('text_ascii2')
@@ -54,15 +54,15 @@ def rom2(tmpdir):
        f.write(buf[:-4])
    return specialize(FilesystemFile(path))

@skip_unless_tool_exists('cbfstool')
@skip_unless_tools_exist('cbfstool')
def test_identification_using_offset(rom1):
    assert isinstance(rom1, CbfsFile)

@skip_unless_tool_exists('cbfstool')
@skip_unless_tools_exist('cbfstool')
def test_identification_without_offset(rom2):
    assert isinstance(rom2, CbfsFile)

@skip_unless_tool_exists('cbfstool')
@skip_unless_tools_exist('cbfstool')
def test_no_differences(rom1):
    difference = rom1.compare(rom1)
    assert difference is None
@@ -73,18 +73,18 @@ def differences(rom1, rom2):
    output_text(difference, print_func=print)
    return difference.details

@skip_unless_tool_exists('cbfstool')
@skip_unless_tools_exist('cbfstool')
def test_listing(differences):
    expected_diff = open(data('cbfs_listing_expected_diff')).read()
    assert differences[0].unified_diff == expected_diff

@skip_unless_tool_exists('cbfstool')
@skip_unless_tools_exist('cbfstool')
def test_content(differences):
    assert differences[1].source1 == 'text'
    assert differences[1].source2 == 'text'
    expected_diff = open(data('text_ascii_expected_diff')).read()
    assert differences[1].unified_diff == expected_diff

@skip_unless_tool_exists('cbfstool')
@skip_unless_tools_exist('cbfstool')
def test_compare_non_existing(monkeypatch, rom1):
    assert_non_existing(monkeypatch, rom1)
+5 −5
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ import pytest

from diffoscope.comparators.cpio import CpioFile

from utils import skip_unless_tool_exists, data, load_fixture, \
from utils import skip_unless_tools_exist, data, load_fixture, \
    assert_non_existing


@@ -39,25 +39,25 @@ def test_no_differences(cpio1):
def differences(cpio1, cpio2):
    return cpio1.compare(cpio2).details

@skip_unless_tool_exists('cpio')
@skip_unless_tools_exist('cpio')
def test_listing(differences):
    expected_diff = open(data('cpio_listing_expected_diff')).read()
    assert differences[0].unified_diff == expected_diff

@skip_unless_tool_exists('cpio')
@skip_unless_tools_exist('cpio')
def test_symlink(differences):
    assert differences[1].source1 == 'dir/link'
    assert differences[1].comment == 'symlink'
    expected_diff = open(data('symlink_expected_diff')).read()
    assert differences[1].unified_diff == expected_diff

@skip_unless_tool_exists('cpio')
@skip_unless_tools_exist('cpio')
def test_compressed_files(differences):
    assert differences[2].source1 == 'dir/text'
    assert differences[2].source2 == 'dir/text'
    expected_diff = open(data('text_ascii_expected_diff')).read()
    assert differences[2].unified_diff == expected_diff

@skip_unless_tool_exists('cpio')
@skip_unless_tools_exist('cpio')
def test_compare_non_existing(monkeypatch, cpio1):
    assert_non_existing(monkeypatch, cpio1)
+3 −7
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ from diffoscope.config import Config
from diffoscope.comparators.dex import DexFile
from diffoscope.comparators.binary import NonExistingFile

from utils import skip_unless_tool_exists, data, load_fixture
from utils import skip_unless_tools_exist, data, load_fixture


dex1 = load_fixture(data('test1.dex'))
@@ -40,9 +40,7 @@ def test_no_differences(dex1):
def differences(dex1, dex2):
    return dex1.compare(dex2).details

@skip_unless_tool_exists('enjarify')
@skip_unless_tool_exists('zipinfo')
@skip_unless_tool_exists('javap')
@skip_unless_tools_exist('enjarify', 'zipinfo', 'javap')
def test_differences(differences):
    assert differences[0].source1 == 'test1.jar'
    assert differences[0].source2 == 'test2.jar'
@@ -56,9 +54,7 @@ def test_differences(differences):
    found_diff = zipinfo.unified_diff + classdiff.details[0].unified_diff
    assert expected_diff == found_diff

@skip_unless_tool_exists('enjarify')
@skip_unless_tool_exists('zipinfo')
@skip_unless_tool_exists('javap')
@skip_unless_tools_exist('enjarify', 'zipinfo', 'javap')
def test_compare_non_existing(monkeypatch, dex1):
    monkeypatch.setattr(Config.general, 'new_file', True)
    difference = dex1.compare(NonExistingFile('/nonexisting', dex1))
Loading