diffoscope 259__tar.gz → 261__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.
Files changed (670) hide show
  1. {diffoscope-259 → diffoscope-261}/PKG-INFO +1 -1
  2. {diffoscope-259 → diffoscope-261}/debian/changelog +25 -2
  3. {diffoscope-259 → diffoscope-261}/diffoscope/__init__.py +1 -1
  4. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/__init__.py +2 -2
  5. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/python.py +7 -0
  6. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/rdata.py +22 -3
  7. diffoscope-259/diffoscope/comparators/7z.py → diffoscope-261/diffoscope/comparators/sevenz.py +1 -1
  8. {diffoscope-259 → diffoscope-261}/diffoscope.egg-info/PKG-INFO +1 -1
  9. {diffoscope-259 → diffoscope-261}/diffoscope.egg-info/SOURCES.txt +5 -2
  10. diffoscope-261/tests/comparators/test_sevenz.py +78 -0
  11. diffoscope-261/tests/data/test1.disk.gz +0 -0
  12. diffoscope-261/tests/data/test2.disk.gz +0 -0
  13. diffoscope-261/tests/data/text_sevenzmetadata_expected_diff +15 -0
  14. diffoscope-259/tests/comparators/test_7z.py +0 -74
  15. {diffoscope-259 → diffoscope-261}/.coveragerc +0 -0
  16. {diffoscope-259 → diffoscope-261}/.dockerignore +0 -0
  17. {diffoscope-259 → diffoscope-261}/CONTRIBUTING.md +0 -0
  18. {diffoscope-259 → diffoscope-261}/COPYING +0 -0
  19. {diffoscope-259 → diffoscope-261}/Dockerfile +0 -0
  20. {diffoscope-259 → diffoscope-261}/MANIFEST.in +0 -0
  21. {diffoscope-259 → diffoscope-261}/README.rst +0 -0
  22. {diffoscope-259 → diffoscope-261}/bin/diffoscope +0 -0
  23. {diffoscope-259 → diffoscope-261}/debian/README.source +0 -0
  24. {diffoscope-259 → diffoscope-261}/debian/check-dep-sizes.sh +0 -0
  25. {diffoscope-259 → diffoscope-261}/debian/clean +0 -0
  26. {diffoscope-259 → diffoscope-261}/debian/control +0 -0
  27. {diffoscope-259 → diffoscope-261}/debian/copyright +0 -0
  28. {diffoscope-259 → diffoscope-261}/debian/diffoscope-minimal.docs +0 -0
  29. {diffoscope-259 → diffoscope-261}/debian/diffoscope-minimal.install +0 -0
  30. {diffoscope-259 → diffoscope-261}/debian/diffoscope-minimal.manpages +0 -0
  31. {diffoscope-259 → diffoscope-261}/debian/diffoscope.docs +0 -0
  32. {diffoscope-259 → diffoscope-261}/debian/gbp.conf +0 -0
  33. {diffoscope-259 → diffoscope-261}/debian/py3dist-overrides +0 -0
  34. {diffoscope-259 → diffoscope-261}/debian/rules +0 -0
  35. {diffoscope-259 → diffoscope-261}/debian/source/format +0 -0
  36. {diffoscope-259 → diffoscope-261}/debian/source/lintian-overrides +0 -0
  37. {diffoscope-259 → diffoscope-261}/debian/source/options +0 -0
  38. {diffoscope-259 → diffoscope-261}/debian/tests/basic-command-line +0 -0
  39. {diffoscope-259 → diffoscope-261}/debian/tests/control +0 -0
  40. {diffoscope-259 → diffoscope-261}/debian/tests/control.in +0 -0
  41. {diffoscope-259 → diffoscope-261}/debian/tests/control.sh +0 -0
  42. {diffoscope-259 → diffoscope-261}/debian/tests/generate-recommends.py +0 -0
  43. {diffoscope-259 → diffoscope-261}/debian/tests/pytest +0 -0
  44. {diffoscope-259 → diffoscope-261}/debian/tests/pytest-with-recommends +0 -0
  45. {diffoscope-259 → diffoscope-261}/debian/upstream/metadata +0 -0
  46. {diffoscope-259 → diffoscope-261}/debian/upstream/signing-key.asc +0 -0
  47. {diffoscope-259 → diffoscope-261}/debian/watch +0 -0
  48. {diffoscope-259 → diffoscope-261}/debian/zsh-completion/_diffoscope +0 -0
  49. {diffoscope-259 → diffoscope-261}/diffoscope/changes.py +0 -0
  50. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/android.py +0 -0
  51. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/apk.py +0 -0
  52. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/ar.py +0 -0
  53. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/arsc.py +0 -0
  54. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/berkeley_db.py +0 -0
  55. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/binary.py +0 -0
  56. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/binwalk.py +0 -0
  57. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/bzip2.py +0 -0
  58. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/cbfs.py +0 -0
  59. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/cpio.py +0 -0
  60. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/deb.py +0 -0
  61. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/debian.py +0 -0
  62. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/debian_fallback.py +0 -0
  63. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/decompile.py +0 -0
  64. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/device.py +0 -0
  65. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/dex.py +0 -0
  66. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/directory.py +0 -0
  67. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/docx.py +0 -0
  68. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/dtb.py +0 -0
  69. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/elf.py +0 -0
  70. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/ffprobe.py +0 -0
  71. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/fit.py +0 -0
  72. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/fontconfig.py +0 -0
  73. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/fonts.py +0 -0
  74. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/fsimage.py +0 -0
  75. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/gettext.py +0 -0
  76. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/gif.py +0 -0
  77. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/git.py +0 -0
  78. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/gnumeric.py +0 -0
  79. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/gzip.py +0 -0
  80. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/haskell.py +0 -0
  81. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/hdf.py +0 -0
  82. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/html.py +0 -0
  83. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/icc.py +0 -0
  84. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/image.py +0 -0
  85. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/ipk.py +0 -0
  86. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/iso9660.py +0 -0
  87. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/java.py +0 -0
  88. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/javascript.py +0 -0
  89. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/json.py +0 -0
  90. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/kbx.py +0 -0
  91. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/llvm.py +0 -0
  92. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/lz4.py +0 -0
  93. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/lzip.py +0 -0
  94. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/macho.py +0 -0
  95. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/missing_file.py +0 -0
  96. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/mono.py +0 -0
  97. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/ocaml.py +0 -0
  98. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/odt.py +0 -0
  99. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/ogg.py +0 -0
  100. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/openssh.py +0 -0
  101. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/openssl.py +0 -0
  102. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/pcap.py +0 -0
  103. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/pdf.py +0 -0
  104. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/pe32.py +0 -0
  105. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/pgp.py +0 -0
  106. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/png.py +0 -0
  107. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/ppu.py +0 -0
  108. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/ps.py +0 -0
  109. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/rpm.py +0 -0
  110. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/rpm_fallback.py +0 -0
  111. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/rust.py +0 -0
  112. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/socket_or_fifo.py +0 -0
  113. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/sphinx.py +0 -0
  114. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/sqlite.py +0 -0
  115. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/squashfs.py +0 -0
  116. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/symlink.py +0 -0
  117. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/tar.py +0 -0
  118. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/text.py +0 -0
  119. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/uimage.py +0 -0
  120. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/__init__.py +0 -0
  121. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/archive.py +0 -0
  122. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/command.py +0 -0
  123. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/compare.py +0 -0
  124. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/container.py +0 -0
  125. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/file.py +0 -0
  126. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/fuzzy.py +0 -0
  127. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/libarchive.py +0 -0
  128. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/operation.py +0 -0
  129. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/utils/specialize.py +0 -0
  130. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/vmlinuz.py +0 -0
  131. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/wasm.py +0 -0
  132. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/xar.py +0 -0
  133. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/xml.py +0 -0
  134. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/xmlb.py +0 -0
  135. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/xsb.py +0 -0
  136. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/xz.py +0 -0
  137. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/zip.py +0 -0
  138. {diffoscope-259 → diffoscope-261}/diffoscope/comparators/zst.py +0 -0
  139. {diffoscope-259 → diffoscope-261}/diffoscope/config.py +0 -0
  140. {diffoscope-259 → diffoscope-261}/diffoscope/diff.py +0 -0
  141. {diffoscope-259 → diffoscope-261}/diffoscope/difference.py +0 -0
  142. {diffoscope-259 → diffoscope-261}/diffoscope/environ.py +0 -0
  143. {diffoscope-259 → diffoscope-261}/diffoscope/exc.py +0 -0
  144. {diffoscope-259 → diffoscope-261}/diffoscope/excludes.py +0 -0
  145. {diffoscope-259 → diffoscope-261}/diffoscope/external_tools.py +0 -0
  146. {diffoscope-259 → diffoscope-261}/diffoscope/feeders.py +0 -0
  147. {diffoscope-259 → diffoscope-261}/diffoscope/logging.py +0 -0
  148. {diffoscope-259 → diffoscope-261}/diffoscope/main.py +0 -0
  149. {diffoscope-259 → diffoscope-261}/diffoscope/path.py +0 -0
  150. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/__init__.py +0 -0
  151. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/formats.py +0 -0
  152. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/html/__init__.py +0 -0
  153. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/html/html.py +0 -0
  154. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/html/templates.py +0 -0
  155. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/icon.py +0 -0
  156. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/json.py +0 -0
  157. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/markdown.py +0 -0
  158. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/restructuredtext.py +0 -0
  159. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/text.py +0 -0
  160. {diffoscope-259 → diffoscope-261}/diffoscope/presenters/utils.py +0 -0
  161. {diffoscope-259 → diffoscope-261}/diffoscope/profiling.py +0 -0
  162. {diffoscope-259 → diffoscope-261}/diffoscope/progress.py +0 -0
  163. {diffoscope-259 → diffoscope-261}/diffoscope/readers/__init__.py +0 -0
  164. {diffoscope-259 → diffoscope-261}/diffoscope/readers/json.py +0 -0
  165. {diffoscope-259 → diffoscope-261}/diffoscope/readers/utils.py +0 -0
  166. {diffoscope-259 → diffoscope-261}/diffoscope/scripts/extract-vmlinux +0 -0
  167. {diffoscope-259 → diffoscope-261}/diffoscope/tempfiles.py +0 -0
  168. {diffoscope-259 → diffoscope-261}/diffoscope/tools.py +0 -0
  169. {diffoscope-259 → diffoscope-261}/diffoscope/utils.py +0 -0
  170. {diffoscope-259 → diffoscope-261}/diffoscope.egg-info/dependency_links.txt +0 -0
  171. {diffoscope-259 → diffoscope-261}/diffoscope.egg-info/entry_points.txt +0 -0
  172. {diffoscope-259 → diffoscope-261}/diffoscope.egg-info/requires.txt +0 -0
  173. {diffoscope-259 → diffoscope-261}/diffoscope.egg-info/top_level.txt +0 -0
  174. {diffoscope-259 → diffoscope-261}/doc/Makefile +0 -0
  175. {diffoscope-259 → diffoscope-261}/doc/diffoscope.h2m.0 +0 -0
  176. {diffoscope-259 → diffoscope-261}/doc/logo.svg +0 -0
  177. {diffoscope-259 → diffoscope-261}/extras_require.json +0 -0
  178. {diffoscope-259 → diffoscope-261}/pyproject.toml +0 -0
  179. {diffoscope-259 → diffoscope-261}/pytest.ini +0 -0
  180. {diffoscope-259 → diffoscope-261}/setup.cfg +0 -0
  181. {diffoscope-259 → diffoscope-261}/setup.py +0 -0
  182. {diffoscope-259 → diffoscope-261}/tests/__init__.py +0 -0
  183. {diffoscope-259 → diffoscope-261}/tests/comparators/__init__.py +0 -0
  184. {diffoscope-259 → diffoscope-261}/tests/comparators/test_android.py +0 -0
  185. {diffoscope-259 → diffoscope-261}/tests/comparators/test_apk.py +0 -0
  186. {diffoscope-259 → diffoscope-261}/tests/comparators/test_archive.py +0 -0
  187. {diffoscope-259 → diffoscope-261}/tests/comparators/test_arsc.py +0 -0
  188. {diffoscope-259 → diffoscope-261}/tests/comparators/test_berkeley_db.py +0 -0
  189. {diffoscope-259 → diffoscope-261}/tests/comparators/test_binary.py +0 -0
  190. {diffoscope-259 → diffoscope-261}/tests/comparators/test_binwalk.py +0 -0
  191. {diffoscope-259 → diffoscope-261}/tests/comparators/test_bzip2.py +0 -0
  192. {diffoscope-259 → diffoscope-261}/tests/comparators/test_cbfs.py +0 -0
  193. {diffoscope-259 → diffoscope-261}/tests/comparators/test_containers.py +0 -0
  194. {diffoscope-259 → diffoscope-261}/tests/comparators/test_cpio.py +0 -0
  195. {diffoscope-259 → diffoscope-261}/tests/comparators/test_deb.py +0 -0
  196. {diffoscope-259 → diffoscope-261}/tests/comparators/test_debian.py +0 -0
  197. {diffoscope-259 → diffoscope-261}/tests/comparators/test_device.py +0 -0
  198. {diffoscope-259 → diffoscope-261}/tests/comparators/test_dex.py +0 -0
  199. {diffoscope-259 → diffoscope-261}/tests/comparators/test_directory.py +0 -0
  200. {diffoscope-259 → diffoscope-261}/tests/comparators/test_docx.py +0 -0
  201. {diffoscope-259 → diffoscope-261}/tests/comparators/test_dtb.py +0 -0
  202. {diffoscope-259 → diffoscope-261}/tests/comparators/test_elf.py +0 -0
  203. {diffoscope-259 → diffoscope-261}/tests/comparators/test_elf_decompiler.py +0 -0
  204. {diffoscope-259 → diffoscope-261}/tests/comparators/test_epub.py +0 -0
  205. {diffoscope-259 → diffoscope-261}/tests/comparators/test_ffprobe.py +0 -0
  206. {diffoscope-259 → diffoscope-261}/tests/comparators/test_fit.py +0 -0
  207. {diffoscope-259 → diffoscope-261}/tests/comparators/test_fontconfig.py +0 -0
  208. {diffoscope-259 → diffoscope-261}/tests/comparators/test_fonts.py +0 -0
  209. {diffoscope-259 → diffoscope-261}/tests/comparators/test_fsimage.py +0 -0
  210. {diffoscope-259 → diffoscope-261}/tests/comparators/test_gettext.py +0 -0
  211. {diffoscope-259 → diffoscope-261}/tests/comparators/test_gif.py +0 -0
  212. {diffoscope-259 → diffoscope-261}/tests/comparators/test_git.py +0 -0
  213. {diffoscope-259 → diffoscope-261}/tests/comparators/test_gnumeric.py +0 -0
  214. {diffoscope-259 → diffoscope-261}/tests/comparators/test_gzip.py +0 -0
  215. {diffoscope-259 → diffoscope-261}/tests/comparators/test_haskell.py +0 -0
  216. {diffoscope-259 → diffoscope-261}/tests/comparators/test_hdf.py +0 -0
  217. {diffoscope-259 → diffoscope-261}/tests/comparators/test_html.py +0 -0
  218. {diffoscope-259 → diffoscope-261}/tests/comparators/test_icc.py +0 -0
  219. {diffoscope-259 → diffoscope-261}/tests/comparators/test_ico_image.py +0 -0
  220. {diffoscope-259 → diffoscope-261}/tests/comparators/test_ipk.py +0 -0
  221. {diffoscope-259 → diffoscope-261}/tests/comparators/test_iso9660.py +0 -0
  222. {diffoscope-259 → diffoscope-261}/tests/comparators/test_java.py +0 -0
  223. {diffoscope-259 → diffoscope-261}/tests/comparators/test_javascript.py +0 -0
  224. {diffoscope-259 → diffoscope-261}/tests/comparators/test_jpeg_image.py +0 -0
  225. {diffoscope-259 → diffoscope-261}/tests/comparators/test_json.py +0 -0
  226. {diffoscope-259 → diffoscope-261}/tests/comparators/test_kbx.py +0 -0
  227. {diffoscope-259 → diffoscope-261}/tests/comparators/test_lz4.py +0 -0
  228. {diffoscope-259 → diffoscope-261}/tests/comparators/test_lzip.py +0 -0
  229. {diffoscope-259 → diffoscope-261}/tests/comparators/test_macho.py +0 -0
  230. {diffoscope-259 → diffoscope-261}/tests/comparators/test_macho_decompiler.py +0 -0
  231. {diffoscope-259 → diffoscope-261}/tests/comparators/test_mono.py +0 -0
  232. {diffoscope-259 → diffoscope-261}/tests/comparators/test_ocaml.py +0 -0
  233. {diffoscope-259 → diffoscope-261}/tests/comparators/test_odt.py +0 -0
  234. {diffoscope-259 → diffoscope-261}/tests/comparators/test_ogg.py +0 -0
  235. {diffoscope-259 → diffoscope-261}/tests/comparators/test_openssh_pub_key.py +0 -0
  236. {diffoscope-259 → diffoscope-261}/tests/comparators/test_openssl.py +0 -0
  237. {diffoscope-259 → diffoscope-261}/tests/comparators/test_pcap.py +0 -0
  238. {diffoscope-259 → diffoscope-261}/tests/comparators/test_pdf.py +0 -0
  239. {diffoscope-259 → diffoscope-261}/tests/comparators/test_pgp.py +0 -0
  240. {diffoscope-259 → diffoscope-261}/tests/comparators/test_png.py +0 -0
  241. {diffoscope-259 → diffoscope-261}/tests/comparators/test_ppu.py +0 -0
  242. {diffoscope-259 → diffoscope-261}/tests/comparators/test_ps.py +0 -0
  243. {diffoscope-259 → diffoscope-261}/tests/comparators/test_python.py +0 -0
  244. {diffoscope-259 → diffoscope-261}/tests/comparators/test_rdata.py +0 -0
  245. {diffoscope-259 → diffoscope-261}/tests/comparators/test_rlib.py +0 -0
  246. {diffoscope-259 → diffoscope-261}/tests/comparators/test_rpm.py +0 -0
  247. {diffoscope-259 → diffoscope-261}/tests/comparators/test_sockets.py +0 -0
  248. {diffoscope-259 → diffoscope-261}/tests/comparators/test_sphinx.py +0 -0
  249. {diffoscope-259 → diffoscope-261}/tests/comparators/test_sqlite.py +0 -0
  250. {diffoscope-259 → diffoscope-261}/tests/comparators/test_squashfs.py +0 -0
  251. {diffoscope-259 → diffoscope-261}/tests/comparators/test_symlink.py +0 -0
  252. {diffoscope-259 → diffoscope-261}/tests/comparators/test_tar.py +0 -0
  253. {diffoscope-259 → diffoscope-261}/tests/comparators/test_text.py +0 -0
  254. {diffoscope-259 → diffoscope-261}/tests/comparators/test_uimage.py +0 -0
  255. {diffoscope-259 → diffoscope-261}/tests/comparators/test_utils.py +0 -0
  256. {diffoscope-259 → diffoscope-261}/tests/comparators/test_wasm.py +0 -0
  257. {diffoscope-259 → diffoscope-261}/tests/comparators/test_xml.py +0 -0
  258. {diffoscope-259 → diffoscope-261}/tests/comparators/test_xsb.py +0 -0
  259. {diffoscope-259 → diffoscope-261}/tests/comparators/test_xz.py +0 -0
  260. {diffoscope-259 → diffoscope-261}/tests/comparators/test_zip.py +0 -0
  261. {diffoscope-259 → diffoscope-261}/tests/comparators/test_zst.py +0 -0
  262. {diffoscope-259 → diffoscope-261}/tests/conftest.py +0 -0
  263. {diffoscope-259 → diffoscope-261}/tests/data/Samyak-Malayalam1.ttf +0 -0
  264. {diffoscope-259 → diffoscope-261}/tests/data/Samyak-Malayalam2.ttf +0 -0
  265. {diffoscope-259 → diffoscope-261}/tests/data/Test1.class +0 -0
  266. {diffoscope-259 → diffoscope-261}/tests/data/Test2.class +0 -0
  267. {diffoscope-259 → diffoscope-261}/tests/data/android1.img +0 -0
  268. {diffoscope-259 → diffoscope-261}/tests/data/android2.img +0 -0
  269. {diffoscope-259 → diffoscope-261}/tests/data/android_expected_diff +0 -0
  270. {diffoscope-259 → diffoscope-261}/tests/data/apk_manifest_expected_diff +0 -0
  271. {diffoscope-259 → diffoscope-261}/tests/data/apk_zipinfo_expected_diff +0 -0
  272. {diffoscope-259 → diffoscope-261}/tests/data/archive1.tar +0 -0
  273. {diffoscope-259 → diffoscope-261}/tests/data/archive12.diff.txt +0 -0
  274. {diffoscope-259 → diffoscope-261}/tests/data/archive2.tar +0 -0
  275. {diffoscope-259 → diffoscope-261}/tests/data/arsc_expected_diff +0 -0
  276. {diffoscope-259 → diffoscope-261}/tests/data/base-files_157-r45695_ar71xx.ipk +0 -0
  277. {diffoscope-259 → diffoscope-261}/tests/data/base-files_157-r45918_ar71xx.ipk +0 -0
  278. {diffoscope-259 → diffoscope-261}/tests/data/berkeley6_db_expected_diff +0 -0
  279. {diffoscope-259 → diffoscope-261}/tests/data/berkeley_db_expected_diff +0 -0
  280. {diffoscope-259 → diffoscope-261}/tests/data/binary1 +0 -0
  281. {diffoscope-259 → diffoscope-261}/tests/data/binary2 +0 -0
  282. {diffoscope-259 → diffoscope-261}/tests/data/binary_expected_diff +0 -0
  283. {diffoscope-259 → diffoscope-261}/tests/data/binary_hexdump_expected_diff +0 -0
  284. {diffoscope-259 → diffoscope-261}/tests/data/binwalk_expected_diff +0 -0
  285. {diffoscope-259 → diffoscope-261}/tests/data/bug881937_1.deb +0 -0
  286. {diffoscope-259 → diffoscope-261}/tests/data/bug881937_2.deb +0 -0
  287. {diffoscope-259 → diffoscope-261}/tests/data/bug881937_control_expected_diff +0 -0
  288. {diffoscope-259 → diffoscope-261}/tests/data/bug903391_1.deb +0 -0
  289. {diffoscope-259 → diffoscope-261}/tests/data/bug903391_2.deb +0 -0
  290. {diffoscope-259 → diffoscope-261}/tests/data/bug903401_1.deb +0 -0
  291. {diffoscope-259 → diffoscope-261}/tests/data/bug903401_2.deb +0 -0
  292. {diffoscope-259 → diffoscope-261}/tests/data/bug903565_1.deb +0 -0
  293. {diffoscope-259 → diffoscope-261}/tests/data/bug903565_2.deb +0 -0
  294. {diffoscope-259 → diffoscope-261}/tests/data/comment_zipinfo_expected_diff +0 -0
  295. {diffoscope-259 → diffoscope-261}/tests/data/containers/a.tar.bz2 +0 -0
  296. {diffoscope-259 → diffoscope-261}/tests/data/containers/a.tar.gz +0 -0
  297. {diffoscope-259 → diffoscope-261}/tests/data/containers/a.tar.xz +0 -0
  298. {diffoscope-259 → diffoscope-261}/tests/data/containers/b.tar.bz2 +0 -0
  299. {diffoscope-259 → diffoscope-261}/tests/data/containers/b.tar.gz +0 -0
  300. {diffoscope-259 → diffoscope-261}/tests/data/containers/b.tar.xz +0 -0
  301. {diffoscope-259 → diffoscope-261}/tests/data/containers/different_files_expected_diff +0 -0
  302. {diffoscope-259 → diffoscope-261}/tests/data/cpio_listing_expected_diff +0 -0
  303. {diffoscope-259 → diffoscope-261}/tests/data/dbgsym/add/test-dbgsym-dbgsym_1_amd64.deb +0 -0
  304. {diffoscope-259 → diffoscope-261}/tests/data/dbgsym/add/test-dbgsym_1_amd64.deb +0 -0
  305. {diffoscope-259 → diffoscope-261}/tests/data/dbgsym/mult/test-dbgsym-dbgsym_1_amd64.deb +0 -0
  306. {diffoscope-259 → diffoscope-261}/tests/data/dbgsym/mult/test-dbgsym_1_amd64.deb +0 -0
  307. {diffoscope-259 → diffoscope-261}/tests/data/dbgsym/test-dbgsym_1.dsc +0 -0
  308. {diffoscope-259 → diffoscope-261}/tests/data/dbgsym/test-dbgsym_1.tar.gz +0 -0
  309. {diffoscope-259 → diffoscope-261}/tests/data/deb_metadata_expected_diff +0 -0
  310. {diffoscope-259 → diffoscope-261}/tests/data/debian-bug-875281.collapsed-diff.json +0 -0
  311. {diffoscope-259 → diffoscope-261}/tests/data/debian-bug-876316-control.tar.gz +0 -0
  312. {diffoscope-259 → diffoscope-261}/tests/data/device_expected_diff +0 -0
  313. {diffoscope-259 → diffoscope-261}/tests/data/device_expected_diff_freebsd +0 -0
  314. {diffoscope-259 → diffoscope-261}/tests/data/device_expected_diff_reverse +0 -0
  315. {diffoscope-259 → diffoscope-261}/tests/data/device_expected_diff_reverse_freebsd +0 -0
  316. {diffoscope-259 → diffoscope-261}/tests/data/devicetree1.dtb +0 -0
  317. {diffoscope-259 → diffoscope-261}/tests/data/devicetree2.dtb +0 -0
  318. {diffoscope-259 → diffoscope-261}/tests/data/devicetree_expected_diff +0 -0
  319. {diffoscope-259 → diffoscope-261}/tests/data/dex_expected_diffs +0 -0
  320. {diffoscope-259 → diffoscope-261}/tests/data/dex_javap_14_expected_diffs +0 -0
  321. {diffoscope-259 → diffoscope-261}/tests/data/docx_expected_diff +0 -0
  322. {diffoscope-259 → diffoscope-261}/tests/data/dot_buildinfo_fallback_expected_diff +0 -0
  323. {diffoscope-259 → diffoscope-261}/tests/data/dot_changes_description_expected_diff +0 -0
  324. {diffoscope-259 → diffoscope-261}/tests/data/dot_changes_different_contents_and_identical_files_expected_diff +0 -0
  325. {diffoscope-259 → diffoscope-261}/tests/data/dot_changes_fallback_expected_diff +0 -0
  326. {diffoscope-259 → diffoscope-261}/tests/data/dot_changes_identical_contents_and_different_files_expected_diff +0 -0
  327. {diffoscope-259 → diffoscope-261}/tests/data/dot_dsc_fallback_expected_diff +0 -0
  328. {diffoscope-259 → diffoscope-261}/tests/data/elf_lib_metadata_expected_diff +0 -0
  329. {diffoscope-259 → diffoscope-261}/tests/data/elf_lib_objdump_expected_diff +0 -0
  330. {diffoscope-259 → diffoscope-261}/tests/data/elf_obj_expected_diff +0 -0
  331. {diffoscope-259 → diffoscope-261}/tests/data/elf_obj_ghidra_expected_diff +0 -0
  332. {diffoscope-259 → diffoscope-261}/tests/data/elf_obj_radare2_expected_diff +0 -0
  333. {diffoscope-259 → diffoscope-261}/tests/data/elfmix1.not_a +0 -0
  334. {diffoscope-259 → diffoscope-261}/tests/data/elfmix2.a +0 -0
  335. {diffoscope-259 → diffoscope-261}/tests/data/elfmix_disassembly_expected_diff +0 -0
  336. {diffoscope-259 → diffoscope-261}/tests/data/elfmix_mach_o_expected_diff__text +0 -0
  337. {diffoscope-259 → diffoscope-261}/tests/data/elfmix_mach_o_expected_diff__text_16 +0 -0
  338. {diffoscope-259 → diffoscope-261}/tests/data/elfmix_src_c_expected_diff +0 -0
  339. {diffoscope-259 → diffoscope-261}/tests/data/elfmix_x_obj_expected_diff +0 -0
  340. {diffoscope-259 → diffoscope-261}/tests/data/elfmix_x_obj_objdump_expected_diff +0 -0
  341. {diffoscope-259 → diffoscope-261}/tests/data/encrypted1.zip +0 -0
  342. {diffoscope-259 → diffoscope-261}/tests/data/encrypted2.zip +0 -0
  343. {diffoscope-259 → diffoscope-261}/tests/data/epub_expected_diffs +0 -0
  344. {diffoscope-259 → diffoscope-261}/tests/data/ext4_expected_diffs +0 -0
  345. {diffoscope-259 → diffoscope-261}/tests/data/fat12_expected_diffs +0 -0
  346. {diffoscope-259 → diffoscope-261}/tests/data/fit_expected_diff +0 -0
  347. {diffoscope-259 → diffoscope-261}/tests/data/fontconfig_expected_diff +0 -0
  348. {diffoscope-259 → diffoscope-261}/tests/data/fuzzy-tar-in-tar1.tar +0 -0
  349. {diffoscope-259 → diffoscope-261}/tests/data/fuzzy-tar-in-tar2.tar +0 -0
  350. {diffoscope-259 → diffoscope-261}/tests/data/fuzzy1.tar +0 -0
  351. {diffoscope-259 → diffoscope-261}/tests/data/fuzzy2.tar +0 -0
  352. {diffoscope-259 → diffoscope-261}/tests/data/fuzzy3.tar +0 -0
  353. {diffoscope-259 → diffoscope-261}/tests/data/gif_expected_diff +0 -0
  354. {diffoscope-259 → diffoscope-261}/tests/data/git_expected_diff +0 -0
  355. {diffoscope-259 → diffoscope-261}/tests/data/git_expected_diff_freebsd +0 -0
  356. {diffoscope-259 → diffoscope-261}/tests/data/gnu_debuglink_expected_diff +0 -0
  357. {diffoscope-259 → diffoscope-261}/tests/data/gnumeric_expected_diff +0 -0
  358. {diffoscope-259 → diffoscope-261}/tests/data/gzip_metadata_expected_diff +0 -0
  359. {diffoscope-259 → diffoscope-261}/tests/data/haskell_expected_diff +0 -0
  360. {diffoscope-259 → diffoscope-261}/tests/data/hdf5_expected_diff +0 -0
  361. {diffoscope-259 → diffoscope-261}/tests/data/hello1.wasm +0 -0
  362. {diffoscope-259 → diffoscope-261}/tests/data/hello2.wasm +0 -0
  363. {diffoscope-259 → diffoscope-261}/tests/data/html_expected_diff +0 -0
  364. {diffoscope-259 → diffoscope-261}/tests/data/html_text_expected_diff +0 -0
  365. {diffoscope-259 → diffoscope-261}/tests/data/icc_expected_diff +0 -0
  366. {diffoscope-259 → diffoscope-261}/tests/data/ico_image_expected_diff +0 -0
  367. {diffoscope-259 → diffoscope-261}/tests/data/ico_image_meta_expected_diff +0 -0
  368. {diffoscope-259 → diffoscope-261}/tests/data/ico_image_meta_expected_diff_v2 +0 -0
  369. {diffoscope-259 → diffoscope-261}/tests/data/ignore_readelf_errors_expected_diff +0 -0
  370. {diffoscope-259 → diffoscope-261}/tests/data/inv_expected_diff +0 -0
  371. {diffoscope-259 → diffoscope-261}/tests/data/ipk_metadata_expected_diff +0 -0
  372. {diffoscope-259 → diffoscope-261}/tests/data/iso9660_content_expected_diff +0 -0
  373. {diffoscope-259 → diffoscope-261}/tests/data/iso9660_content_expected_diff_cdrtools +0 -0
  374. {diffoscope-259 → diffoscope-261}/tests/data/iso9660_rockridge_expected_diff +0 -0
  375. {diffoscope-259 → diffoscope-261}/tests/data/iso9660_rockridge_expected_diff_cdrtools +0 -0
  376. {diffoscope-259 → diffoscope-261}/tests/data/javap_14_class_expected_diff +0 -0
  377. {diffoscope-259 → diffoscope-261}/tests/data/javap_class_expected_diff +0 -0
  378. {diffoscope-259 → diffoscope-261}/tests/data/javascript_expected_diff +0 -0
  379. {diffoscope-259 → diffoscope-261}/tests/data/jmod_zipinfo_expected_diff +0 -0
  380. {diffoscope-259 → diffoscope-261}/tests/data/jpeg_image_expected_diff +0 -0
  381. {diffoscope-259 → diffoscope-261}/tests/data/jpeg_image_meta_expected_diff +0 -0
  382. {diffoscope-259 → diffoscope-261}/tests/data/json_expected_diff +0 -0
  383. {diffoscope-259 → diffoscope-261}/tests/data/json_expected_ordering_diff +0 -0
  384. {diffoscope-259 → diffoscope-261}/tests/data/kbx_expected_diff +0 -0
  385. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__cstring +0 -0
  386. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__eh_frame +0 -0
  387. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__la_symbol_ptr +0 -0
  388. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__stub_helper +0 -0
  389. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__stub_helper_16 +0 -0
  390. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__stubs +0 -0
  391. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__stubs_16 +0 -0
  392. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__text +0 -0
  393. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__text_16 +0 -0
  394. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff__unwind_info +0 -0
  395. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_dyn_relocations +0 -0
  396. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_dyn_symbols +0 -0
  397. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_file_headers +0 -0
  398. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_needed_libs +0 -0
  399. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_relocations +0 -0
  400. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_strings +0 -0
  401. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_symbols +0 -0
  402. {diffoscope-259 → diffoscope-261}/tests/data/macho_llvm_expected_diff_symbols_llvm_11 +0 -0
  403. {diffoscope-259 → diffoscope-261}/tests/data/macho_obj_ghidra_expected_diff_main +0 -0
  404. {diffoscope-259 → diffoscope-261}/tests/data/macho_obj_radare2_expected_diff_main +0 -0
  405. {diffoscope-259 → diffoscope-261}/tests/data/macho_obj_radare2_expected_diff_printf +0 -0
  406. {diffoscope-259 → diffoscope-261}/tests/data/macho_otool_expected_diff__cstring +0 -0
  407. {diffoscope-259 → diffoscope-261}/tests/data/macho_otool_expected_diff__data +0 -0
  408. {diffoscope-259 → diffoscope-261}/tests/data/macho_otool_expected_diff__text +0 -0
  409. {diffoscope-259 → diffoscope-261}/tests/data/macho_otool_expected_diff_headers +0 -0
  410. {diffoscope-259 → diffoscope-261}/tests/data/macho_otool_expected_diff_indirect_symbols +0 -0
  411. {diffoscope-259 → diffoscope-261}/tests/data/macho_otool_expected_diff_libraries +0 -0
  412. {diffoscope-259 → diffoscope-261}/tests/data/macho_otool_expected_diff_strings +0 -0
  413. {diffoscope-259 → diffoscope-261}/tests/data/mo_charsets_expected_diff +0 -0
  414. {diffoscope-259 → diffoscope-261}/tests/data/mo_expected_diff +0 -0
  415. {diffoscope-259 → diffoscope-261}/tests/data/mozzip_zipinfo_expected_diff +0 -0
  416. {diffoscope-259 → diffoscope-261}/tests/data/mp3_expected_diff +0 -0
  417. {diffoscope-259 → diffoscope-261}/tests/data/no-perms.tar +0 -0
  418. {diffoscope-259 → diffoscope-261}/tests/data/ocaml_expected_diff +0 -0
  419. {diffoscope-259 → diffoscope-261}/tests/data/odt_expected_diff +0 -0
  420. {diffoscope-259 → diffoscope-261}/tests/data/ogg_expected_diff +0 -0
  421. {diffoscope-259 → diffoscope-261}/tests/data/openssh_pub_key_expected_diff +0 -0
  422. {diffoscope-259 → diffoscope-261}/tests/data/order1a.json +0 -0
  423. {diffoscope-259 → diffoscope-261}/tests/data/order1b.json +0 -0
  424. {diffoscope-259 → diffoscope-261}/tests/data/output.colored.txt +0 -0
  425. {diffoscope-259 → diffoscope-261}/tests/data/output.json +0 -0
  426. {diffoscope-259 → diffoscope-261}/tests/data/output.md +0 -0
  427. {diffoscope-259 → diffoscope-261}/tests/data/output.rst +0 -0
  428. {diffoscope-259 → diffoscope-261}/tests/data/output.txt +0 -0
  429. {diffoscope-259 → diffoscope-261}/tests/data/output_expected_363.html +0 -0
  430. {diffoscope-259 → diffoscope-261}/tests/data/output_regression_875281.html +0 -0
  431. {diffoscope-259 → diffoscope-261}/tests/data/pcap_expected_diff +0 -0
  432. {diffoscope-259 → diffoscope-261}/tests/data/pdf_annotations_expected_diff +0 -0
  433. {diffoscope-259 → diffoscope-261}/tests/data/pdf_metadata_expected_diff +0 -0
  434. {diffoscope-259 → diffoscope-261}/tests/data/pdf_text_expected_diff +0 -0
  435. {diffoscope-259 → diffoscope-261}/tests/data/pe_expected_diff +0 -0
  436. {diffoscope-259 → diffoscope-261}/tests/data/pgp_expected_diff +0 -0
  437. {diffoscope-259 → diffoscope-261}/tests/data/pgp_signature_expected_diff +0 -0
  438. {diffoscope-259 → diffoscope-261}/tests/data/pgp_signed_expected_diff +0 -0
  439. {diffoscope-259 → diffoscope-261}/tests/data/png_expected_diff +0 -0
  440. {diffoscope-259 → diffoscope-261}/tests/data/ppu_expected_diff +0 -0
  441. {diffoscope-259 → diffoscope-261}/tests/data/procyon_class_expected_diff +0 -0
  442. {diffoscope-259 → diffoscope-261}/tests/data/ps_internal_expected_diff +0 -0
  443. {diffoscope-259 → diffoscope-261}/tests/data/ps_text_expected_diff +0 -0
  444. {diffoscope-259 → diffoscope-261}/tests/data/pyc_expected_diff +0 -0
  445. {diffoscope-259 → diffoscope-261}/tests/data/quine.gz +0 -0
  446. {diffoscope-259 → diffoscope-261}/tests/data/quine.zip +0 -0
  447. {diffoscope-259 → diffoscope-261}/tests/data/quine_a.deb +0 -0
  448. {diffoscope-259 → diffoscope-261}/tests/data/quine_b.deb +0 -0
  449. {diffoscope-259 → diffoscope-261}/tests/data/quine_deb_expected_diff +0 -0
  450. {diffoscope-259 → diffoscope-261}/tests/data/quine_expected_diff +0 -0
  451. {diffoscope-259 → diffoscope-261}/tests/data/rdb_expected_diff +0 -0
  452. {diffoscope-259 → diffoscope-261}/tests/data/rds_expected_diff +0 -0
  453. {diffoscope-259 → diffoscope-261}/tests/data/resources1.arsc +0 -0
  454. {diffoscope-259 → diffoscope-261}/tests/data/resources2.arsc +0 -0
  455. {diffoscope-259 → diffoscope-261}/tests/data/rlib_armap_expected_diff +0 -0
  456. {diffoscope-259 → diffoscope-261}/tests/data/rlib_elf_expected_diff +0 -0
  457. {diffoscope-259 → diffoscope-261}/tests/data/rlib_llvm_dis_expected_diff +0 -0
  458. {diffoscope-259 → diffoscope-261}/tests/data/rlib_llvm_dis_expected_diff_10 +0 -0
  459. {diffoscope-259 → diffoscope-261}/tests/data/rlib_llvm_dis_expected_diff_15 +0 -0
  460. {diffoscope-259 → diffoscope-261}/tests/data/rlib_llvm_dis_expected_diff_16 +0 -0
  461. {diffoscope-259 → diffoscope-261}/tests/data/rlib_llvm_dis_expected_diff_5 +0 -0
  462. {diffoscope-259 → diffoscope-261}/tests/data/rlib_llvm_dis_expected_diff_7 +0 -0
  463. {diffoscope-259 → diffoscope-261}/tests/data/rpm_fallback_expected_diff +0 -0
  464. {diffoscope-259 → diffoscope-261}/tests/data/rpm_header_expected_diff +0 -0
  465. {diffoscope-259 → diffoscope-261}/tests/data/rpm_listing_expected_diff +0 -0
  466. {diffoscope-259 → diffoscope-261}/tests/data/salsa-issue-363.diff.json +0 -0
  467. {diffoscope-259 → diffoscope-261}/tests/data/sqlite3_expected_diff +0 -0
  468. {diffoscope-259 → diffoscope-261}/tests/data/squashfs_root_expected_diff +0 -0
  469. {diffoscope-259 → diffoscope-261}/tests/data/squashfs_superblock_expected_diff +0 -0
  470. {diffoscope-259 → diffoscope-261}/tests/data/symlink_expected_destination_diff +0 -0
  471. {diffoscope-259 → diffoscope-261}/tests/data/symlink_expected_diff +0 -0
  472. {diffoscope-259 → diffoscope-261}/tests/data/tar_listing_expected_diff +0 -0
  473. {diffoscope-259 → diffoscope-261}/tests/data/test1-le64.cache-4 +0 -0
  474. {diffoscope-259 → diffoscope-261}/tests/data/test1.a +0 -0
  475. {diffoscope-259 → diffoscope-261}/tests/data/test1.apk +0 -0
  476. {diffoscope-259 → diffoscope-261}/tests/data/test1.asc +0 -0
  477. {diffoscope-259 → diffoscope-261}/tests/data/test1.binwalk +0 -0
  478. {diffoscope-259 → diffoscope-261}/tests/data/test1.buildinfo +0 -0
  479. {diffoscope-259 → diffoscope-261}/tests/data/test1.bz2 +0 -0
  480. {diffoscope-259 → diffoscope-261}/tests/data/test1.changes +0 -0
  481. {diffoscope-259 → diffoscope-261}/tests/data/test1.cpio +0 -0
  482. {diffoscope-259 → diffoscope-261}/tests/data/test1.db +0 -0
  483. {diffoscope-259 → diffoscope-261}/tests/data/test1.deb +0 -0
  484. {diffoscope-259 → diffoscope-261}/tests/data/test1.debsrc.tar.gz +0 -0
  485. {diffoscope-259 → diffoscope-261}/tests/data/test1.debug +0 -0
  486. {diffoscope-259 → diffoscope-261}/tests/data/test1.dex +0 -0
  487. {diffoscope-259 → diffoscope-261}/tests/data/test1.docx +0 -0
  488. {diffoscope-259 → diffoscope-261}/tests/data/test1.dsc +0 -0
  489. {diffoscope-259 → diffoscope-261}/tests/data/test1.epub +0 -0
  490. {diffoscope-259 → diffoscope-261}/tests/data/test1.exe +0 -0
  491. {diffoscope-259 → diffoscope-261}/tests/data/test1.ext4 +0 -0
  492. {diffoscope-259 → diffoscope-261}/tests/data/test1.fat12 +0 -0
  493. {diffoscope-259 → diffoscope-261}/tests/data/test1.fat16 +0 -0
  494. {diffoscope-259 → diffoscope-261}/tests/data/test1.fat32 +0 -0
  495. {diffoscope-259 → diffoscope-261}/tests/data/test1.gif +0 -0
  496. {diffoscope-259 → diffoscope-261}/tests/data/test1.git-index +0 -0
  497. {diffoscope-259 → diffoscope-261}/tests/data/test1.gnumeric +0 -0
  498. {diffoscope-259 → diffoscope-261}/tests/data/test1.gz +0 -0
  499. {diffoscope-259 → diffoscope-261}/tests/data/test1.hi +0 -0
  500. {diffoscope-259 → diffoscope-261}/tests/data/test1.html +0 -0
  501. {diffoscope-259 → diffoscope-261}/tests/data/test1.icc +0 -0
  502. {diffoscope-259 → diffoscope-261}/tests/data/test1.ico +0 -0
  503. {diffoscope-259 → diffoscope-261}/tests/data/test1.inv +0 -0
  504. {diffoscope-259 → diffoscope-261}/tests/data/test1.iso +0 -0
  505. {diffoscope-259 → diffoscope-261}/tests/data/test1.jmod +0 -0
  506. {diffoscope-259 → diffoscope-261}/tests/data/test1.jpg +0 -0
  507. {diffoscope-259 → diffoscope-261}/tests/data/test1.js +0 -0
  508. {diffoscope-259 → diffoscope-261}/tests/data/test1.json +0 -0
  509. {diffoscope-259 → diffoscope-261}/tests/data/test1.kbx +0 -0
  510. {diffoscope-259 → diffoscope-261}/tests/data/test1.lz4 +0 -0
  511. {diffoscope-259 → diffoscope-261}/tests/data/test1.lzip +0 -0
  512. {diffoscope-259 → diffoscope-261}/tests/data/test1.macho +0 -0
  513. {diffoscope-259 → diffoscope-261}/tests/data/test1.mo +0 -0
  514. {diffoscope-259 → diffoscope-261}/tests/data/test1.mozzip +0 -0
  515. {diffoscope-259 → diffoscope-261}/tests/data/test1.mp3 +0 -0
  516. {diffoscope-259 → diffoscope-261}/tests/data/test1.o +0 -0
  517. {diffoscope-259 → diffoscope-261}/tests/data/test1.odt +0 -0
  518. {diffoscope-259 → diffoscope-261}/tests/data/test1.ogg +0 -0
  519. {diffoscope-259 → diffoscope-261}/tests/data/test1.pcap +0 -0
  520. {diffoscope-259 → diffoscope-261}/tests/data/test1.pdf +0 -0
  521. {diffoscope-259 → diffoscope-261}/tests/data/test1.pgp +0 -0
  522. {diffoscope-259 → diffoscope-261}/tests/data/test1.png +0 -0
  523. {diffoscope-259 → diffoscope-261}/tests/data/test1.ppu +0 -0
  524. {diffoscope-259 → diffoscope-261}/tests/data/test1.ps +0 -0
  525. {diffoscope-259 → diffoscope-261}/tests/data/test1.pyc-renamed +0 -0
  526. {diffoscope-259 → diffoscope-261}/tests/data/test1.rdb +0 -0
  527. {diffoscope-259 → diffoscope-261}/tests/data/test1.rdx +0 -0
  528. {diffoscope-259 → diffoscope-261}/tests/data/test1.rlib +0 -0
  529. {diffoscope-259 → diffoscope-261}/tests/data/test1.rpm +0 -0
  530. {diffoscope-259 → diffoscope-261}/tests/data/test1.sqlite3 +0 -0
  531. {diffoscope-259 → diffoscope-261}/tests/data/test1.squashfs +0 -0
  532. {diffoscope-259 → diffoscope-261}/tests/data/test1.tar +0 -0
  533. {diffoscope-259 → diffoscope-261}/tests/data/test1.xml +0 -0
  534. {diffoscope-259 → diffoscope-261}/tests/data/test1.xsb +0 -0
  535. {diffoscope-259 → diffoscope-261}/tests/data/test1.xz +0 -0
  536. {diffoscope-259 → diffoscope-261}/tests/data/test1.zip +0 -0
  537. {diffoscope-259 → diffoscope-261}/tests/data/test1_meta.ico +0 -0
  538. {diffoscope-259 → diffoscope-261}/tests/data/test1_meta.jpg +0 -0
  539. {diffoscope-259 → diffoscope-261}/tests/data/test1_root.squashfs +0 -0
  540. {diffoscope-259 → diffoscope-261}/tests/data/test1_signed.pgp +0 -0
  541. {diffoscope-259 → diffoscope-261}/tests/data/test2-le64.cache-4 +0 -0
  542. {diffoscope-259 → diffoscope-261}/tests/data/test2.a +0 -0
  543. {diffoscope-259 → diffoscope-261}/tests/data/test2.apk +0 -0
  544. {diffoscope-259 → diffoscope-261}/tests/data/test2.asc +0 -0
  545. {diffoscope-259 → diffoscope-261}/tests/data/test2.binwalk +0 -0
  546. {diffoscope-259 → diffoscope-261}/tests/data/test2.buildinfo +0 -0
  547. {diffoscope-259 → diffoscope-261}/tests/data/test2.bz2 +0 -0
  548. {diffoscope-259 → diffoscope-261}/tests/data/test2.changes +0 -0
  549. {diffoscope-259 → diffoscope-261}/tests/data/test2.cpio +0 -0
  550. {diffoscope-259 → diffoscope-261}/tests/data/test2.db +0 -0
  551. {diffoscope-259 → diffoscope-261}/tests/data/test2.deb +0 -0
  552. {diffoscope-259 → diffoscope-261}/tests/data/test2.debsrc.tar.gz +0 -0
  553. {diffoscope-259 → diffoscope-261}/tests/data/test2.debug +0 -0
  554. {diffoscope-259 → diffoscope-261}/tests/data/test2.dex +0 -0
  555. {diffoscope-259 → diffoscope-261}/tests/data/test2.docx +0 -0
  556. {diffoscope-259 → diffoscope-261}/tests/data/test2.dsc +0 -0
  557. {diffoscope-259 → diffoscope-261}/tests/data/test2.epub +0 -0
  558. {diffoscope-259 → diffoscope-261}/tests/data/test2.exe +0 -0
  559. {diffoscope-259 → diffoscope-261}/tests/data/test2.ext4 +0 -0
  560. {diffoscope-259 → diffoscope-261}/tests/data/test2.fat12 +0 -0
  561. {diffoscope-259 → diffoscope-261}/tests/data/test2.gif +0 -0
  562. {diffoscope-259 → diffoscope-261}/tests/data/test2.git-index +0 -0
  563. {diffoscope-259 → diffoscope-261}/tests/data/test2.gnumeric +0 -0
  564. {diffoscope-259 → diffoscope-261}/tests/data/test2.gz +0 -0
  565. {diffoscope-259 → diffoscope-261}/tests/data/test2.hi +0 -0
  566. {diffoscope-259 → diffoscope-261}/tests/data/test2.html +0 -0
  567. {diffoscope-259 → diffoscope-261}/tests/data/test2.icc +0 -0
  568. {diffoscope-259 → diffoscope-261}/tests/data/test2.ico +0 -0
  569. {diffoscope-259 → diffoscope-261}/tests/data/test2.inv +0 -0
  570. {diffoscope-259 → diffoscope-261}/tests/data/test2.iso +0 -0
  571. {diffoscope-259 → diffoscope-261}/tests/data/test2.jmod +0 -0
  572. {diffoscope-259 → diffoscope-261}/tests/data/test2.jpg +0 -0
  573. {diffoscope-259 → diffoscope-261}/tests/data/test2.js +0 -0
  574. {diffoscope-259 → diffoscope-261}/tests/data/test2.json +0 -0
  575. {diffoscope-259 → diffoscope-261}/tests/data/test2.kbx +0 -0
  576. {diffoscope-259 → diffoscope-261}/tests/data/test2.lz4 +0 -0
  577. {diffoscope-259 → diffoscope-261}/tests/data/test2.lzip +0 -0
  578. {diffoscope-259 → diffoscope-261}/tests/data/test2.macho +0 -0
  579. {diffoscope-259 → diffoscope-261}/tests/data/test2.mo +0 -0
  580. {diffoscope-259 → diffoscope-261}/tests/data/test2.mozzip +0 -0
  581. {diffoscope-259 → diffoscope-261}/tests/data/test2.mp3 +0 -0
  582. {diffoscope-259 → diffoscope-261}/tests/data/test2.o +0 -0
  583. {diffoscope-259 → diffoscope-261}/tests/data/test2.odt +0 -0
  584. {diffoscope-259 → diffoscope-261}/tests/data/test2.ogg +0 -0
  585. {diffoscope-259 → diffoscope-261}/tests/data/test2.pcap +0 -0
  586. {diffoscope-259 → diffoscope-261}/tests/data/test2.pdf +0 -0
  587. {diffoscope-259 → diffoscope-261}/tests/data/test2.pgp +0 -0
  588. {diffoscope-259 → diffoscope-261}/tests/data/test2.png +0 -0
  589. {diffoscope-259 → diffoscope-261}/tests/data/test2.ppu +0 -0
  590. {diffoscope-259 → diffoscope-261}/tests/data/test2.ps +0 -0
  591. {diffoscope-259 → diffoscope-261}/tests/data/test2.pyc-renamed +0 -0
  592. {diffoscope-259 → diffoscope-261}/tests/data/test2.rdb +0 -0
  593. {diffoscope-259 → diffoscope-261}/tests/data/test2.rdx +0 -0
  594. {diffoscope-259 → diffoscope-261}/tests/data/test2.rlib +0 -0
  595. {diffoscope-259 → diffoscope-261}/tests/data/test2.rpm +0 -0
  596. {diffoscope-259 → diffoscope-261}/tests/data/test2.sqlite3 +0 -0
  597. {diffoscope-259 → diffoscope-261}/tests/data/test2.squashfs +0 -0
  598. {diffoscope-259 → diffoscope-261}/tests/data/test2.tar +0 -0
  599. {diffoscope-259 → diffoscope-261}/tests/data/test2.xml +0 -0
  600. {diffoscope-259 → diffoscope-261}/tests/data/test2.xsb +0 -0
  601. {diffoscope-259 → diffoscope-261}/tests/data/test2.xz +0 -0
  602. {diffoscope-259 → diffoscope-261}/tests/data/test2.zip +0 -0
  603. {diffoscope-259 → diffoscope-261}/tests/data/test2_meta.ico +0 -0
  604. {diffoscope-259 → diffoscope-261}/tests/data/test2_meta.jpg +0 -0
  605. {diffoscope-259 → diffoscope-261}/tests/data/test2_root.squashfs +0 -0
  606. {diffoscope-259 → diffoscope-261}/tests/data/test2_signed.pgp +0 -0
  607. {diffoscope-259 → diffoscope-261}/tests/data/test3.apk +0 -0
  608. {diffoscope-259 → diffoscope-261}/tests/data/test3.changes +0 -0
  609. {diffoscope-259 → diffoscope-261}/tests/data/test3.gif +0 -0
  610. {diffoscope-259 → diffoscope-261}/tests/data/test3.pdf +0 -0
  611. {diffoscope-259 → diffoscope-261}/tests/data/test3.xml +0 -0
  612. {diffoscope-259 → diffoscope-261}/tests/data/test3.zip +0 -0
  613. {diffoscope-259 → diffoscope-261}/tests/data/test4.changes +0 -0
  614. {diffoscope-259 → diffoscope-261}/tests/data/test4.gif +0 -0
  615. {diffoscope-259 → diffoscope-261}/tests/data/test4.pdf +0 -0
  616. {diffoscope-259 → diffoscope-261}/tests/data/test4.xml +0 -0
  617. {diffoscope-259 → diffoscope-261}/tests/data/test5.changes +0 -0
  618. {diffoscope-259 → diffoscope-261}/tests/data/test_comment1.zip +0 -0
  619. {diffoscope-259 → diffoscope-261}/tests/data/test_comment2.zip +0 -0
  620. {diffoscope-259 → diffoscope-261}/tests/data/test_directory_a_b_diff +0 -0
  621. {diffoscope-259 → diffoscope-261}/tests/data/test_directory_b_a_diff +0 -0
  622. {diffoscope-259 → diffoscope-261}/tests/data/test_directory_device_diff +0 -0
  623. {diffoscope-259 → diffoscope-261}/tests/data/test_directory_file_diff +0 -0
  624. {diffoscope-259 → diffoscope-261}/tests/data/test_directory_symlink_diff +0 -0
  625. {diffoscope-259 → diffoscope-261}/tests/data/test_invalid.json +0 -0
  626. {diffoscope-259 → diffoscope-261}/tests/data/test_invalid.xml +0 -0
  627. {diffoscope-259 → diffoscope-261}/tests/data/test_iso8859-1.mo +0 -0
  628. {diffoscope-259 → diffoscope-261}/tests/data/test_no_charset.mo +0 -0
  629. {diffoscope-259 → diffoscope-261}/tests/data/test_openssh_pub_key1.pub +0 -0
  630. {diffoscope-259 → diffoscope-261}/tests/data/test_openssh_pub_key2.pub +0 -0
  631. {diffoscope-259 → diffoscope-261}/tests/data/test_weird_non_unicode_chars1.pdf +0 -0
  632. {diffoscope-259 → diffoscope-261}/tests/data/test_weird_non_unicode_chars2.pdf +0 -0
  633. {diffoscope-259 → diffoscope-261}/tests/data/test_xml_expected_diff +0 -0
  634. {diffoscope-259 → diffoscope-261}/tests/data/test_xml_ordering_differences_diff +0 -0
  635. {diffoscope-259 → diffoscope-261}/tests/data/text_ascii1 +0 -0
  636. {diffoscope-259 → diffoscope-261}/tests/data/text_ascii2 +0 -0
  637. {diffoscope-259 → diffoscope-261}/tests/data/text_ascii_expected_diff +0 -0
  638. {diffoscope-259 → diffoscope-261}/tests/data/text_iso8859 +0 -0
  639. {diffoscope-259 → diffoscope-261}/tests/data/text_iso8859_expected_diff +0 -0
  640. {diffoscope-259 → diffoscope-261}/tests/data/text_order1 +0 -0
  641. {diffoscope-259 → diffoscope-261}/tests/data/text_order2 +0 -0
  642. {diffoscope-259 → diffoscope-261}/tests/data/text_order_expected_diff +0 -0
  643. {diffoscope-259 → diffoscope-261}/tests/data/text_unicode1 +0 -0
  644. {diffoscope-259 → diffoscope-261}/tests/data/text_unicode2 +0 -0
  645. {diffoscope-259 → diffoscope-261}/tests/data/text_unicode_binary_fallback +0 -0
  646. {diffoscope-259 → diffoscope-261}/tests/data/text_unicode_expected_diff +0 -0
  647. {diffoscope-259 → diffoscope-261}/tests/data/ttf_expected_diff +0 -0
  648. {diffoscope-259 → diffoscope-261}/tests/data/ttf_ttx_expected_diff +0 -0
  649. {diffoscope-259 → diffoscope-261}/tests/data/uimage_expected_diff +0 -0
  650. {diffoscope-259 → diffoscope-261}/tests/data/uimage_expected_diff_pre_5_41 +0 -0
  651. {diffoscope-259 → diffoscope-261}/tests/data/wasm_expected_diff +0 -0
  652. {diffoscope-259 → diffoscope-261}/tests/data/xsb_expected_diff +0 -0
  653. {diffoscope-259 → diffoscope-261}/tests/data/zip_bsdtar_expected_diff +0 -0
  654. {diffoscope-259 → diffoscope-261}/tests/data/zip_zipinfo_expected_diff +0 -0
  655. {diffoscope-259 → diffoscope-261}/tests/test_diff_mask.py +0 -0
  656. {diffoscope-259 → diffoscope-261}/tests/test_difference.py +0 -0
  657. {diffoscope-259 → diffoscope-261}/tests/test_excludes.py +0 -0
  658. {diffoscope-259 → diffoscope-261}/tests/test_main.py +0 -0
  659. {diffoscope-259 → diffoscope-261}/tests/test_presenters.py +0 -0
  660. {diffoscope-259 → diffoscope-261}/tests/test_progress.py +0 -0
  661. {diffoscope-259 → diffoscope-261}/tests/test_quines.py +0 -0
  662. {diffoscope-259 → diffoscope-261}/tests/test_readers.py +0 -0
  663. {diffoscope-259 → diffoscope-261}/tests/test_source.py +0 -0
  664. {diffoscope-259 → diffoscope-261}/tests/test_tools.py +0 -0
  665. {diffoscope-259 → diffoscope-261}/tests/test_versions.py +0 -0
  666. {diffoscope-259 → diffoscope-261}/tests/utils/__init__.py +0 -0
  667. {diffoscope-259 → diffoscope-261}/tests/utils/data.py +0 -0
  668. {diffoscope-259 → diffoscope-261}/tests/utils/nonexisting.py +0 -0
  669. {diffoscope-259 → diffoscope-261}/tests/utils/tools.py +0 -0
  670. {diffoscope-259 → diffoscope-261}/tests/utils/versions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffoscope
