diffoscope 251__tar.gz → 253__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {diffoscope-251/diffoscope.egg-info → diffoscope-253}/PKG-INFO +2 -2
- {diffoscope-251 → diffoscope-253}/diffoscope/__init__.py +1 -1
- diffoscope-253/diffoscope/comparators/7z.py +101 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/__init__.py +2 -1
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/elf.py +2 -2
- {diffoscope-251 → diffoscope-253}/diffoscope/external_tools.py +1 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/main.py +4 -1
- {diffoscope-251 → diffoscope-253/diffoscope.egg-info}/PKG-INFO +2 -2
- {diffoscope-251 → diffoscope-253}/diffoscope.egg-info/SOURCES.txt +2 -0
- {diffoscope-251 → diffoscope-253}/setup.py +1 -1
- diffoscope-253/tests/comparators/test_7z.py +74 -0
- {diffoscope-251 → diffoscope-253}/CONTRIBUTING.md +0 -0
- {diffoscope-251 → diffoscope-253}/COPYING +0 -0
- {diffoscope-251 → diffoscope-253}/MANIFEST.in +0 -0
- {diffoscope-251 → diffoscope-253}/README.rst +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/changes.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/android.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/apk.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/ar.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/arsc.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/berkeley_db.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/binary.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/binwalk.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/bzip2.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/cbfs.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/cpio.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/deb.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/debian.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/debian_fallback.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/decompile.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/device.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/dex.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/directory.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/docx.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/dtb.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/ffprobe.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/fit.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/fontconfig.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/fonts.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/fsimage.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/gettext.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/gif.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/git.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/gnumeric.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/gzip.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/haskell.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/hdf.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/html.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/icc.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/image.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/ipk.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/iso9660.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/java.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/javascript.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/json.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/kbx.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/llvm.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/lz4.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/lzip.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/macho.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/missing_file.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/mono.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/ocaml.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/odt.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/ogg.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/openssh.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/openssl.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/pcap.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/pdf.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/pe32.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/pgp.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/png.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/ppu.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/ps.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/python.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/rdata.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/rpm.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/rpm_fallback.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/rust.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/socket_or_fifo.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/sphinx.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/sqlite.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/squashfs.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/symlink.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/tar.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/text.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/uimage.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/__init__.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/archive.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/command.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/compare.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/container.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/file.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/fuzzy.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/libarchive.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/operation.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/utils/specialize.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/vmlinuz.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/wasm.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/xml.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/xmlb.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/xsb.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/xz.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/zip.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/comparators/zst.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/config.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/diff.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/difference.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/environ.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/exc.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/excludes.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/feeders.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/logging.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/path.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/__init__.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/formats.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/html/__init__.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/html/html.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/html/templates.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/icon.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/json.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/markdown.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/restructuredtext.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/text.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/presenters/utils.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/profiling.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/progress.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/readers/__init__.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/readers/json.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/readers/utils.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/scripts/extract-vmlinux +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/tempfiles.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/tools.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope/utils.py +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope.egg-info/dependency_links.txt +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope.egg-info/entry_points.txt +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope.egg-info/requires.txt +0 -0
- {diffoscope-251 → diffoscope-253}/diffoscope.egg-info/top_level.txt +0 -0
- {diffoscope-251 → diffoscope-253}/extras_require.json +0 -0
- {diffoscope-251 → diffoscope-253}/pyproject.toml +0 -0
- {diffoscope-251 → diffoscope-253}/setup.cfg +0 -0
- {diffoscope-251 → diffoscope-253}/tests/__init__.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/__init__.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_android.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_apk.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_archive.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_arsc.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_berkeley_db.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_binary.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_binwalk.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_bzip2.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_cbfs.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_containers.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_cpio.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_deb.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_debian.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_device.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_dex.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_directory.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_docx.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_dtb.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_elf.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_elf_decompiler.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_epub.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_ffprobe.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_fit.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_fontconfig.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_fonts.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_fsimage.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_gettext.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_gif.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_git.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_gnumeric.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_gzip.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_haskell.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_hdf.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_html.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_icc.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_ico_image.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_ipk.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_iso9660.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_java.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_javascript.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_jpeg_image.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_json.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_kbx.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_lz4.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_lzip.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_macho.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_macho_decompiler.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_mono.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_ocaml.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_odt.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_ogg.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_openssh_pub_key.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_openssl.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_pcap.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_pdf.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_pgp.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_png.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_ppu.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_ps.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_python.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_rdata.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_rlib.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_rpm.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_sockets.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_sphinx.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_sqlite.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_squashfs.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_symlink.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_tar.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_text.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_uimage.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_utils.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_wasm.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_xml.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_xsb.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_xz.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_zip.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/comparators/test_zst.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/conftest.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/Samyak-Malayalam1.ttf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/Samyak-Malayalam2.ttf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/Test1.class +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/Test2.class +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/android1.img +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/android2.img +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/android_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/apk_manifest_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/apk_zipinfo_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/archive1.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/archive12.diff.txt +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/archive2.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/arsc_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/base-files_157-r45695_ar71xx.ipk +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/base-files_157-r45918_ar71xx.ipk +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/berkeley6_db_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/berkeley_db_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/binary1 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/binary2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/binary_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/binary_hexdump_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/binwalk_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug881937_1.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug881937_2.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug881937_control_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug903391_1.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug903391_2.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug903401_1.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug903401_2.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug903565_1.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/bug903565_2.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/comment_zipinfo_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/containers/a.tar.bz2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/containers/a.tar.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/containers/a.tar.xz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/containers/b.tar.bz2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/containers/b.tar.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/containers/b.tar.xz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/containers/different_files_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/cpio_listing_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dbgsym/add/test-dbgsym-dbgsym_1_amd64.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dbgsym/add/test-dbgsym_1_amd64.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dbgsym/mult/test-dbgsym-dbgsym_1_amd64.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dbgsym/mult/test-dbgsym_1_amd64.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dbgsym/test-dbgsym_1.dsc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dbgsym/test-dbgsym_1.tar.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/deb_metadata_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/debian-bug-875281.collapsed-diff.json +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/debian-bug-876316-control.tar.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/device_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/device_expected_diff_freebsd +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/device_expected_diff_reverse +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/device_expected_diff_reverse_freebsd +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/devicetree1.dtb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/devicetree2.dtb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/devicetree_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dex_expected_diffs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dex_javap_14_expected_diffs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/docx_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dot_buildinfo_fallback_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dot_changes_description_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dot_changes_different_contents_and_identical_files_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dot_changes_fallback_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dot_changes_identical_contents_and_different_files_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/dot_dsc_fallback_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elf_lib_metadata_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elf_lib_objdump_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elf_obj_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elf_obj_ghidra_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elf_obj_radare2_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix1.not_a +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix2.a +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix_disassembly_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix_mach_o_expected_diff__text +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix_mach_o_expected_diff__text_16 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix_src_c_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix_x_obj_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/elfmix_x_obj_objdump_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/encrypted1.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/encrypted2.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/epub_expected_diffs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ext4_expected_diffs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fat12_expected_diffs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fit_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fontconfig_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fuzzy-tar-in-tar1.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fuzzy-tar-in-tar2.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fuzzy1.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fuzzy2.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/fuzzy3.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/gif_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/git_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/git_expected_diff_freebsd +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/gnu_debuglink_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/gnumeric_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/gzip_metadata_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/haskell_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/hdf5_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/hello1.wasm +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/hello2.wasm +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/html_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/html_text_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/icc_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ico_image_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ico_image_meta_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ico_image_meta_expected_diff_v2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ignore_readelf_errors_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/inv_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ipk_metadata_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/iso9660_content_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/iso9660_content_expected_diff_cdrtools +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/iso9660_rockridge_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/iso9660_rockridge_expected_diff_cdrtools +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/javap_14_class_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/javap_class_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/javascript_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/jmod_zipinfo_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/jpeg_image_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/jpeg_image_meta_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/json_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/json_expected_ordering_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/kbx_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__cstring +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__eh_frame +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__la_symbol_ptr +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__stub_helper +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__stub_helper_16 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__stubs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__stubs_16 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__text +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__text_16 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff__unwind_info +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_dyn_relocations +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_dyn_symbols +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_file_headers +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_needed_libs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_relocations +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_strings +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_symbols +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_llvm_expected_diff_symbols_llvm_11 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_obj_ghidra_expected_diff_main +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_obj_radare2_expected_diff_main +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_obj_radare2_expected_diff_printf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_otool_expected_diff__cstring +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_otool_expected_diff__data +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_otool_expected_diff__text +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_otool_expected_diff_headers +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_otool_expected_diff_indirect_symbols +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_otool_expected_diff_libraries +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/macho_otool_expected_diff_strings +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/mo_charsets_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/mo_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/mozzip_zipinfo_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/mp3_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/no-perms.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ocaml_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/odt_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ogg_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/openssh_pub_key_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/order1a.json +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/order1b.json +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/output.colored.txt +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/output.json +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/output.md +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/output.rst +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/output.txt +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/output_regression_875281.html +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pcap_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pdf_annotations_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pdf_metadata_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pdf_text_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pe_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pgp_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pgp_signature_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pgp_signed_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/png_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ppu_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/procyon_class_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ps_internal_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ps_text_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/pyc_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/quine.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/quine.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/quine_a.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/quine_b.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/quine_deb_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/quine_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rdb_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rds_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/resources1.arsc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/resources2.arsc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_armap_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_elf_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_llvm_dis_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_llvm_dis_expected_diff_10 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_llvm_dis_expected_diff_15 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_llvm_dis_expected_diff_16 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_llvm_dis_expected_diff_5 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rlib_llvm_dis_expected_diff_7 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rpm_fallback_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rpm_header_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/rpm_listing_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/sqlite3_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/squashfs_root_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/squashfs_superblock_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/symlink_expected_destination_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/symlink_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/tar_listing_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1-le64.cache-4 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.a +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.apk +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.asc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.binwalk +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.buildinfo +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.bz2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.changes +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.cpio +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.db +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.debsrc.tar.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.debug +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.dex +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.docx +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.dsc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.epub +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.exe +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.ext4 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.fat12 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.fat16 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.fat32 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.gif +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.git-index +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.gnumeric +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.hi +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.html +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.icc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.ico +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.inv +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.iso +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.jmod +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.jpg +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.js +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.json +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.kbx +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.lz4 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.lzip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.macho +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.mo +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.mozzip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.mp3 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.o +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.odt +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.ogg +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.pcap +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.pdf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.pgp +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.png +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.ppu +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.ps +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.pyc-renamed +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.rdb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.rdx +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.rlib +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.rpm +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.sqlite3 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.squashfs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.xml +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.xsb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.xz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1_meta.ico +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1_meta.jpg +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1_root.squashfs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test1_signed.pgp +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2-le64.cache-4 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.a +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.apk +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.asc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.binwalk +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.buildinfo +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.bz2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.changes +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.cpio +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.db +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.deb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.debsrc.tar.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.debug +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.dex +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.docx +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.dsc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.epub +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.exe +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.ext4 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.fat12 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.gif +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.git-index +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.gnumeric +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.gz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.hi +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.html +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.icc +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.ico +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.inv +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.iso +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.jmod +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.jpg +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.js +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.json +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.kbx +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.lz4 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.lzip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.macho +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.mo +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.mozzip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.mp3 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.o +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.odt +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.ogg +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.pcap +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.pdf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.pgp +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.png +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.ppu +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.ps +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.pyc-renamed +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.rdb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.rdx +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.rlib +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.rpm +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.sqlite3 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.squashfs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.tar +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.xml +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.xsb +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.xz +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2_meta.ico +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2_meta.jpg +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2_root.squashfs +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test2_signed.pgp +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test3.apk +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test3.changes +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test3.gif +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test3.pdf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test3.xml +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test3.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test4.changes +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test4.gif +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test4.pdf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test4.xml +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test5.changes +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_comment1.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_comment2.zip +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_directory_a_b_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_directory_b_a_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_directory_device_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_directory_file_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_directory_symlink_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_invalid.json +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_invalid.xml +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_iso8859-1.mo +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_no_charset.mo +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_openssh_pub_key1.pub +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_openssh_pub_key2.pub +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_weird_non_unicode_chars1.pdf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_weird_non_unicode_chars2.pdf +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_xml_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/test_xml_ordering_differences_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_ascii1 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_ascii2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_ascii_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_iso8859 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_iso8859_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_order1 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_order2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_order_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_unicode1 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_unicode2 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_unicode_binary_fallback +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/text_unicode_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ttf_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/ttf_ttx_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/uimage_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/uimage_expected_diff_pre_5_41 +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/wasm_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/xsb_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/zip_bsdtar_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/data/zip_zipinfo_expected_diff +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_diff_mask.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_difference.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_excludes.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_main.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_presenters.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_progress.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_quines.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_readers.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_source.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_tools.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/test_versions.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/utils/__init__.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/utils/data.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/utils/nonexisting.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/utils/tools.py +0 -0
- {diffoscope-251 → diffoscope-253}/tests/utils/versions.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: diffoscope
|
|
3
|
-
Version:
|
|
3
|
+
Version: 253
|
|
4
4
|
Summary: in-depth comparison of files, archives, and directories
|
|
5
5
|
Home-page: https://diffoscope.org/
|
|
6
6
|
Author: Diffoscope developers
|
|
@@ -8,7 +8,7 @@ Author-email: diffoscope@lists.reproducible-builds.org
|
|
|
8
8
|
License: GPL-3+
|
|
9
9
|
Project-URL: Issues, https://salsa.debian.org/reproducible-builds/diffoscope/-/issues
|
|
10
10
|
Project-URL: Merge requests, https://salsa.debian.org/reproducible-builds/diffoscope/-/merge_requests
|
|
11
|
-
Classifier: Development Status ::
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
14
14
|
Classifier: Operating System :: POSIX
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#
|
|
2
|
+
# diffoscope: in-depth comparison of files, archives, and directories
|
|
3
|
+
#
|
|
4
|
+
# Copyright © 2023 Chris Lamb <lamby@debian.org>
|
|
5
|
+
#
|
|
6
|
+
# diffoscope is free software: you can redistribute it and/or modify
|
|
7
|
+
# it under the terms of the GNU General Public License as published by
|
|
8
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
# (at your option) any later version.
|
|
10
|
+
#
|
|
11
|
+
# diffoscope is distributed in the hope that it will be useful,
|
|
12
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
# GNU General Public License for more details.
|
|
15
|
+
#
|
|
16
|
+
# You should have received a copy of the GNU General Public License
|
|
17
|
+
# along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
|
|
19
|
+
import os
|
|
20
|
+
import re
|
|
21
|
+
import logging
|
|
22
|
+
import subprocess
|
|
23
|
+
|
|
24
|
+
from diffoscope.exc import RequiredToolNotFound
|
|
25
|
+
from diffoscope.tools import tool_required
|
|
26
|
+
from diffoscope.tempfiles import get_temporary_directory
|
|
27
|
+
from diffoscope.difference import Difference
|
|
28
|
+
|
|
29
|
+
from .utils.archive import Archive
|
|
30
|
+
from .utils.file import File
|
|
31
|
+
from .utils.command import Command, our_check_output
|
|
32
|
+
|
|
33
|
+
logger = logging.getLogger(__name__)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class SevenZList(Command):
|
|
37
|
+
@tool_required("7z")
|
|
38
|
+
def cmdline(self):
|
|
39
|
+
return (
|
|
40
|
+
"7z",
|
|
41
|
+
"l",
|
|
42
|
+
self.path,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
def filter(self, line):
|
|
46
|
+
val = line.decode("utf-8")
|
|
47
|
+
if val.startswith("Listing archive: ") or val.startswith("Path = "):
|
|
48
|
+
return b""
|
|
49
|
+
return line
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class SevenZContainer(Archive):
|
|
53
|
+
@tool_required("7z")
|
|
54
|
+
def open_archive(self):
|
|
55
|
+
self._temp_dir = get_temporary_directory(suffix="7z")
|
|
56
|
+
|
|
57
|
+
try:
|
|
58
|
+
our_check_output(
|
|
59
|
+
("7z", "e", os.path.abspath(self.source.path)),
|
|
60
|
+
cwd=self._temp_dir.name,
|
|
61
|
+
stderr=subprocess.DEVNULL,
|
|
62
|
+
)
|
|
63
|
+
except subprocess.CalledProcessError:
|
|
64
|
+
return False
|
|
65
|
+
|
|
66
|
+
return self
|
|
67
|
+
|
|
68
|
+
def close_archive(self):
|
|
69
|
+
self._temp_dir.cleanup()
|
|
70
|
+
|
|
71
|
+
def get_member_names(self):
|
|
72
|
+
return os.listdir(self._temp_dir.name)
|
|
73
|
+
|
|
74
|
+
def extract(self, member_name, dest_dir):
|
|
75
|
+
return os.path.join(self._temp_dir.name, member_name)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class SevenZFile(File):
|
|
79
|
+
DESCRIPTION = "Filesystem image"
|
|
80
|
+
FILE_TYPE_RE = re.compile(r"^DOS/MBR boot sector;")
|
|
81
|
+
CONTAINER_CLASSES = [SevenZContainer]
|
|
82
|
+
|
|
83
|
+
def compare_details(self, other, source=None):
|
|
84
|
+
return [
|
|
85
|
+
Difference.from_operation(
|
|
86
|
+
SevenZList, self.path, other.path, source="7z l"
|
|
87
|
+
)
|
|
88
|
+
]
|
|
89
|
+
|
|
90
|
+
@classmethod
|
|
91
|
+
def recognizes(cls, file):
|
|
92
|
+
if not super().recognizes(file):
|
|
93
|
+
return False
|
|
94
|
+
|
|
95
|
+
try:
|
|
96
|
+
cmd = SevenZList(file.path)
|
|
97
|
+
cmd.start()
|
|
98
|
+
except RequiredToolNotFound:
|
|
99
|
+
return False
|
|
100
|
+
|
|
101
|
+
return b"Type = gzip\n" not in cmd.output
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# Copyright © 2014-2015 Jérémy Bobbio <lunar@debian.org>
|
|
5
5
|
# Copyright © 2015 Helmut Grohne <helmut@subdivi.de>
|
|
6
|
-
# Copyright © 2015-
|
|
6
|
+
# Copyright © 2015-2023 Chris Lamb <lamby@debian.org>
|
|
7
7
|
#
|
|
8
8
|
# diffoscope is free software: you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -75,6 +75,7 @@ class ComparatorManager:
|
|
|
75
75
|
("ffprobe.FfprobeFile",),
|
|
76
76
|
("gnumeric.GnumericFile",),
|
|
77
77
|
("gzip.GzipFile",),
|
|
78
|
+
("7z.SevenZFile",),
|
|
78
79
|
("haskell.HiFile",),
|
|
79
80
|
("icc.IccFile",),
|
|
80
81
|
("iso9660.Iso9660File",),
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# diffoscope: in-depth comparison of files, archives, and directories
|
|
3
3
|
#
|
|
4
4
|
# Copyright © 2014-2015 Jérémy Bobbio <lunar@debian.org>
|
|
5
|
-
# Copyright © 2015-
|
|
5
|
+
# Copyright © 2015-2023 Chris Lamb <lamby@debian.org>
|
|
6
6
|
#
|
|
7
7
|
# diffoscope is free software: you can redistribute it and/or modify
|
|
8
8
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -265,7 +265,7 @@ class ObjdumpDisassembleSection(ObjdumpSection):
|
|
|
265
265
|
|
|
266
266
|
def filter(self, line):
|
|
267
267
|
# Apply this filter first as super() removes offsets
|
|
268
|
-
line = ObjdumpDisassembleSection.RE_SYMBOL_COMMENT.sub(
|
|
268
|
+
line = ObjdumpDisassembleSection.RE_SYMBOL_COMMENT.sub(rb"\1", line)
|
|
269
269
|
return super().filter(line)
|
|
270
270
|
|
|
271
271
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# diffoscope: in-depth comparison of files, archives, and directories
|
|
5
5
|
#
|
|
6
6
|
# Copyright © 2014-2015 Jérémy Bobbio <lunar@debian.org>
|
|
7
|
-
# Copyright © 2016-
|
|
7
|
+
# Copyright © 2016-2023 Chris Lamb <lamby@debian.org>
|
|
8
8
|
#
|
|
9
9
|
# diffoscope is free software: you can redistribute it and/or modify
|
|
10
10
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -773,6 +773,9 @@ def main(args=None):
|
|
|
773
773
|
raise
|
|
774
774
|
logger.error("No space left on device. Diffoscope exiting.")
|
|
775
775
|
sys.exit(2)
|
|
776
|
+
except MemoryError:
|
|
777
|
+
logger.error("Out of memory. Diffoscope exiting.")
|
|
778
|
+
sys.exit(2)
|
|
776
779
|
except KeyboardInterrupt:
|
|
777
780
|
logger.error("Keyboard Interrupt")
|
|
778
781
|
sys.exit(2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: diffoscope
|
|
3
|
-
Version:
|
|
3
|
+
Version: 253
|
|
4
4
|
Summary: in-depth comparison of files, archives, and directories
|
|
5
5
|
Home-page: https://diffoscope.org/
|
|
6
6
|
Author: Diffoscope developers
|
|
@@ -8,7 +8,7 @@ Author-email: diffoscope@lists.reproducible-builds.org
|
|
|
8
8
|
License: GPL-3+
|
|
9
9
|
Project-URL: Issues, https://salsa.debian.org/reproducible-builds/diffoscope/-/issues
|
|
10
10
|
Project-URL: Merge requests, https://salsa.debian.org/reproducible-builds/diffoscope/-/merge_requests
|
|
11
|
-
Classifier: Development Status ::
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
14
14
|
Classifier: Operating System :: POSIX
|
|
@@ -29,6 +29,7 @@ diffoscope.egg-info/dependency_links.txt
|
|
|
29
29
|
diffoscope.egg-info/entry_points.txt
|
|
30
30
|
diffoscope.egg-info/requires.txt
|
|
31
31
|
diffoscope.egg-info/top_level.txt
|
|
32
|
+
diffoscope/comparators/7z.py
|
|
32
33
|
diffoscope/comparators/__init__.py
|
|
33
34
|
diffoscope/comparators/android.py
|
|
34
35
|
diffoscope/comparators/apk.py
|
|
@@ -149,6 +150,7 @@ tests/test_source.py
|
|
|
149
150
|
tests/test_tools.py
|
|
150
151
|
tests/test_versions.py
|
|
151
152
|
tests/comparators/__init__.py
|
|
153
|
+
tests/comparators/test_7z.py
|
|
152
154
|
tests/comparators/test_android.py
|
|
153
155
|
tests/comparators/test_apk.py
|
|
154
156
|
tests/comparators/test_archive.py
|
|
@@ -62,7 +62,7 @@ setup(
|
|
|
62
62
|
extras_require=extras_require,
|
|
63
63
|
python_requires=">=3.7",
|
|
64
64
|
classifiers=[
|
|
65
|
-
"Development Status ::
|
|
65
|
+
"Development Status :: 5 - Production/Stable",
|
|
66
66
|
"Intended Audience :: Developers",
|
|
67
67
|
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
|
|
68
68
|
"Operating System :: POSIX",
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#
|
|
2
|
+
# diffoscope: in-depth comparison of files, archives, and directories
|
|
3
|
+
#
|
|
4
|
+
# Copyright © 2023 Chris Lamb <lamby@debian.org>
|
|
5
|
+
#
|
|
6
|
+
# diffoscope is free software: you can redistribute it and/or modify
|
|
7
|
+
# it under the terms of the GNU General Public License as published by
|
|
8
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
# (at your option) any later version.
|
|
10
|
+
#
|
|
11
|
+
# diffoscope is distributed in the hope that it will be useful,
|
|
12
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
# GNU General Public License for more details.
|
|
15
|
+
#
|
|
16
|
+
# You should have received a copy of the GNU General Public License
|
|
17
|
+
# along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
|
|
19
|
+
import shutil
|
|
20
|
+
import pytest
|
|
21
|
+
|
|
22
|
+
from diffoscope.comparators.lz4 import Lz4File
|
|
23
|
+
from diffoscope.comparators.binary import FilesystemFile
|
|
24
|
+
from diffoscope.comparators.utils.specialize import specialize
|
|
25
|
+
|
|
26
|
+
from ..utils.data import load_fixture, assert_diff
|
|
27
|
+
from ..utils.tools import skip_unless_tools_exist
|
|
28
|
+
from ..utils.nonexisting import assert_non_existing
|
|
29
|
+
|
|
30
|
+
lz4a = load_fixture("test1.lz4")
|
|
31
|
+
lz4b = load_fixture("test2.lz4")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_identification(lz4a):
|
|
35
|
+
assert isinstance(lz4a, Lz4File)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def test_no_differences(lz4a):
|
|
39
|
+
difference = lz4a.compare(lz4a)
|
|
40
|
+
assert difference is None
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@pytest.fixture
|
|
44
|
+
def differences(lz4a, lz4b):
|
|
45
|
+
return lz4a.compare(lz4b).details
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
@skip_unless_tools_exist("lz4")
|
|
49
|
+
def test_content_source(differences):
|
|
50
|
+
assert differences[0].source1 == "test1"
|
|
51
|
+
assert differences[0].source2 == "test2"
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@skip_unless_tools_exist("lz4")
|
|
55
|
+
def test_content_source_without_extension(tmpdir, lz4a, lz4b):
|
|
56
|
+
path1 = str(tmpdir.join("test1"))
|
|
57
|
+
path2 = str(tmpdir.join("test2"))
|
|
58
|
+
shutil.copy(lz4a.path, path1)
|
|
59
|
+
shutil.copy(lz4b.path, path2)
|
|
60
|
+
lz4a = specialize(FilesystemFile(path1))
|
|
61
|
+
lz4b = specialize(FilesystemFile(path2))
|
|
62
|
+
difference = lz4a.compare(lz4b).details
|
|
63
|
+
assert difference[0].source1 == "test1-content"
|
|
64
|
+
assert difference[0].source2 == "test2-content"
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@skip_unless_tools_exist("lz4")
|
|
68
|
+
def test_content_diff(differences):
|
|
69
|
+
assert_diff(differences[0], "text_ascii_expected_diff")
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
@skip_unless_tools_exist("lz4")
|
|
73
|
+
def test_compare_non_existing(monkeypatch, lz4a):
|
|
74
|
+
assert_non_existing(monkeypatch, lz4a)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|