Bug#849142: test regression in test_dex.test_differences with enjarify >= 1.0.3
Levente Polyak
levente at leventepolyak.net
Thu Dec 22 22:53:04 UTC 2016
Package: diffoscope
current version: git HEAD 8dde15f9200094882c26a1cf422556c43ec5d5dc
The test_differences test case fails in the test_dex module when using
enjarify 1.0.3. A downgrade of enjarify to 1.0.2 makes the test pass
again. As enjarify 1.0.3 itself seems to do what its supposed to do, i
think the test diff/output is just too strictly tied to the 1.0.2 output.
If the guess above is actually the case, a possible workaround may be to
expect enjarify to be 1.0.2 and skip the test otherwise.
However we start ending up with too many tests strictly tight to a very
specific toolset version, making a more general approach for multiple
sets more and more important.
cheers,
Levente
Logs:
=================================== FAILURES
===================================
_______________________________ test_differences
_______________________________
differences = [<Difference test1.jar -- test2.jar [<Difference zipinfo
-v {} -- zipinfo -v {} []>, <Difference com/example/MainActiv....class
[<Difference javap -verbose -constants -s -l -private {} -- javap
-verbose -constants -s -l -private {} []>]>]>]
@skip_unless_tools_exist('enjarify', 'zipinfo', 'javap')
@skip_unless_tool_is_at_least('javap', javap_version, '1.8')
def test_differences(differences):
assert differences[0].source1 == 'test1.jar'
assert differences[0].source2 == 'test2.jar'
zipinfo = differences[0].details[0]
classdiff = differences[0].details[1]
assert zipinfo.source1 == 'zipinfo -v {}'
assert zipinfo.source2 == 'zipinfo -v {}'
assert classdiff.source1 == 'com/example/MainActivity.class'
assert classdiff.source2 == 'com/example/MainActivity.class'
expected_diff = open(data('dex_expected_diffs')).read()
found_diff = zipinfo.unified_diff +
classdiff.details[0].unified_diff
> assert expected_diff == found_diff
E assert '@@ -54,15 +5...args_size=1\n' == '@@ -54,15
+54...args_size=1\n'
E Skipping 500 identical leading characters in diff, use -v to show
E Skipping 1284 identical trailing characters in diff, use -v to
show
E - fc227a58
E + bc28236e
E - + 32-bit CRC value (hex): 19c9f64e
E ? ^ ^ ^^^
E + + 32-bit CRC value (hex): 59c3af78
E ? ^ ^^ ^^
E compr
tests/comparators/test_dex.py:57: AssertionError
More information about the Reproducible-builds
mailing list