3
- Version: 259
3
+ Version: 261
4
4
  Summary: in-depth comparison of files, archives, and directories
5
5
  Home-page: https://diffoscope.org/
6
6
  Author: Diffoscope developers
@@ -1,8 +1,31 @@
1
- diffoscope (260) UNRELEASED; urgency=medium
1
+ diffoscope (262) UNRELEASED; urgency=medium
2
2
 
3
3
  * WIP (generated upon release).
4
4
 
5
- -- Chris Lamb <lamby@debian.org> Fri, 01 Mar 2024 09:39:44 +0000
5
+ -- Chris Lamb <lamby@debian.org> Fri, 22 Mar 2024 09:43:30 +0000
6
+
7
+ diffoscope (261) unstable; urgency=medium
8
+
9
+ [ Chris Lamb ]
10
+ * Don't crash if we encounter an .rdb file without an equivalent .rdx file.
11
+ (Closes: #1066991)
12
+ * In addition, don't identify Redis database dumps (etc.) as GNU R database
13
+ files based simply on their filename. (Re: #1066991)
14
+ * Update copyright years.
15
+
16
+ -- Chris Lamb <lamby@debian.org> Fri, 22 Mar 2024 09:42:15 +0000
17
+
18
+ diffoscope (260) unstable; urgency=medium
19
+
20
+ [ Chris Lamb ]
21
+ * Actually test 7z support in the test_7z set of tests, not the lz4
22
+ functionality. (Closes: reproducible-builds/diffoscope#359)
23
+ * In addition, correctly check for the 7z binary being available
24
+ (and not lz4) when testing 7z.
25
+ * Prevent a traceback when comparing a contentful .pyc file with an
26
+ empty one. (Re: Debian:#1064973)
27
+
28
+ -- Chris Lamb <lamby@debian.org> Fri, 08 Mar 2024 11:07:49 +0000
6
29
 
7
30
  diffoscope (259) unstable; urgency=medium
8
31
 
@@ -17,4 +17,4 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
19
19
 
20
- VERSION = "259"
20
+ VERSION = "261"
@@ -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-2023 Chris Lamb <lamby@debian.org>
6
+ # Copyright © 2015-2024 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,7 +75,7 @@ class ComparatorManager:
75
75
  ("ffprobe.FfprobeFile",),
76
76
  ("gnumeric.GnumericFile",),
77
77
  ("gzip.GzipFile",),
78
- ("7z.SevenZFile",),
78
+ ("sevenz.SevenZFile",),
79
79
  ("haskell.HiFile",),
80
80
  ("icc.IccFile",),
81
81
  ("iso9660.Iso9660File",),
@@ -21,6 +21,7 @@ import binascii
21
21
  import dis
22
22
  import io
23
23
  import marshal
24
+ import os
24
25
  import re
25
26
  import struct
26
27
  import time
@@ -66,6 +67,12 @@ def describe_pyc(filename):
66
67
 
67
68
 
68
69
  def parse_pyc(f):
70
+ f.seek(0, io.SEEK_END)
71
+ if f.tell() == 0:
72
+ yield "type: empty"
73
+ return
74
+
75
+ f.seek(0)
69
76
  magic = f.read(4)
70
77
  yield "magic: {}".format(hexlify(magic))
71
78
 
@@ -2,7 +2,7 @@
2
2
  # diffoscope: in-depth comparison of files, archives, and directories
3
3
  #
4
4
  # Copyright © 2017 Ximin Luo <infinity0@debian.org>
5
- # Copyright © 2017-2021 Chris Lamb <lamby@debian.org>
5
+ # Copyright © 2017-2021, 2024 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
@@ -96,12 +96,20 @@ def get_module_path_for_rdb(rdb, temp_dir, module_name):
96
96
  rdx_name = "{}.rdx".format(os.path.splitext(rdb.name)[0])
97
97
 
98
98
  # Query the container for the full path (eg. `./path/to/foo.rdx`)...
99
- rdx = rdb.container.get_member(rdx_name)
99
+ try:
100
+ rdx = rdb.container.get_member(rdx_name)
101
+ except KeyError:
102
+ # There is no guarantee that the equivalent .rdx file exists.
103
+ # (see Debian:#1066991)
104
+ return None
100
105
 
101
106
  if not os.path.exists(rdx.path):
102
107
  # ... falling back to looking in the same directory for when
103
108
  # comparing two .rdb files directly
104
- rdx = rdb.container.get_member(os.path.basename(rdx_name))
109
+ try:
110
+ rdx = rdb.container.get_member(os.path.basename(rdx_name))
111
+ except KeyError:
112
+ return None
105
113
 
106
114
  if not os.path.exists(rdx.path):
107
115
  # Corresponding .rdx does not exist
@@ -161,6 +169,17 @@ class RdbFile(File):
161
169
  DESCRIPTION = "GNU R database files (.rdb)"
162
170
  FILE_EXTENSION_SUFFIX = {".rdb"}
163
171
 
172
+ @classmethod
173
+ def recognizes(cls, file):
174
+ if not super().recognizes(file):
175
+ return False
176
+
177
+ # file(1) does not yet support identifying R database files, so we
178
+ # match on "data" AND the filename ends with .rdb (via
179
+ # FILE_EXTENSION_SUFFIX above) to avoid matching, say, Redis database
180
+ # dumps (dump.rdb).
181
+ return file.magic_file_type == "data"
182
+
164
183
  def compare_details(self, other, source=None):
165
184
  with get_temporary_directory(suffix="rdb") as tmpdir:
166
185
  a = get_module_path_for_rdb(self, tmpdir, "a")
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # diffoscope: in-depth comparison of files, archives, and directories
3
3
  #
4
- # Copyright © 2023 Chris Lamb <lamby@debian.org>
4
+ # Copyright © 2024 Chris Lamb <lamby@debian.org>
5
5
  #
6
6
  # diffoscope is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffoscope
3
- Version: 259
3
+ Version: 261
4
4
  Summary: in-depth comparison of files, archives, and directories
5
5
  Home-page: https://diffoscope.org/
6
6
  Author: Diffoscope developers
@@ -61,7 +61,6 @@ diffoscope.egg-info/dependency_links.txt
61
61
  diffoscope.egg-info/entry_points.txt
62
62
  diffoscope.egg-info/requires.txt
63
63
  diffoscope.egg-info/top_level.txt
64
- diffoscope/comparators/7z.py
65
64
  diffoscope/comparators/__init__.py
66
65
  diffoscope/comparators/android.py
67
66
  diffoscope/comparators/apk.py
@@ -127,6 +126,7 @@ diffoscope/comparators/rdata.py
127
126
  diffoscope/comparators/rpm.py
128
127
  diffoscope/comparators/rpm_fallback.py
129
128
  diffoscope/comparators/rust.py
129
+ diffoscope/comparators/sevenz.py
130
130
  diffoscope/comparators/socket_or_fifo.py
131
131
  diffoscope/comparators/sphinx.py
132
132
  diffoscope/comparators/sqlite.py
@@ -186,7 +186,6 @@ tests/test_source.py
186
186
  tests/test_tools.py
187
187
  tests/test_versions.py
188
188
  tests/comparators/__init__.py
189
- tests/comparators/test_7z.py
190
189
  tests/comparators/test_android.py
191
190
  tests/comparators/test_apk.py
192
191
  tests/comparators/test_archive.py
@@ -250,6 +249,7 @@ tests/comparators/test_python.py
250
249
  tests/comparators/test_rdata.py
251
250
  tests/comparators/test_rlib.py
252
251
  tests/comparators/test_rpm.py
252
+ tests/comparators/test_sevenz.py
253
253
  tests/comparators/test_sockets.py
254
254
  tests/comparators/test_sphinx.py
255
255
  tests/comparators/test_sqlite.py
@@ -476,6 +476,7 @@ tests/data/test1.deb
476
476
  tests/data/test1.debsrc.tar.gz
477
477
  tests/data/test1.debug
478
478
  tests/data/test1.dex
479
+ tests/data/test1.disk.gz
479
480
  tests/data/test1.docx
480
481
  tests/data/test1.dsc
481
482
  tests/data/test1.epub
@@ -544,6 +545,7 @@ tests/data/test2.deb
544
545
  tests/data/test2.debsrc.tar.gz
545
546
  tests/data/test2.debug
546
547
  tests/data/test2.dex
548
+ tests/data/test2.disk.gz
547
549
  tests/data/test2.docx
548
550
  tests/data/test2.dsc
549
551
  tests/data/test2.epub
@@ -632,6 +634,7 @@ tests/data/text_iso8859_expected_diff
632
634
  tests/data/text_order1
633
635
  tests/data/text_order2
634
636
  tests/data/text_order_expected_diff
637
+ tests/data/text_sevenzmetadata_expected_diff
635
638
  tests/data/text_unicode1
636
639
  tests/data/text_unicode2
637
640
  tests/data/text_unicode_binary_fallback
@@ -0,0 +1,78 @@
1
+ #
2
+ # diffoscope: in-depth comparison of files, archives, and directories
3
+ #
4
+ # Copyright © 2024 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.gzip import GzipFile
23
+ from diffoscope.comparators.sevenz import SevenZFile
24
+ from diffoscope.comparators.binary import FilesystemFile
25
+ from diffoscope.comparators.utils.specialize import specialize
26
+
27
+ from ..utils.data import load_fixture, assert_diff
28
+ from ..utils.tools import skip_unless_tools_exist
29
+ from ..utils.nonexisting import assert_non_existing
30
+
31
+ sevenza = load_fixture("test1.disk.gz")
32
+ sevenzb = load_fixture("test2.disk.gz")
33
+
34
+
35
+ def test_identification(sevenza):
36
+ assert isinstance(sevenza, GzipFile)
37
+
38
+
39
+ def test_no_differences(sevenza):
40
+ difference = sevenza.compare(sevenza)
41
+ assert difference is None
42
+
43
+
44
+ @pytest.fixture
45
+ def differences(sevenza, sevenzb):
46
+ return sevenza.compare(sevenzb).details
47
+
48
+
49
+ @skip_unless_tools_exist("7z")
50
+ def test_content_source(differences):
51
+ # We gzip our test data image, so we need to go one level deeper.
52
+ assert differences[0].source1 == "test1.disk"
53
+ assert differences[0].source2 == "test2.disk"
54
+ assert differences[0].details[0].source1 == "7z l"
55
+ assert differences[0].details[0].source2 == "7z l"
56
+
57
+
58
+ @skip_unless_tools_exist("7z")
59
+ def test_content_source_without_extension(tmpdir, sevenza, sevenzb):
60
+ path1 = str(tmpdir.join("test1"))
61
+ path2 = str(tmpdir.join("test2"))
62
+ shutil.copy(sevenza.path, path1)
63
+ shutil.copy(sevenzb.path, path2)
64
+ sevenza = specialize(FilesystemFile(path1))
65
+ sevenzb = specialize(FilesystemFile(path2))
66
+ difference = sevenza.compare(sevenzb).details
67
+ assert difference[0].source1 == "test1-content"
68
+ assert difference[0].source2 == "test2-content"
69
+
70
+
71
+ @skip_unless_tools_exist("7z")
72
+ def test_metadata_diff(differences):
73
+ assert_diff(differences[0].details[0], "text_sevenzmetadata_expected_diff")
74
+
75
+
76
+ @skip_unless_tools_exist("7z")
77
+ def test_compare_non_existing(monkeypatch, sevenza):
78
+ assert_non_existing(monkeypatch, sevenza)
Binary file
Binary file
@@ -0,0 +1,15 @@
1
+ @@ -5,13 +5,13 @@
2
+ Scanning the drive for archives:
3
+ 1 file, 131072 bytes (128 KiB)
4
+
5
+
6
+ --
7
+ Type = GPT
8
+ Physical Size = 131072
9
+ -ID = BEFEFA22-EED4-4977-8407-46CD48ABC5D9
10
+ +ID = A2E15781-E1B6-422C-BA65-9210D36BE3AA
11
+
12
+ Date Time Attr Size Compressed Name
13
+ ------------------- ----- ------------ ------------ ------------------------
14
+ ------------------- ----- ------------ ------------ ------------------------
15
+ 0 0 0 files
@@ -1,74 +0,0 @@
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