[diffoscope] 01/01: Add (failing, kinda..) tests re. #780761.

Chris Lamb chris at chris-lamb.co.uk
Sat May 13 08:55:31 CEST 2017


This is an automated email from the git hooks/post-receive script.

lamby pushed a commit to branch experimental
in repository diffoscope.

commit 9fd7be6f16fd5988e39ca6c27ae2beacc69d690e
Author: Chris Lamb <lamby at debian.org>
Date:   Sat May 13 08:55:15 2017 +0200

    Add (failing, kinda..) tests re. #780761.
    
    Signed-off-by: Chris Lamb <lamby at debian.org>
---
 tests/data/quine_a.deb | Bin 0 -> 644 bytes
 tests/data/quine_b.deb | Bin 0 -> 644 bytes
 tests/test_quines.py   |  29 ++++++++++++++++++++++++++---
 3 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/tests/data/quine_a.deb b/tests/data/quine_a.deb
new file mode 100644
index 0000000..de8b23a
Binary files /dev/null and b/tests/data/quine_a.deb differ
diff --git a/tests/data/quine_b.deb b/tests/data/quine_b.deb
new file mode 100644
index 0000000..783f49b
Binary files /dev/null and b/tests/data/quine_b.deb differ
diff --git a/tests/test_quines.py b/tests/test_quines.py
index 0f4d3ce..4f99b2d 100644
--- a/tests/test_quines.py
+++ b/tests/test_quines.py
@@ -19,6 +19,7 @@
 
 import pytest
 
+from diffoscope.comparators.deb import DebFile
 from diffoscope.comparators.zip import ZipFile
 from diffoscope.comparators.gzip import GzipFile
 
@@ -26,6 +27,13 @@ from comparators.utils.data import load_fixture, get_data
 
 quine1 = load_fixture('quine.gz')
 quine2 = load_fixture('quine.zip')
+quine3 = load_fixture('quine_a.deb')
+quine4 = load_fixture('quine_b.deb')
+
+"""
+Check that we are not recursively unpacking the quines in an infinite loop. See
+<https://research.swtch.com/zip> and <https://bugs.debian.org/780761>.
+"""
 
 
 def test_identification(quine1, quine2):
@@ -44,8 +52,23 @@ def differences(quine1, quine2):
 
 
 def test_difference(differences):
-    # Check that we are not recursively unpacking the quines in an infinite
-    # loop. See <https://research.swtch.com/zip>
-
     expected_diff = get_data('quine_expected_diff')
     assert differences[0].unified_diff == expected_diff
+
+
+def test_identification_deb(quine3, quine4):
+    assert isinstance(quine3, DebFile)
+    assert isinstance(quine4, DebFile)
+
+
+ at pytest.fixture
+def differences_deb(quine3, quine4):
+    # These tests currently fail
+    with pytest.raises(RecursionError):
+        return quine3.compare(quine4).details
+
+
+def test_differences_deb(differences_deb):
+    assert differences_deb is None
+    #expected_diff = get_data('quine_deb_expected_diff')
+    #assert differences_deb[0].unified_diff == expected_diff

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/diffoscope.git


More information about the diffoscope mailing list