-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Sun, 11 Sep 2016 16:14:33 +0000 Source: diffoscope Binary: diffoscope trydiffoscope Architecture: source Version: 60 Distribution: unstable Urgency: medium Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org> Changed-By: Mattia Rizzolo <mattia@debian.org> Description: diffoscope - in-depth comparison of files, archives, and directories trydiffoscope - in-depth comparison of files, archives, etc. (try.diffoscope.org Closes: 835055 Changes: diffoscope (60) unstable; urgency=medium . [ Chris Lamb ] * debian/rules: + Run tests with python3-coverage and generate reports post-build. * CONTRIBUTING: Add PyPI reference. * Comparators: + Avoid ugly DRY violations in diffoscope.comparators.__init__ by dynamically importing classes via a single list. + git: Specify paths as strings as required since b7830b5cb. + elf: - Mask more warnings (eg. "readelf: Error: the dynamic segment offset" or "size exceeds the size of the file"). - Specify string format arguments as logging function parameters, not using interpolation. + json: Correct behaviour of JSON comparator when file does not exist. * Presenters: + html: - Use html.escape over xml.sax.saxutils.escape. - Don't use unsafe cgi.escape method as its ``quote`` kwarg — which enables escaping of quotation marks — is False by default. * Code clean-up: + Tidy imports. + Split exceptions out into dedicated diffoscope.exc module. + Use try-except idiom instead of ``if`` in RequiredToolNotFound.get_package + Prefer kwargs[x] = kwargs.pop(x, 'default') idiom over ``if`` statements. * tests: + Factor out ugly os.path.join to a utility method. + Drop unused try_except in tests/conftest. + Add GitIndex tests to bring coverage of comparators/git.py to 100%. + Add tests for Haskell comparator. - Skip Haskell tests if GHC is not installed. - Skip Haskell tests if GHC version does not match. Closes: #835055 + Add test in JSON comparator for non-existing files. + Rewrite lengthy "[..] skipIf [..] tool_missing" with a @skip_unless_tools_exist decorator. + Add tests for skip_unless_tools_exist helper. + Rename tests/comparators/conftest.py -> tests/comparators/utils.py. + Avoid Don't-Repeat-Yourself violations by factoring out fixture loading. + Avoid more DRY violations by factoring-out non-existing file tests. + Remove some other unused imports from comparator tests. + Check rendering of text and HTML presenters when checking non-existing files. + Use `pytest.xfail` over `assert False`. . [ Mattia Rizzolo ] * debian/control: + Reinstated build profiles, now that dh-python is fixed (see #834238). + Version the build-dependency on dh-python, so it supports build profiles. + Add more nocheck build profiles. + Bump dependencies on debhelper and dpkg-dev to assure build profile support is available. + Add Build-Dependency on fontforge-extras for showttf (run during tests) + Alternate Build-Dependency on default-jdk-headless|default-jdk, to ease backporting to older Debian releases. * debian/rules: + Don't install '/usr/lib/python3/dist-packages/.coverage'. + Run the basic-command-line test during package build. + Be even more verbose about failing tests. + Allow building a mismatching version between diffoscope and the debian changelog if the target distribution is UNRELEASED. * Comparators + ppu: - Unbreak ppu_version detection. - Put code out of the context manager, it doesn't need to be within. * trydiffoscope: add copyright/license header. * autopkgtest/basic-command-line: + Enable running basic-command-line test without ADTTMP being set. + Be a bit more verbose about what is being tested. + Also test return code when passing an invalid command line flag. + Force LC_ALL=C.UTF-8, so that diffoscope can always output something. * test: + Factor out a tools_missing() function. + Rewrite tool_older_than() into skip_unless_tool_is_older_than(). + Skip test_squashfs.py.test_superblock if squashfs is too old. + Normalize xxd's output so that we can compare jessie's xxd with stretch's. * add default-jdk to the alternate packages for javap for Debian; default-jdk-headless is not available in older Debian releases. . [ Satyam Zode ] * Ignore differences in .buildinfo if all the other files listed in .changes are identical. In those cases any differences in .buildinfo files are irrelevant, and are actually a feature (as it indicates two reproducible builds with different environment). . [ Jérémy Bobbio ] * Properly skip tests requiring python-debian when unavailable. . [ Ximin Luo ] * Show the timestamp when logging, to detect which steps take longer. * Add a --no-max flag to disable all limits. * Have --max-report-size honour 0 to mean "no limit". * Comparators: + cbfs: only scan whole file when the filename ends with ".rom". + binary: Suppress decimal line numbers for xxd output. * Increase default --max-diff-input-lines to 2^20 (1048576) from 100000. * Rename --no-max-limits to --no-default-limits, a more accurate name. * presenters/html: html-dir output: + Split large diffs across several child pages. Also add some flags so html-dir behaviour is easier to reason about. + Use 4 times the given --max-diff-block-lines. This way, '--html x.html --html-dir y' gives reasonable output for both. * difference: + Fix behaviour for max-diff-block-limit=1 and don't report when 0 lines are removed. + Don't truncate diff output by default, instead add a separate flag --max-diff-block-lines-saved (infinite by default) to do so. Checksums-Sha1: 7e731a81709a4d6ecf43354299b867abd853834d 2827 diffoscope_60.dsc 508f1ffca925f5e463992a7863e3bda410c043cc 310588 diffoscope_60.tar.xz Checksums-Sha256: 4cce0729e0b2f8b747e7d03286035ce03ce4d312a3dc59d38769acaf25c60a61 2827 diffoscope_60.dsc 1cfb8fd0cbf6030bca432e044799719c3ca30e8bcd2a81a22eeea1a02a316ac2 310588 diffoscope_60.tar.xz Files: 46638ff5eed957c2a2d720436f973749 2827 devel optional diffoscope_60.dsc 447a9be43ba6003ac83e3e53cb636814 310588 devel optional diffoscope_60.tar.xz -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJX1YWsAAoJEEsEP825REVAXvEP/ROmix95YURunV/JW/s3fcfA rxO2bJCi15ePfI/oyTakRTMK/1yPmI1dWLokxIEQdsrWOXRO3/858TSlXHarrQmQ drv797yAYT9Tk/EwGNKrkadiqDmjQciZG1OEnZ9EiH4j3NiFn89IeK62yDAFbu92 3w1ivBXiqziA9WlNRUEehrtjDp+BBPV1jkZihuLgbYejm8BkLE/9Tz36QIWKvgqi Z8xn9xBx203i8HKGIeAFvXW/Kt1fO95zfPbS2aOg34iVh/MOGioBtNNIcoeJ0Z/K 79vzj+bx3XV8OG/Qp/2hfE5flpQYiFeagh/q5dM/ewX0jLr7q0tOst/8lg+fPP0p NR8+P+/eVdu7/TgQZtL0S38KUDJlEo7v89j6PXkcQ9ME3VLZ16fLmoHcQA/I5N9R HQLtk2QMIE/V5lCHg3le1xS27zm/lg7pi9ni/+U5FI2H6QF0wMP2gUVQOcNJM3R7 W/2C4TJGpwXQcRQ9LwH3cpRnfHvLdjhjeQ/Lc9FnTy/SUZ4XyHEOAofyONRUVEZu pEQJBSvO+i3HRG99+sZeOVsVKsLxggMYzgqYaVPAlUl3bc8/d+/zDqcsEf3A1kp0 w7QHM/g4jupV2py8N7maRIMg+0apZvIDm2qTXQTsf6OqqcbK3moRU+umAbVMCQ2E md9kyvyN8a0+nwcdYe8F =DGP+ -----END PGP SIGNATURE-----