testing/diffoscope is broken
Diffoscope installation is broken; build too:
> apk add diffoscope
> diffoscope android-x86_64.img anbox-image-make/android-x86_64.img
Traceback (most recent call last):
File "/usr/bin/diffoscope", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3259, in <module>
def _initialize_master_working_set():
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3242, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3271, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
ws.require(__requires__)
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 901, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 787, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'diffoscope==105' distribution was not found and is required by the application
> abuild rootbld
>>> diffoscope: Checking sanity of /home/antoine/aports/testing/diffoscope/APKBUILD...
>>> diffoscope: Cleaning up srcdir
>>> diffoscope: Cleaning up pkgdir
>>> diffoscope: Fetching https://salsa.debian.org/reproducible-builds/diffoscope/-/archive/105/diffoscope-105.tar.gz
>>> diffoscope: Fetching https://salsa.debian.org/reproducible-builds/diffoscope/-/archive/105/diffoscope-105.tar.gz
>>> diffoscope: Checking sha512sums...
diffoscope-105.tar.gz: OK
mozillazip.patch: OK
>>> diffoscope: Preparing build chroot...
fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
(1/97) Installing musl (1.1.24-r6)
(2/97) Installing fakeroot (1.24-r0)
(3/97) Installing zlib (1.2.11-r3)
(4/97) Installing sudo (1.8.31p1-r0)
(5/97) Installing scanelf (1.2.5-r2)
(6/97) Installing libcrypto1.1 (1.1.1f-r0)
(7/97) Installing libssl1.1 (1.1.1f-r0)
(8/97) Installing openssl (1.1.1f-r0)
(9/97) Installing apk-tools (2.10.5-r0)
(10/97) Installing musl-utils (1.1.24-r6)
(11/97) Installing libc-utils (0.7.2-r3)
(12/97) Installing libattr (2.4.48-r0)
(13/97) Installing attr (2.4.48-r0)
(14/97) Installing libacl (2.2.53-r0)
(15/97) Installing tar (1.32-r1)
(16/97) Installing pkgconf (1.6.3-r2)
(17/97) Installing patch (2.7.6-r6)
(18/97) Installing libgcc (9.3.0-r1)
(19/97) Installing libstdc++ (9.3.0-r1)
(20/97) Installing lzip (1.21-r0)
(21/97) Installing busybox (1.31.1-r14)
Executing busybox-1.31.1-r14.post-install
(22/97) Installing ca-certificates-bundle (20191127-r2)
(23/97) Installing libtls-standalone (2.9.1-r0)
(24/97) Installing ssl_client (1.31.1-r14)
(25/97) Installing ca-certificates (20191127-r2)
(26/97) Installing nghttp2-libs (1.40.0-r0)
(27/97) Installing libcurl (7.69.1-r0)
(28/97) Installing curl (7.69.1-r0)
(29/97) Installing abuild (3.5.0-r2)
Executing abuild-3.5.0-r2.pre-install
(30/97) Installing alpine-baselayout (3.2.0-r5)
Executing alpine-baselayout-3.2.0-r5.pre-install
Executing alpine-baselayout-3.2.0-r5.post-install
(31/97) Installing openrc (0.42.1-r8)
Executing openrc-0.42.1-r8.post-install
(32/97) Installing alpine-conf (3.8.3-r6)
(33/97) Installing busybox-suid (1.31.1-r14)
(34/97) Installing busybox-initscripts (3.2-r2)
Executing busybox-initscripts-3.2-r2.post-install
(35/97) Installing alpine-keys (2.2-r0)
(36/97) Installing alpine-base (3.12_alpha20200319-r0)
(37/97) Installing binutils (2.34-r0)
(38/97) Installing libmagic (5.38-r0)
(39/97) Installing file (5.38-r0)
(40/97) Installing gmp (6.2.0-r0)
(41/97) Installing isl (0.18-r0)
(42/97) Installing libgomp (9.3.0-r1)
(43/97) Installing libatomic (9.3.0-r1)
(44/97) Installing libgphobos (9.3.0-r1)
(45/97) Installing mpfr4 (4.0.2-r3)
(46/97) Installing mpc1 (1.1.0-r1)
(47/97) Installing gcc (9.3.0-r1)
(48/97) Installing musl-dev (1.1.24-r6)
(49/97) Installing libc-dev (0.7.2-r3)
(50/97) Installing g++ (9.3.0-r1)
(51/97) Installing make (4.3-r0)
(52/97) Installing fortify-headers (1.1-r0)
(53/97) Installing build-base (0.5-r1)
(54/97) Installing bzip2 (1.0.8-r1)
(55/97) Installing expat (2.2.9-r1)
(56/97) Installing pcre2 (10.34-r1)
(57/97) Installing git (2.26.1-r0)
(58/97) Installing gzip (1.10-r0)
(59/97) Installing libbz2 (1.0.8-r1)
(60/97) Installing lz4-libs (1.9.2-r0)
(61/97) Installing xz-libs (5.2.5-r0)
(62/97) Installing zstd-libs (1.4.4-r1)
(63/97) Installing libarchive-tools (3.4.2-r0)
(64/97) Installing libffi (3.3-r1)
(65/97) Installing gdbm (1.13-r1)
(66/97) Installing ncurses-terminfo-base (6.2_p20200411-r0)
(67/97) Installing ncurses-libs (6.2_p20200411-r0)
(68/97) Installing readline (8.0.4-r0)
(69/97) Installing sqlite-libs (3.31.1-r1)
(70/97) Installing python3 (3.8.2-r6)
(71/97) Installing py3-olefile (0.46-r3)
(72/97) Installing libpng (1.6.37-r1)
(73/97) Installing freetype (2.10.1-r0)
(74/97) Installing libjpeg-turbo (2.0.4-r1)
(75/97) Installing lcms2 (2.9-r1)
(76/97) Installing tiff (4.1.0-r0)
(77/97) Installing libwebp (1.1.0-r0)
(78/97) Installing py3-pillow (6.2.2-r1)
(79/97) Installing py3-docutils (0.15.2-r0)
(80/97) Installing libarchive (3.4.2-r0)
(81/97) Installing py3-libarchive-c (2.9-r1)
(82/97) Installing py3-magic (0.4.15-r3)
(83/97) Installing py3-atomicwrites (1.3.0-r2)
(84/97) Installing py3-py (1.8.1-r0)
(85/97) Installing py3-six (1.14.0-r1)
(86/97) Installing py3-attrs (19.3.0-r1)
(87/97) Installing py3-more-itertools (8.2.0-r0)
(88/97) Installing py3-pluggy (0.13.1-r0)
(89/97) Installing py3-wcwidth (0.1.9-r0)
(90/97) Installing py3-ordered-set (3.1.1-r0)
(91/97) Installing py3-appdirs (1.4.3-r2)
(92/97) Installing py3-parsing (2.4.7-r0)
(93/97) Installing py3-packaging (20.3-r0)
(94/97) Installing py3-setuptools (46.1.3-r0)
(95/97) Installing py3-pytest (5.4.1-r0)
(96/97) Installing python3-dev (3.8.2-r6)
(97/97) Installing unzip (6.0-r7)
Executing busybox-1.31.1-r14.trigger
Executing ca-certificates-20191127-r2.trigger
OK: 340 MiB in 97 packages
>>> diffoscope: Fetching https://salsa.debian.org/reproducible-builds/diffoscope/-/archive/105/diffoscope-105.tar.gz
>>> diffoscope: Checking sha512sums...
diffoscope-105.tar.gz: OK
mozillazip.patch: OK
>>> diffoscope: Unpacking /var/cache/distfiles/diffoscope-105.tar.gz...
>>> diffoscope: mozillazip.patch
patching file diffoscope/comparators/__init__.py
patching file tests/comparators/test_zip.py
Hunk #1 succeeded at 103 (offset -2 lines).
running build
running build_py
creating build
creating build/lib
creating build/lib/diffoscope
copying diffoscope/main.py -> build/lib/diffoscope
copying diffoscope/excludes.py -> build/lib/diffoscope
copying diffoscope/diff.py -> build/lib/diffoscope
copying diffoscope/tempfiles.py -> build/lib/diffoscope
copying diffoscope/profiling.py -> build/lib/diffoscope
copying diffoscope/logging.py -> build/lib/diffoscope
copying diffoscope/difference.py -> build/lib/diffoscope
copying diffoscope/path.py -> build/lib/diffoscope
copying diffoscope/changes.py -> build/lib/diffoscope
copying diffoscope/external_tools.py -> build/lib/diffoscope
copying diffoscope/progress.py -> build/lib/diffoscope
copying diffoscope/locale.py -> build/lib/diffoscope
copying diffoscope/tools.py -> build/lib/diffoscope
copying diffoscope/exc.py -> build/lib/diffoscope
copying diffoscope/__init__.py -> build/lib/diffoscope
copying diffoscope/config.py -> build/lib/diffoscope
copying diffoscope/feeders.py -> build/lib/diffoscope
creating build/lib/diffoscope/readers
copying diffoscope/readers/json.py -> build/lib/diffoscope/readers
copying diffoscope/readers/utils.py -> build/lib/diffoscope/readers
copying diffoscope/readers/__init__.py -> build/lib/diffoscope/readers
creating build/lib/diffoscope/presenters
copying diffoscope/presenters/icon.py -> build/lib/diffoscope/presenters
copying diffoscope/presenters/text.py -> build/lib/diffoscope/presenters
copying diffoscope/presenters/markdown.py -> build/lib/diffoscope/presenters
copying diffoscope/presenters/json.py -> build/lib/diffoscope/presenters
copying diffoscope/presenters/formats.py -> build/lib/diffoscope/presenters
copying diffoscope/presenters/utils.py -> build/lib/diffoscope/presenters
copying diffoscope/presenters/__init__.py -> build/lib/diffoscope/presenters
copying diffoscope/presenters/restructuredtext.py -> build/lib/diffoscope/presenters
creating build/lib/diffoscope/comparators
copying diffoscope/comparators/pdf.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/tar.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/xz.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/dtb.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/git.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/apk.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/fonts.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/rpm.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/android.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/xml.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/text.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/zip.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/binwalk.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/bzip2.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/javascript.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/elf.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/json.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/directory.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/cpio.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/haskell.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/debian_fallback.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/llvm.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/macho.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/berkeley_db.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/docx.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/cbfs.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/lz4.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/ocaml.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/rpm_fallback.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/icc.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/iso9660.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/dex.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/ar.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/device.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/fontconfig.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/openssh.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/ogg.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/png.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/missing_file.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/rdata.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/gettext.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/deb.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/ppu.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/pgp.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/rust.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/image.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/xsb.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/ipk.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/gzip.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/gnumeric.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/ps.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/squashfs.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/debian.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/java.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/binary.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/__init__.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/pcap.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/fsimage.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/symlink.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/gif.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/mono.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/sqlite.py -> build/lib/diffoscope/comparators
copying diffoscope/comparators/odt.py -> build/lib/diffoscope/comparators
creating build/lib/diffoscope/presenters/html
copying diffoscope/presenters/html/html.py -> build/lib/diffoscope/presenters/html
copying diffoscope/presenters/html/templates.py -> build/lib/diffoscope/presenters/html
copying diffoscope/presenters/html/__init__.py -> build/lib/diffoscope/presenters/html
creating build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/archive.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/command.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/specialize.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/libarchive.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/container.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/fuzzy.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/compare.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/__init__.py -> build/lib/diffoscope/comparators/utils
copying diffoscope/comparators/utils/file.py -> build/lib/diffoscope/comparators/utils
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
creating diffoscope.egg-info
writing diffoscope.egg-info/PKG-INFO
writing dependency_links to diffoscope.egg-info/dependency_links.txt
writing entry points to diffoscope.egg-info/entry_points.txt
writing requirements to diffoscope.egg-info/requires.txt
writing top-level names to diffoscope.egg-info/top_level.txt
writing manifest file 'diffoscope.egg-info/SOURCES.txt'
reading manifest file 'diffoscope.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'diffoscope.egg-info/SOURCES.txt'
running build_ext
================================================================= test session starts =================================================================
platform linux -- Python 3.8.2, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: /home/antoine/aports/testing/diffoscope/src/diffoscope-105
collected 410 items
tests/test_difference.py ..... [ 1%]
tests/test_excludes.py ....... [ 2%]
tests/test_main.py ............ [ 5%]
tests/test_presenters.py .F........s........ [ 10%]
tests/test_progress.py s. [ 10%]
tests/test_quines.py ..F.. [ 12%]
tests/test_readers.py . [ 12%]
tests/test_source.py . [ 12%]
tests/test_tools.py .. [ 13%]
tests/comparators/test_android.py ..ss [ 14%]
tests/comparators/test_apk.py ..ssssss [ 16%]
tests/comparators/test_archive.py . [ 16%]
tests/comparators/test_berkeley_db.py ..ss [ 17%]
tests/comparators/test_binary.py ..................s.. [ 22%]
tests/comparators/test_binwalk.py sssss [ 23%]
tests/comparators/test_bzip2.py ...... [ 25%]
tests/comparators/test_cbfs.py ssssss [ 26%]
tests/comparators/test_containers.py FF [ 27%]
tests/comparators/test_cpio.py ...... [ 28%]
tests/comparators/test_deb.py ...........F... [ 32%]
tests/comparators/test_debian.py .s.sss.s.ss.s.ss. [ 36%]
tests/comparators/test_device.py ... [ 37%]
tests/comparators/test_dex.py ..ss [ 38%]
tests/comparators/test_directory.py ........ [ 40%]
tests/comparators/test_docx.py ..ss [ 40%]
tests/comparators/test_dtb.py ..ss [ 41%]
tests/comparators/test_elf.py ........ss [ 44%]
tests/comparators/test_epub.py .... [ 45%]
tests/comparators/test_fontconfig.py ... [ 46%]
tests/comparators/test_fonts.py ..ss [ 47%]
tests/comparators/test_fsimage.py ....ssss [ 49%]
tests/comparators/test_gettext.py ..sss [ 50%]
tests/comparators/test_gif.py ..ssss [ 51%]
tests/comparators/test_git.py ... [ 52%]
tests/comparators/test_gnumeric.py ..ss [ 53%]
tests/comparators/test_gzip.py ...F.... [ 55%]
tests/comparators/test_haskell.py s.s [ 56%]
tests/comparators/test_icc.py ..ss [ 57%]
tests/comparators/test_ico_image.py ..sss [ 58%]
tests/comparators/test_ipk.py ..F.. [ 59%]
tests/comparators/test_iso9660.py ..sssss [ 61%]
tests/comparators/test_java.py ..ssss [ 62%]
tests/comparators/test_javascript.py ..ss [ 63%]
tests/comparators/test_jpeg_image.py ..ssss [ 65%]
tests/comparators/test_json.py ...... [ 66%]
tests/comparators/test_lz4.py ..ssss [ 68%]
tests/comparators/test_macho.py ..ss [ 69%]
tests/comparators/test_mono.py ..ss [ 70%]
tests/comparators/test_ocaml.py ..ss [ 70%]
tests/comparators/test_odt.py ..ss [ 71%]
tests/comparators/test_ogg.py ..ss [ 72%]
tests/comparators/test_openssh_pub_key.py ..ss [ 73%]
tests/comparators/test_pcap.py ..ss [ 74%]
tests/comparators/test_pdf.py ...sss [ 76%]
tests/comparators/test_pgp.py ..ss [ 77%]
tests/comparators/test_png.py ..sss [ 78%]
tests/comparators/test_ppu.py s.ss [ 79%]
tests/comparators/test_ps.py ..sss [ 80%]
tests/comparators/test_rdata.py ..ss [ 81%]
tests/comparators/test_rlib.py ......s. [ 83%]
tests/comparators/test_rpm.py .sssss. [ 85%]
tests/comparators/test_sqlite.py ..ss [ 86%]
tests/comparators/test_squashfs.py ...ssss [ 88%]
tests/comparators/test_symlink.py . [ 88%]
tests/comparators/test_tar.py ....... [ 90%]
tests/comparators/test_text.py ....... [ 91%]
tests/comparators/test_utils.py .ssssss. [ 93%]
tests/comparators/test_xml.py ...F [ 94%]
tests/comparators/test_xsb.py ..ss [ 95%]
tests/comparators/test_xz.py ..FFFF [ 97%]
tests/comparators/test_zip.py ............ [100%]
====================================================================== FAILURES =======================================================================
____________________________________________________________ test_text_proper_indentation _____________________________________________________________
capsys = <_pytest.capture.CaptureFixture object at 0x7fcf1d6440d0>
@skip_unless_file_version_is_at_least('5.33')
def test_text_proper_indentation(capsys):
out = run(capsys, pair=('archive1.tar', 'archive2.tar'))
> assert out == get_data('archive12.diff.txt')
E assert '--- archive1... -a\n│ │ +b\n' == '--- archive1... -a\n│ │ +b\n'
E Skipping 387 identical leading characters in diff, use -v to show
E - inal size 2
E + inal size modulo 2^32 2
E - │ │ +gzip compressed data, was "compressed", last modified: Sun Mar 19 22:27:42 2017, max compression, from Unix, original size 2
E + │ │ +gzip compressed data, was "compressed", last modified: Sun Mar 19 22:27:42 2017, max compression, from Unix, original size modulo 2^32 2
E ? ++++++++++++
E │ ├── compressed...
E
E ...Full output truncated (4 lines hidden), use '-vv' to show
tests/test_presenters.py:83: AssertionError
___________________________________________________________________ test_difference ___________________________________________________________________
differences = [<Difference filetype from file(1) -- filetype from file(1) []>, <Difference filetype from diffoscope -- filetype from...ent -- r/r.zip []>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]>]
@skip_unless_file_version_is_at_least('5.33')
def test_difference(differences):
expected_diff = get_data('quine_expected_diff')
> assert differences[0].unified_diff == expected_diff
E AssertionError: assert '@@ -1 +1 @@\... to extract\n' == '@@ -1 +1 @@\... to extract\n'
E Skipping 96 identical leading characters in diff, use -v to show
E - inal size 250
E + inal size modulo 2^32 250
E +Zip archive data, at least v2.0 to extract
tests/test_quines.py:58: AssertionError
_____________________________________________________________________ test_equal ______________________________________________________________________
set1 = {'bzip2': <<class 'abc.Bzip2File'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/containers/a....'xz': <<class 'abc.XzFile'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/containers/a.tar.xz>}
@skip_unless_tools_exist('xz')
@skip_unless_file_version_is_at_least('5.33')
def test_equal(set1):
for x, y in itertools.product(TYPES, TYPES):
diff = set1[x].compare(set1[y])
if x == y:
assert diff is None
else:
differences = diff.details
> assert differences[0].unified_diff == expected_magic_diff(
x, y), "{} {}".format(x, y)
E AssertionError: gzip bzip2
E assert '@@ -1 +1 @@\...size = 900k\n' == '@@ -1 +1 @@\...size = 900k\n'
E Skipping 91 identical leading characters in diff, use -v to show
E - inal size 10240
E + inal size modulo 2^32 10240
E +bzip2 compressed data, block size = 900k
tests/comparators/test_containers.py:70: AssertionError
___________________________________________________________________ test_different ____________________________________________________________________
set1 = {'bzip2': <<class 'abc.Bzip2File'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/containers/a....'xz': <<class 'abc.XzFile'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/containers/a.tar.xz>}
set2 = {'bzip2': <<class 'abc.Bzip2File'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/containers/b....'xz': <<class 'abc.XzFile'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/containers/b.tar.xz>}
@skip_unless_tools_exist('xz')
@skip_unless_file_version_is_at_least('5.33')
def test_different(set1, set2):
for x, y in itertools.product(TYPES, TYPES):
expected_diff = get_data('containers/different_files_expected_diff')
differences = set1[x].compare(set2[y]).details
if x == y:
assert differences[0].details[1].unified_diff == expected_diff
else:
> assert differences[0].unified_diff == expected_magic_diff(
x, y), "{} {}".format(x, y)
E AssertionError: gzip bzip2
E assert '@@ -1 +1 @@\...size = 900k\n' == '@@ -1 +1 @@\...size = 900k\n'
E Skipping 91 identical leading characters in diff, use -v to show
E - inal size 10240
E + inal size modulo 2^32 10240
E +bzip2 compressed data, block size = 900k
tests/comparators/test_containers.py:86: AssertionError
_________________________________________________________ test_compare_different_compression __________________________________________________________
bug881937_deb1 = <<class 'abc.DebFile'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/bug881937_1.deb>
bug881937_deb2 = <<class 'abc.DebFile'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/bug881937_2.deb>
@skip_unless_tools_exist('xz')
def test_compare_different_compression(bug881937_deb1, bug881937_deb2):
difference = bug881937_deb1.compare(bug881937_deb2)
> assert difference.details[1].source1 == 'control.tar.gz'
E AssertionError: assert 'filetype from file(1)' == 'control.tar.gz'
E - control.tar.gz
E + filetype from file(1)
tests/comparators/test_deb.py:145: AssertionError
---------------------------------------------------------------- Captured stderr call -----------------------------------------------------------------
xz: unrecognized option: decompress
BusyBox v1.31.1 () multi-call binary.
Usage: xz -d [-cfk] [FILE]...
Decompress FILE (or stdin)
-d Decompress
-c Write to stdout
-f Force
-k Keep input files
____________________________________________________________________ test_metadata ____________________________________________________________________
differences = [<Difference filetype from file(1) -- filetype from file(1) []>, <Difference test1 -- test2 []>]
@skip_unless_file_version_is_at_least('5.33')
def test_metadata(differences):
assert differences[0].source1.startswith('filetype')
assert differences[0].source2.startswith('filetype')
expected_diff = get_data('gzip_metadata_expected_diff')
> assert differences[0].unified_diff == expected_diff
E AssertionError: assert '@@ -1 +1 @@\...lo 2^32 671\n' == '@@ -1 +1 @@\...al size 671\n'
E Skipping 108 identical leading characters in diff, use -v to show
E - inal size 446
E + inal size modulo 2^32 446
E - +gzip compressed data, last modified: Tue Jun 23 10:12:28 2015, from Unix, original size 671
E + +gzip compressed data, last modified: Tue Jun 23 10:12:28 2015, from Unix, original size modulo 2^32 671
E ? ++++++++++++
tests/comparators/test_gzip.py:65: AssertionError
____________________________________________________________________ test_metadata ____________________________________________________________________
differences = [<Difference filetype from file(1) -- filetype from file(1) []>, <Difference base-files_157-r45695_ar71xx.ipk-content ...rence control.tar -- control.tar [<Difference file list -- file list []>, <Difference ./control -- ./control []>]>]>]>]
@skip_unless_file_version_is_at_least('5.33')
def test_metadata(differences):
assert differences[0].source1.startswith('filetype')
expected_diff = get_data('ipk_metadata_expected_diff')
> assert differences[0].unified_diff == expected_diff
E AssertionError: assert '@@ -1 +1 @@\... 2^32 61440\n' == '@@ -1 +1 @@\... size 61440\n'
E Skipping 91 identical leading characters in diff, use -v to show
E - inal size 61440
E + inal size modulo 2^32 61440
E - +gzip compressed data, last modified: Mon Jun 8 17:31:21 2015, from Unix, original size 61440
E + +gzip compressed data, last modified: Mon Jun 8 17:31:21 2015, from Unix, original size modulo 2^32 61440
E ? ++++++++++++
tests/comparators/test_ipk.py:52: AssertionError
______________________________________________________________________ test_diff ______________________________________________________________________
differences = [<Difference /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/test1.xml -- /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/test2.xml []>]
> ???
E assert '@@ -1,9 +1,9...>\n </note>\n' == '@@ -1,9 +1,9...>\n </note>\n'
E Skipping 64 identical leading characters in diff, use -v to show
E Skipping 225 identical trailing characters in diff, use -v to show
E - <style id="night-mode-pro-style" type="text/css"/>
E - <link id="night-mode-pro-link" rel="stylesheet" type="text/css"/>
E + <style type="text/css" id="night-mode-pro-style"/>
E + <link type="text/css" rel="stylesheet" id="night-mode-pro-link"/>
E - <t
tests/comparators/test_xml.py:51: AssertionError
_________________________________________________________________ test_content_source _________________________________________________________________
differences = []
@skip_unless_tools_exist('xz')
def test_content_source(differences):
> assert differences[0].source1 == 'test1'
E IndexError: list index out of range
tests/comparators/test_xz.py:51: IndexError
---------------------------------------------------------------- Captured stderr setup ----------------------------------------------------------------
xz: unrecognized option: decompress
BusyBox v1.31.1 () multi-call binary.
Usage: xz -d [-cfk] [FILE]...
Decompress FILE (or stdin)
-d Decompress
-c Write to stdout
-f Force
-k Keep input files
________________________________________________________ test_content_source_without_extension ________________________________________________________
tmpdir = local('/tmp/pytest-of-antoine/pytest-0/test_content_source_without_ex2')
xz1 = <<class 'abc.XzFile'> /tmp/pytest-of-antoine/pytest-0/test_content_source_without_ex2/test1>
xz2 = <<class 'abc.XzFile'> /tmp/pytest-of-antoine/pytest-0/test_content_source_without_ex2/test2>
@skip_unless_tools_exist('xz')
def test_content_source_without_extension(tmpdir, xz1, xz2):
path1 = str(tmpdir.join('test1'))
path2 = str(tmpdir.join('test2'))
shutil.copy(xz1.path, path1)
shutil.copy(xz2.path, path2)
xz1 = specialize(FilesystemFile(path1))
xz2 = specialize(FilesystemFile(path2))
difference = xz1.compare(xz2).details
> assert difference[0].source1 == 'test1-content'
E IndexError: list index out of range
tests/comparators/test_xz.py:64: IndexError
---------------------------------------------------------------- Captured stderr call -----------------------------------------------------------------
xz: unrecognized option: decompress
BusyBox v1.31.1 () multi-call binary.
Usage: xz -d [-cfk] [FILE]...
Decompress FILE (or stdin)
-d Decompress
-c Write to stdout
-f Force
-k Keep input files
__________________________________________________________________ test_content_diff __________________________________________________________________
differences = []
@skip_unless_tools_exist('xz')
def test_content_diff(differences):
expected_diff = get_data('text_ascii_expected_diff')
> assert differences[0].unified_diff == expected_diff
E IndexError: list index out of range
tests/comparators/test_xz.py:71: IndexError
---------------------------------------------------------------- Captured stderr setup ----------------------------------------------------------------
xz: unrecognized option: decompress
BusyBox v1.31.1 () multi-call binary.
Usage: xz -d [-cfk] [FILE]...
Decompress FILE (or stdin)
-d Decompress
-c Write to stdout
-f Force
-k Keep input files
______________________________________________________________ test_compare_non_existing ______________________________________________________________
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fcf1e789df0>
xz1 = <<class 'abc.XzFile'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/test1.xz>
@skip_unless_tools_exist('xz')
def test_compare_non_existing(monkeypatch, xz1):
> assert_non_existing(monkeypatch, xz1)
tests/comparators/test_xz.py:76:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fcf1e789df0>
fixture = <<class 'abc.XzFile'> /home/antoine/aports/testing/diffoscope/src/diffoscope-105/tests/data/test1.xz>, has_null_source = True
has_details = True
def assert_non_existing(monkeypatch, fixture, has_null_source=True, has_details=True):
monkeypatch.setattr(Config(), 'new_file', True)
assert Config().new_file, "Did not get patched"
difference = fixture.compare(MissingFile('/nonexisting', fixture))
assert difference.source2 == '/nonexisting'
> assert not has_details or len(difference.details) > 0
E AssertionError
tests/utils/nonexisting.py:32: AssertionError
---------------------------------------------------------------- Captured stderr call -----------------------------------------------------------------
xz: unrecognized option: decompress
BusyBox v1.31.1 () multi-call binary.
Usage: xz -d [-cfk] [FILE]...
Decompress FILE (or stdin)
-d Decompress
-c Write to stdout
-f Force
-k Keep input files
================================================================== warnings summary ===================================================================
tests/test_difference.py: 4 tests with warnings
tests/test_excludes.py: 26 tests with warnings
tests/test_main.py: 7 tests with warnings
tests/test_presenters.py: 61 tests with warnings
tests/test_progress.py: 5 tests with warnings
tests/test_quines.py: 257 tests with warnings
tests/test_readers.py: 6 tests with warnings
tests/comparators/test_android.py: 1 test with warning
tests/comparators/test_apk.py: 3 tests with warnings
tests/comparators/test_archive.py: 6 tests with warnings
tests/comparators/test_berkeley_db.py: 1 test with warning
tests/comparators/test_binary.py: 10 tests with warnings
tests/comparators/test_bzip2.py: 15 tests with warnings
tests/comparators/test_containers.py: 17 tests with warnings
tests/comparators/test_cpio.py: 25 tests with warnings
tests/comparators/test_deb.py: 185 tests with warnings
tests/comparators/test_debian.py: 12 tests with warnings
tests/comparators/test_device.py: 2 tests with warnings
tests/comparators/test_dex.py: 3 tests with warnings
tests/comparators/test_directory.py: 282 tests with warnings
tests/comparators/test_docx.py: 1 test with warning
tests/comparators/test_dtb.py: 1 test with warning
tests/comparators/test_elf.py: 185 tests with warnings
tests/comparators/test_epub.py: 22 tests with warnings
tests/comparators/test_fontconfig.py: 3 tests with warnings
tests/comparators/test_fonts.py: 1 test with warning
tests/comparators/test_gettext.py: 1 test with warning
tests/comparators/test_gif.py: 1 test with warning
tests/comparators/test_git.py: 3 tests with warnings
tests/comparators/test_gnumeric.py: 1 test with warning
tests/comparators/test_gzip.py: 18 tests with warnings
tests/comparators/test_haskell.py: 1 test with warning
tests/comparators/test_icc.py: 1 test with warning
tests/comparators/test_ico_image.py: 1 test with warning
tests/comparators/test_ipk.py: 171 tests with warnings
tests/comparators/test_iso9660.py: 1 test with warning
tests/comparators/test_java.py: 1 test with warning
tests/comparators/test_javascript.py: 1 test with warning
tests/comparators/test_jpeg_image.py: 1 test with warning
tests/comparators/test_json.py: 7 tests with warnings
tests/comparators/test_lz4.py: 3 tests with warnings
tests/comparators/test_macho.py: 1 test with warning
tests/comparators/test_mono.py: 1 test with warning
tests/comparators/test_ocaml.py: 1 test with warning
tests/comparators/test_odt.py: 1 test with warning
tests/comparators/test_ogg.py: 1 test with warning
tests/comparators/test_openssh_pub_key.py: 1 test with warning
tests/comparators/test_pcap.py: 1 test with warning
tests/comparators/test_pdf.py: 2 tests with warnings
tests/comparators/test_pgp.py: 1 test with warning
tests/comparators/test_png.py: 1 test with warning
tests/comparators/test_ppu.py: 1 test with warning
tests/comparators/test_ps.py: 1 test with warning
tests/comparators/test_rdata.py: 3 tests with warnings
tests/comparators/test_rlib.py: 215 tests with warnings
tests/comparators/test_rpm.py: 3 tests with warnings
tests/comparators/test_sqlite.py: 1 test with warning
tests/comparators/test_squashfs.py: 2 tests with warnings
tests/comparators/test_symlink.py: 1 test with warning
tests/comparators/test_tar.py: 29 tests with warnings
tests/comparators/test_text.py: 9 tests with warnings
tests/comparators/test_utils.py: 1 test with warning
tests/comparators/test_xml.py: 3 tests with warnings
tests/comparators/test_xsb.py: 1 test with warning
tests/comparators/test_xz.py: 15 tests with warnings
tests/comparators/test_zip.py: 45 tests with warnings
/usr/lib/python3.8/subprocess.py:844: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
self.stdout = io.open(c2pread, 'rb', bufsize)
-- Docs: https://docs.pytest.org/en/latest/warnings.html
=============================================================== short test summary info ===============================================================
FAILED tests/test_presenters.py::test_text_proper_indentation - assert '--- archive1... -a\n│ │ +b\n' == '--- archive1... -a\n│ │ +b\n'
FAILED tests/test_quines.py::test_difference - AssertionError: assert '@@ -1 +1 @@\... to extract\n' == '@@ -1 +1 @@\... to extract\n'
FAILED tests/comparators/test_containers.py::test_equal - AssertionError: gzip bzip2
FAILED tests/comparators/test_containers.py::test_different - AssertionError: gzip bzip2
FAILED tests/comparators/test_deb.py::test_compare_different_compression - AssertionError: assert 'filetype from file(1)' == 'control.tar.gz'
FAILED tests/comparators/test_gzip.py::test_metadata - AssertionError: assert '@@ -1 +1 @@\...lo 2^32 671\n' == '@@ -1 +1 @@\...al size 671\n'
FAILED tests/comparators/test_ipk.py::test_metadata - AssertionError: assert '@@ -1 +1 @@\... 2^32 61440\n' == '@@ -1 +1 @@\... size 61440\n'
FAILED tests/comparators/test_xml.py::test_diff - assert '@@ -1,9 +1,9...>\n </note>\n' == '@@ -1,9 +1,9...>\n </note>\n'
FAILED tests/comparators/test_xz.py::test_content_source - IndexError: list index out of range
FAILED tests/comparators/test_xz.py::test_content_source_without_extension - IndexError: list index out of range
FAILED tests/comparators/test_xz.py::test_content_diff - IndexError: list index out of range
FAILED tests/comparators/test_xz.py::test_compare_non_existing - AssertionError
============================================= 12 failed, 265 passed, 133 skipped, 1694 warnings in 44.51s =============================================
>>> ERROR: diffoscope: check failed
>>> ERROR: diffoscope: rootbld failed
>>> diffoscope: Cleaning up build chroot
I also tried that latest version (v150) with the patch dropped, but testsuite did not pass either. I'll try to have a look if I find time. For now I used pip install
.