[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