[Reproducible-commits] [debbindiff] 02/02: Skip tests when required tools are missing
Jérémy Bobbio
lunar at moszumanska.debian.org
Thu Jul 30 13:26:47 UTC 2015
This is an automated email from the git hooks/post-receive script.
lunar pushed a commit to branch master
in repository debbindiff.
commit c3b4bdd086175c501876c914275b53f885cb63f0
Author: Jérémy Bobbio <lunar at debian.org>
Date: Thu Jul 30 13:18:44 2015 +0000
Skip tests when required tools are missing
---
tests/comparators/conftest.py | 5 +++++
tests/comparators/test_fonts.py | 2 ++
tests/comparators/test_iso9660.py | 5 +++++
tests/comparators/test_mono.py | 2 ++
tests/comparators/test_pdf.py | 5 +++++
tests/comparators/test_png.py | 2 ++
tests/comparators/test_rpm.py | 4 ++++
tests/comparators/test_squashfs.py | 5 +++++
tests/comparators/test_zip.py | 3 +++
9 files changed, 33 insertions(+)
diff --git a/tests/comparators/conftest.py b/tests/comparators/conftest.py
index 224cebe..51aa2cb 100644
--- a/tests/comparators/conftest.py
+++ b/tests/comparators/conftest.py
@@ -18,9 +18,14 @@
# You should have received a copy of the GNU General Public License
# along with debbindiff. If not, see <http://www.gnu.org/licenses/>.
+from distutils.spawn import find_executable
import debbindiff
import pytest
@pytest.fixture(autouse=True)
def set_locale():
debbindiff.set_locale()
+
+
+def tool_missing(cmd):
+ return find_executable(cmd) is None
diff --git a/tests/comparators/test_fonts.py b/tests/comparators/test_fonts.py
index d86cc80..3a12132 100644
--- a/tests/comparators/test_fonts.py
+++ b/tests/comparators/test_fonts.py
@@ -24,6 +24,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.fonts import TtfFile
+from conftest import tool_missing
TEST_FILE1_PATH = os.path.join(os.path.dirname(__file__), '../data/Samyak-Malayalam1.ttf')
TEST_FILE2_PATH = os.path.join(os.path.dirname(__file__), '../data/Samyak-Malayalam2.ttf')
@@ -47,6 +48,7 @@ def test_no_differences(ttf1):
def differences(ttf1, ttf2):
return ttf1.compare(ttf2).details
+ at pytest.mark.skipif(tool_missing('showttf'), reason='missing showttf')
def test_diff(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/ttf_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
diff --git a/tests/comparators/test_iso9660.py b/tests/comparators/test_iso9660.py
index 91521e3..ba37410 100644
--- a/tests/comparators/test_iso9660.py
+++ b/tests/comparators/test_iso9660.py
@@ -25,6 +25,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.iso9660 import Iso9660File
+from conftest import tool_missing
TEST_FILE1_PATH = os.path.join(os.path.dirname(__file__), '../data/test1.iso')
TEST_FILE2_PATH = os.path.join(os.path.dirname(__file__), '../data/test2.iso')
@@ -48,19 +49,23 @@ def test_no_differences(iso1):
def differences(iso1, iso2):
return iso1.compare(iso2).details
+ at pytest.mark.skipif(tool_missing('isoinfo'), reason='missing isoinfo')
def test_iso9660_content(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/iso9660_content_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('isoinfo'), reason='missing isoinfo')
def test_iso9660_rockridge(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/iso9660_rockridge_expected_diff')).read()
assert differences[1].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('isoinfo'), reason='missing isoinfo')
def test_symlink(differences):
assert differences[2].comment == 'symlink'
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/symlink_expected_diff')).read()
assert differences[2].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('isoinfo'), reason='missing isoinfo')
def test_compressed_files(differences):
assert differences[3].source1 == 'text'
assert differences[3].source2 == 'text'
diff --git a/tests/comparators/test_mono.py b/tests/comparators/test_mono.py
index 06aab57..775eaf4 100644
--- a/tests/comparators/test_mono.py
+++ b/tests/comparators/test_mono.py
@@ -24,6 +24,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.mono import MonoExeFile
+from conftest import tool_missing
# these were generated with:
@@ -52,6 +53,7 @@ def test_no_differences(exe1):
def differences(exe1, exe2):
return exe1.compare(exe2).details
+ at pytest.mark.skipif(tool_missing('pedump'), reason='missing pedump')
def test_diff(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/pe_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
diff --git a/tests/comparators/test_pdf.py b/tests/comparators/test_pdf.py
index 7f8ef53..f57e762 100644
--- a/tests/comparators/test_pdf.py
+++ b/tests/comparators/test_pdf.py
@@ -24,6 +24,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.pdf import PdfFile
+from conftest import tool_missing
TEST_FILE1_PATH = os.path.join(os.path.dirname(__file__), '../data/test1.pdf')
TEST_FILE2_PATH = os.path.join(os.path.dirname(__file__), '../data/test2.pdf')
@@ -47,10 +48,14 @@ def test_no_differences(pdf1):
def differences(pdf1, pdf2):
return pdf1.compare(pdf2).details
+ at pytest.mark.skipif(tool_missing('pdftk') or tool_missing('pdftotext'),
+ reason='missing pdftk or pdftotext')
def test_text_diff(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/pdf_text_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('pdftk') or tool_missing('pdftotext'),
+ reason='missing pdftk or pdftotext')
def test_internal_diff(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/pdf_internal_expected_diff')).read()
assert differences[1].unified_diff == expected_diff
diff --git a/tests/comparators/test_png.py b/tests/comparators/test_png.py
index a4b1e91..f40f5ae 100644
--- a/tests/comparators/test_png.py
+++ b/tests/comparators/test_png.py
@@ -24,6 +24,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.png import PngFile
+from conftest import tool_missing
TEST_FILE1_PATH = os.path.join(os.path.dirname(__file__), '../data/test1.png')
TEST_FILE2_PATH = os.path.join(os.path.dirname(__file__), '../data/test2.png')
@@ -47,6 +48,7 @@ def test_no_differences(png1):
def differences(png1, png2):
return png1.compare(png2).details
+ at pytest.mark.skipif(tool_missing('sng'), reason='missing sng')
def test_diff(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/png_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
diff --git a/tests/comparators/test_rpm.py b/tests/comparators/test_rpm.py
index c9667dc..058abc2 100644
--- a/tests/comparators/test_rpm.py
+++ b/tests/comparators/test_rpm.py
@@ -25,6 +25,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.rpm import RpmFile
+from conftest import tool_missing
TEST_FILE1_PATH = os.path.join(os.path.dirname(__file__), '../data/test1.rpm')
TEST_FILE2_PATH = os.path.join(os.path.dirname(__file__), '../data/test2.rpm')
@@ -48,17 +49,20 @@ def test_no_differences(rpm1):
def differences(rpm1, rpm2):
return rpm1.compare(rpm2).details
+ at pytest.mark.skipif(tool_missing('rpm2cpio'), reason='missing rpm2cpio')
def test_header(differences):
assert differences[0].source1 == 'header'
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/rpm_header_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('rpm2cpio'), reason='missing rpm2cpio')
def test_listing(differences):
assert differences[1].source1 == 'content'
assert differences[1].details[0].source1 == 'file list'
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/rpm_listing_expected_diff')).read()
assert differences[1].details[0].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('rpm2cpio'), reason='missing rpm2cpio')
def test_content(differences):
assert differences[1].source1 == 'content'
assert differences[1].details[1].source1 == './dir/text'
diff --git a/tests/comparators/test_squashfs.py b/tests/comparators/test_squashfs.py
index 2fb34e4..f6a5a15 100644
--- a/tests/comparators/test_squashfs.py
+++ b/tests/comparators/test_squashfs.py
@@ -25,6 +25,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.squashfs import SquashfsFile
+from conftest import tool_missing
TEST_FILE1_PATH = os.path.join(os.path.dirname(__file__), '../data/test1.squashfs')
TEST_FILE2_PATH = os.path.join(os.path.dirname(__file__), '../data/test2.squashfs')
@@ -53,19 +54,23 @@ def test_no_warnings(capfd, squashfs1, squashfs2):
def differences(squashfs1, squashfs2):
return squashfs1.compare(squashfs2).details
+ at pytest.mark.skipif(tool_missing('unsquashfs'), reason='missing unsquashfs')
def test_superblock(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/squashfs_superblock_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('unsquashfs'), reason='missing unsquashfs')
def test_listing(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/squashfs_listing_expected_diff')).read()
assert differences[1].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('unsquashfs'), reason='missing unsquashfs')
def test_symlink(differences):
assert differences[2].comment == 'symlink'
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/symlink_expected_diff')).read()
assert differences[2].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('unsquashfs'), reason='missing unsquashfs')
def test_compressed_files(differences):
assert differences[3].source1 == '/text'
assert differences[3].source2 == '/text'
diff --git a/tests/comparators/test_zip.py b/tests/comparators/test_zip.py
index d0cba42..867852d 100644
--- a/tests/comparators/test_zip.py
+++ b/tests/comparators/test_zip.py
@@ -25,6 +25,7 @@ import pytest
from debbindiff.comparators import specialize
from debbindiff.comparators.binary import FilesystemFile
from debbindiff.comparators.zip import ZipFile
+from conftest import tool_missing
TEST_FILE1_PATH = os.path.join(os.path.dirname(__file__), '../data/test1.zip')
TEST_FILE2_PATH = os.path.join(os.path.dirname(__file__), '../data/test2.zip')
@@ -48,10 +49,12 @@ def test_no_differences(zip1):
def differences(zip1, zip2):
return zip1.compare(zip2).details
+ at pytest.mark.skipif(tool_missing('zip'), reason='missing zip')
def test_metadata(differences):
expected_diff = open(os.path.join(os.path.dirname(__file__), '../data/zip_zipinfo_expected_diff')).read()
assert differences[0].unified_diff == expected_diff
+ at pytest.mark.skipif(tool_missing('zip'), reason='missing zip')
def test_compressed_files(differences):
assert differences[1].source1 == 'dir/text'
assert differences[1].source2 == 'dir/text'
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/debbindiff.git
More information about the Reproducible-commits
mailing list