Bug#1031433: diffoscope: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13
Lucas Nussbaum
lucas at debian.org
Fri Feb 17 05:33:01 GMT 2023
Source: diffoscope
Version: 235
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20230216 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[2]: Entering directory '/<<PKGBUILDDIR>>/doc'
> { cat diffoscope.h2m.0; cat ../README.rst | \
> sed -e '/^\.\. raw:: /d' -e '/^\.\. image:: /d' -e '/ :target: /d' | tee out.txt | \
> rst2man -q --no-doc-title | \
> sed -e 's,^ \\- ,,' -e 's,^\[,\\[char91],g' -e 's,\.TH *"" "" "",,g' \
> -e 's,bin/diffoscope,diffoscope,g' \
> -e 's,\.SH \(.*\),[\1],g' -e 's,\[diffoscope\],[DESCRIPTION],gi'; } > "diffoscope.h2m"
> help2man --version-string=$(cd .. && python3 setup.py -V) ../bin/diffoscope -N --include="diffoscope.h2m" | \
> sed -e '/end_of_description_header/,/positional arguments/{d}' > "diffoscope.1"
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/doc'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild pybuild:307: flake8 --config=/dev/null --select=F821
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest -vv -r sxX -l --cov=diffoscope --cov-report=term-missing --cov-report=html
> ============================= test session starts ==============================
> platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack -- /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini
> plugins: cov-4.0.0
> collecting ... collected 711 items / 1 skipped
>
> tests/test_diff_mask.py::test_none PASSED [ 0%]
> tests/test_diff_mask.py::test_all PASSED [ 0%]
> tests/test_diff_mask.py::test_specific PASSED [ 0%]
> tests/test_difference.py::test_too_much_input_for_diff PASSED [ 0%]
> tests/test_difference.py::test_too_long_diff_block_lines PASSED [ 0%]
> tests/test_difference.py::test_size_updates PASSED [ 0%]
> tests/test_difference.py::test_traverse_heapq PASSED [ 0%]
> tests/test_difference.py::test_non_str_arguments_to_source1_source2 PASSED [ 1%]
> tests/test_difference.py::test_adjust_diff_context PASSED [ 1%]
> tests/test_excludes.py::test_none PASSED [ 1%]
> tests/test_excludes.py::test_all PASSED [ 1%]
> tests/test_excludes.py::test_specific PASSED [ 1%]
> tests/test_excludes.py::test_specific_case PASSED [ 1%]
> tests/test_excludes.py::test_multiple PASSED [ 1%]
> tests/test_excludes.py::test_nomatch PASSED [ 2%]
> tests/test_excludes.py::test_wildcard PASSED [ 2%]
> tests/test_main.py::test_non_existing_files PASSED [ 2%]
> tests/test_main.py::test_non_existing_left_with_new_file PASSED [ 2%]
> tests/test_main.py::test_non_existing_right_with_new_file PASSED [ 2%]
> tests/test_main.py::test_non_existing_files_with_new_file PASSED [ 2%]
> tests/test_main.py::test_remove_temp_files_on_sigterm PASSED [ 2%]
> tests/test_main.py::test_ctrl_c_handling PASSED [ 3%]
> tests/test_main.py::test_no_differences PASSED [ 3%]
> tests/test_main.py::test_no_differences_directories PASSED [ 3%]
> tests/test_main.py::test_list_tools PASSED [ 3%]
> tests/test_main.py::test_list_missing_tools PASSED [ 3%]
> tests/test_main.py::test_profiling PASSED [ 3%]
> tests/test_main.py::test_non_unicode_filename PASSED [ 3%]
> tests/test_main.py::test_help PASSED [ 4%]
> tests/test_main.py::test_usage PASSED [ 4%]
> tests/test_presenters.py::test_text_option_is_default PASSED [ 4%]
> tests/test_presenters.py::test_text_proper_indentation PASSED [ 4%]
> tests/test_presenters.py::test_text_option_color PASSED [ 4%]
> tests/test_presenters.py::test_text_option_with_file PASSED [ 4%]
> tests/test_presenters.py::test_text_option_with_stdout PASSED [ 4%]
> tests/test_presenters.py::test_markdown PASSED [ 5%]
> tests/test_presenters.py::test_restructuredtext PASSED [ 5%]
> tests/test_presenters.py::test_json PASSED [ 5%]
> tests/test_presenters.py::test_no_report_option PASSED [ 5%]
> tests/test_presenters.py::test_html_option_with_file PASSED [ 5%]
> tests/test_presenters.py::test_html_visuals PASSED [ 5%]
> tests/test_presenters.py::test_htmldir_option PASSED [ 5%]
> tests/test_presenters.py::test_html_option_with_stdout PASSED [ 6%]
> tests/test_presenters.py::test_html_regression_875281 PASSED [ 6%]
> tests/test_presenters.py::test_limited_print PASSED [ 6%]
> tests/test_presenters.py::test_partial_string PASSED [ 6%]
> tests/test_presenters.py::test_partial_string_cont PASSED [ 6%]
> tests/test_presenters.py::test_partial_string_numl PASSED [ 6%]
> tests/test_presenters.py::test_partial_string_escape PASSED [ 6%]
> tests/test_progress.py::test_progress PASSED [ 7%]
> tests/test_progress.py::test_status_fd PASSED [ 7%]
> tests/test_quines.py::test_identification PASSED [ 7%]
> tests/test_quines.py::test_no_differences PASSED [ 7%]
> tests/test_quines.py::test_difference PASSED [ 7%]
> tests/test_quines.py::test_identification_deb PASSED [ 7%]
> tests/test_quines.py::test_differences_deb PASSED [ 7%]
> tests/test_readers.py::test_json PASSED [ 8%]
> tests/test_source.py::test_code_is_black_clean FAILED [ 8%]
> tests/test_tools.py::test_all_tools_are_listed PASSED [ 8%]
> tests/test_tools.py::test_get_tools PASSED [ 8%]
> tests/test_tools.py::test_sbin_added_to_path PASSED [ 8%]
> tests/test_tools.py::test_required_tool_not_found PASSED [ 8%]
> tests/test_versions.py::test_version_comparisons[1.0-1.0-0] PASSED [ 8%]
> tests/test_versions.py::test_version_comparisons[1.0-2.0--1] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[2.0-1.0-1] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[2.0.1-2.0.1-0] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[2.0-2.0.1--1] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[2.0.1-2.0-1] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[2.0.1a-2.0.1a-0] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[2.0.1a-2.0.1-1] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[2.0.1-2.0.1a--1] PASSED [ 9%]
> tests/test_versions.py::test_version_comparisons[5.5p1-5.5p1-0] PASSED [ 10%]
> tests/test_versions.py::test_version_comparisons[5.5p1-5.5p2--1] PASSED [ 10%]
> tests/test_versions.py::test_version_comparisons[5.5p2-5.5p1-1] PASSED [ 10%]
> tests/test_versions.py::test_version_comparisons[5.5p10-5.5p10-0] PASSED [ 10%]
> tests/test_versions.py::test_version_comparisons[5.5p1-5.5p10--1] PASSED [ 10%]
> tests/test_versions.py::test_version_comparisons[5.5p10-5.5p1-1] PASSED [ 10%]
> tests/test_versions.py::test_version_comparisons[10xyz-10.1xyz--1] PASSED [ 10%]
> tests/test_versions.py::test_version_comparisons[10.1xyz-10xyz-1] PASSED [ 11%]
> tests/test_versions.py::test_version_comparisons[xyz10-xyz10-0] PASSED [ 11%]
> tests/test_versions.py::test_version_comparisons[xyz10-xyz10.1--1] PASSED [ 11%]
> tests/test_versions.py::test_version_comparisons[xyz10.1-xyz10-1] PASSED [ 11%]
> tests/test_versions.py::test_version_comparisons[xyz.4-xyz.4-0] PASSED [ 11%]
> tests/test_versions.py::test_version_comparisons[xyz.4-8--1] PASSED [ 11%]
> tests/test_versions.py::test_version_comparisons[8-xyz.4-1] PASSED [ 11%]
> tests/test_versions.py::test_version_comparisons[xyz.4-2--1] PASSED [ 12%]
> tests/test_versions.py::test_version_comparisons[2-xyz.4-1] PASSED [ 12%]
> tests/test_versions.py::test_version_comparisons[5.5p2-5.6p1--1] PASSED [ 12%]
> tests/test_versions.py::test_version_comparisons[5.6p1-5.5p2-1] PASSED [ 12%]
> tests/test_versions.py::test_version_comparisons[5.6p1-6.5p1--1] PASSED [ 12%]
> tests/test_versions.py::test_version_comparisons[6.5p1-5.6p1-1] PASSED [ 12%]
> tests/test_versions.py::test_version_comparisons[6.0.rc1-6.0-1] PASSED [ 12%]
> tests/test_versions.py::test_version_comparisons[6.0-6.0.rc1--1] PASSED [ 13%]
> tests/test_versions.py::test_version_comparisons[10b2-10a1-1] PASSED [ 13%]
> tests/test_versions.py::test_version_comparisons[10a2-10b2--1] PASSED [ 13%]
> tests/test_versions.py::test_version_comparisons[1.0aa-1.0aa-0] PASSED [ 13%]
> tests/test_versions.py::test_version_comparisons[1.0a-1.0aa--1] PASSED [ 13%]
> tests/test_versions.py::test_version_comparisons[1.0aa-1.0a-1] PASSED [ 13%]
> tests/test_versions.py::test_version_comparisons[10.0001-10.0001-0] PASSED [ 13%]
> tests/test_versions.py::test_version_comparisons[10.0001-10.1-0] PASSED [ 14%]
> tests/test_versions.py::test_version_comparisons[10.1-10.0001-0] PASSED [ 14%]
> tests/test_versions.py::test_version_comparisons[10.0001-10.0039--1] PASSED [ 14%]
> tests/test_versions.py::test_version_comparisons[10.0039-10.0001-1] PASSED [ 14%]
> tests/test_versions.py::test_version_comparisons[4.999.9-5.0--1] PASSED [ 14%]
> tests/test_versions.py::test_version_comparisons[5.0-4.999.9-1] PASSED [ 14%]
> tests/test_versions.py::test_version_comparisons[20101121-20101121-0] PASSED [ 14%]
> tests/test_versions.py::test_version_comparisons[20101121-20101122--1] PASSED [ 15%]
> tests/test_versions.py::test_version_comparisons[20101122-20101121-1] PASSED [ 15%]
> tests/test_versions.py::test_version_comparisons[2_0-2_0-0] PASSED [ 15%]
> tests/test_versions.py::test_version_comparisons[2.0-2_0-0] PASSED [ 15%]
> tests/test_versions.py::test_version_comparisons[2_0-2.0-0] PASSED [ 15%]
> tests/test_versions.py::test_version_comparisons[2_0.-2_0-0] PASSED [ 15%]
> tests/test_versions.py::test_version_comparisons[2..0-2_0__-0] PASSED [ 15%]
> tests/test_versions.py::test_version_comparisons[2_0-__2.0-0] PASSED [ 16%]
> tests/test_versions.py::test_version_comparisons[2_1.-2_0-1] PASSED [ 16%]
> tests/test_versions.py::test_version_comparisons[2..1-2_0__-1] PASSED [ 16%]
> tests/test_versions.py::test_version_comparisons[2_1-__2.0-1] PASSED [ 16%]
> tests/test_versions.py::test_version_comparisons[2_1.-2_2--1] PASSED [ 16%]
> tests/test_versions.py::test_version_comparisons[2..1-2_2__--1] PASSED [ 16%]
> tests/test_versions.py::test_version_comparisons[2_1-__2.2--1] PASSED [ 16%]
> tests/test_versions.py::test_version_comparisons[a-a-00] PASSED [ 17%]
> tests/test_versions.py::test_version_comparisons[a+-a+-0] PASSED [ 17%]
> tests/test_versions.py::test_version_comparisons[a+-a_-0] PASSED [ 17%]
> tests/test_versions.py::test_version_comparisons[a_-a+-0] PASSED [ 17%]
> tests/test_versions.py::test_version_comparisons[+a-+a-0] PASSED [ 17%]
> tests/test_versions.py::test_version_comparisons[+a-_a-0] PASSED [ 17%]
> tests/test_versions.py::test_version_comparisons[_a-+a-0] PASSED [ 17%]
> tests/test_versions.py::test_version_comparisons[+_-+_-0] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[_+-+_-0] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[_+-_+-0] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[+-_-0] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[_-+-0] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1-1.0~rc1-0] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1-1.0--1] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[1.0-1.0~rc1-1] PASSED [ 18%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1-1.0~rc2--1] PASSED [ 19%]
> tests/test_versions.py::test_version_comparisons[1.0~rc2-1.0~rc1-1] PASSED [ 19%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1~git123-1.0~rc1~git123-0] PASSED [ 19%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1~git123-1.0~rc1--1] PASSED [ 19%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1-1.0~rc1~git123-1] PASSED [ 19%]
> tests/test_versions.py::test_version_comparisons[a-a-01] PASSED [ 19%]
> tests/test_versions.py::test_version_comparisons[a~-a--1] PASSED [ 19%]
> tests/test_versions.py::test_version_comparisons[a~~-a--1] PASSED [ 20%]
> tests/test_versions.py::test_version_comparisons[a~~~-a--1] PASSED [ 20%]
> tests/test_versions.py::test_version_comparisons[a~~~^-a--1] PASSED [ 20%]
> tests/test_versions.py::test_version_comparisons[a^-a-10] PASSED [ 20%]
> tests/test_versions.py::test_version_comparisons[a^-a-11] PASSED [ 20%]
> tests/test_versions.py::test_version_comparisons[a^-a^-0] PASSED [ 20%]
> tests/test_versions.py::test_version_comparisons[a^-a^^--1] PASSED [ 20%]
> tests/test_versions.py::test_version_comparisons[a^b-a^^-1] PASSED [ 21%]
> tests/test_versions.py::test_version_comparisons[1.0^-1.0^-0] PASSED [ 21%]
> tests/test_versions.py::test_version_comparisons[1.0^-1.0-1] PASSED [ 21%]
> tests/test_versions.py::test_version_comparisons[1.0-1.0^--1] PASSED [ 21%]
> tests/test_versions.py::test_version_comparisons[1.0^git1-1.0^git1-0] PASSED [ 21%]
> tests/test_versions.py::test_version_comparisons[1.0^git1-1.0-1] PASSED [ 21%]
> tests/test_versions.py::test_version_comparisons[1.0-1.0^git1--1] PASSED [ 21%]
> tests/test_versions.py::test_version_comparisons[1.0^git1-1.0^git2--1] PASSED [ 22%]
> tests/test_versions.py::test_version_comparisons[1.0^git2-1.0^git1-1] PASSED [ 22%]
> tests/test_versions.py::test_version_comparisons[1.0^git1-1.01--1] PASSED [ 22%]
> tests/test_versions.py::test_version_comparisons[1.01-1.0^git1-1] PASSED [ 22%]
> tests/test_versions.py::test_version_comparisons[1.0^20160101-1.0^20160101-0] PASSED [ 22%]
> tests/test_versions.py::test_version_comparisons[1.0^20160101-1.0.1--1] PASSED [ 22%]
> tests/test_versions.py::test_version_comparisons[1.0.1-1.0^20160101-1] PASSED [ 22%]
> tests/test_versions.py::test_version_comparisons[1.0^20160101^git1-1.0^20160101^git1-0] PASSED [ 23%]
> tests/test_versions.py::test_version_comparisons[1.0^20160102-1.0^20160101^git1-1] PASSED [ 23%]
> tests/test_versions.py::test_version_comparisons[1.0^20160101^git1-1.0^20160102--1] PASSED [ 23%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1^git1-1.0~rc1^git1-0] PASSED [ 23%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1^git1-1.0~rc1-1] PASSED [ 23%]
> tests/test_versions.py::test_version_comparisons[1.0~rc1-1.0~rc1^git1--1] PASSED [ 23%]
> tests/test_versions.py::test_version_comparisons[1.0^git1~pre-1.0^git1~pre-0] PASSED [ 23%]
> tests/test_versions.py::test_version_comparisons[1.0^git1-1.0^git1~pre-1] PASSED [ 24%]
> tests/test_versions.py::test_version_comparisons[1.0^git1~pre-1.0^git1--1] PASSED [ 24%]
> tests/test_versions.py::test_version_comparisons[0-0-0] PASSED [ 24%]
> tests/test_versions.py::test_version_comparisons[0-00-0] PASSED [ 24%]
> tests/test_versions.py::test_version_comparisons[0-000-0] PASSED [ 24%]
> tests/test_versions.py::test_version_comparisons[00-000-0] PASSED [ 24%]
> tests/test_versions.py::test_version_comparisons[000-000-0] PASSED [ 24%]
> tests/test_versions.py::test_version_comparisons[00-0-0] PASSED [ 25%]
> tests/test_versions.py::test_version_comparisons[000-0-0] PASSED [ 25%]
> tests/test_versions.py::test_version_comparisons[0-0.0--1] PASSED [ 25%]
> tests/test_versions.py::test_version_comparisons[0.0-0-1] PASSED [ 25%]
> tests/test_versions.py::test_version_comparisons[0~-0--1] PASSED [ 25%]
> tests/test_versions.py::test_version_comparisons[0^-0-1] PASSED [ 25%]
> tests/test_versions.py::test_version_comparisons[0^-0^-0] PASSED [ 25%]
> tests/test_versions.py::test_version_comparisons[0^-0^~-1] PASSED [ 26%]
> tests/test_versions.py::test_version_lt[1.0-2.0] PASSED [ 26%]
> tests/test_versions.py::test_version_lt[2.0-2.0.1] PASSED [ 26%]
> tests/test_versions.py::test_version_lt[2.0.1-2.0.1a] PASSED [ 26%]
> tests/test_versions.py::test_version_lt[5.5p1-5.5p2] PASSED [ 26%]
> tests/test_versions.py::test_version_lt[5.5p1-5.5p10] PASSED [ 26%]
> tests/test_versions.py::test_version_lt[10xyz-10.1xyz] PASSED [ 26%]
> tests/test_versions.py::test_version_lt[xyz10-xyz10.1] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[xyz.4-8] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[xyz.4-2] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[5.5p2-5.6p1] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[5.6p1-6.5p1] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[6.0-6.0.rc1] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[10a2-10b2] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[1.0a-1.0aa] PASSED [ 27%]
> tests/test_versions.py::test_version_lt[10.0001-10.0039] PASSED [ 28%]
> tests/test_versions.py::test_version_lt[4.999.9-5.0] PASSED [ 28%]
> tests/test_versions.py::test_version_lt[20101121-20101122] PASSED [ 28%]
> tests/test_versions.py::test_version_lt[2_1.-2_2] PASSED [ 28%]
> tests/test_versions.py::test_version_lt[2..1-2_2__] PASSED [ 28%]
> tests/test_versions.py::test_version_lt[2_1-__2.2] PASSED [ 28%]
> tests/test_versions.py::test_version_lt[1.0~rc1-1.0] PASSED [ 28%]
> tests/test_versions.py::test_version_lt[1.0~rc1-1.0~rc2] PASSED [ 29%]
> tests/test_versions.py::test_version_lt[1.0~rc1~git123-1.0~rc1] PASSED [ 29%]
> tests/test_versions.py::test_version_lt[a~-a] PASSED [ 29%]
> tests/test_versions.py::test_version_lt[a~~-a] PASSED [ 29%]
> tests/test_versions.py::test_version_lt[a~~~-a] PASSED [ 29%]
> tests/test_versions.py::test_version_lt[a~~~^-a] PASSED [ 29%]
> tests/test_versions.py::test_version_lt[a^-a^^] PASSED [ 29%]
> tests/test_versions.py::test_version_lt[1.0-1.0^] PASSED [ 30%]
> tests/test_versions.py::test_version_lt[1.0-1.0^git1] PASSED [ 30%]
> tests/test_versions.py::test_version_lt[1.0^git1-1.0^git2] PASSED [ 30%]
> tests/test_versions.py::test_version_lt[1.0^git1-1.01] PASSED [ 30%]
> tests/test_versions.py::test_version_lt[1.0^20160101-1.0.1] PASSED [ 30%]
> tests/test_versions.py::test_version_lt[1.0^20160101^git1-1.0^20160102] PASSED [ 30%]
> tests/test_versions.py::test_version_lt[1.0~rc1-1.0~rc1^git1] PASSED [ 30%]
> tests/test_versions.py::test_version_lt[1.0^git1~pre-1.0^git1] PASSED [ 31%]
> tests/test_versions.py::test_version_lt[0-0.0] PASSED [ 31%]
> tests/test_versions.py::test_version_lt[0~-0] PASSED [ 31%]
> tests/test_versions.py::test_version_gt[1.0-1.0] PASSED [ 31%]
> tests/test_versions.py::test_version_gt[2.0.1-2.0.1] PASSED [ 31%]
> tests/test_versions.py::test_version_gt[2.0.1a-2.0.1a] PASSED [ 31%]
> tests/test_versions.py::test_version_gt[5.5p1-5.5p1] PASSED [ 31%]
> tests/test_versions.py::test_version_gt[5.5p10-5.5p10] PASSED [ 32%]
> tests/test_versions.py::test_version_gt[xyz10-xyz10] PASSED [ 32%]
> tests/test_versions.py::test_version_gt[xyz.4-xyz.4] PASSED [ 32%]
> tests/test_versions.py::test_version_gt[1.0aa-1.0aa] PASSED [ 32%]
> tests/test_versions.py::test_version_gt[10.0001-10.0001] PASSED [ 32%]
> tests/test_versions.py::test_version_gt[10.0001-10.1] PASSED [ 32%]
> tests/test_versions.py::test_version_gt[10.1-10.0001] PASSED [ 32%]
> tests/test_versions.py::test_version_gt[20101121-20101121] PASSED [ 33%]
> tests/test_versions.py::test_version_gt[2_0-2_0] PASSED [ 33%]
> tests/test_versions.py::test_version_gt[2.0-2_0] PASSED [ 33%]
> tests/test_versions.py::test_version_gt[2_0-2.0] PASSED [ 33%]
> tests/test_versions.py::test_version_gt[2_0.-2_0] PASSED [ 33%]
> tests/test_versions.py::test_version_gt[2..0-2_0__] PASSED [ 33%]
> tests/test_versions.py::test_version_gt[2_0-__2.0] PASSED [ 33%]
> tests/test_versions.py::test_version_gt[a-a0] PASSED [ 34%]
> tests/test_versions.py::test_version_gt[a+-a+] PASSED [ 34%]
> tests/test_versions.py::test_version_gt[a+-a_] PASSED [ 34%]
> tests/test_versions.py::test_version_gt[a_-a+] PASSED [ 34%]
> tests/test_versions.py::test_version_gt[+a-+a] PASSED [ 34%]
> tests/test_versions.py::test_version_gt[+a-_a] PASSED [ 34%]
> tests/test_versions.py::test_version_gt[_a-+a] PASSED [ 34%]
> tests/test_versions.py::test_version_gt[+_-+_] PASSED [ 35%]
> tests/test_versions.py::test_version_gt[_+-+_] PASSED [ 35%]
> tests/test_versions.py::test_version_gt[_+-_+] PASSED [ 35%]
> tests/test_versions.py::test_version_gt[+-_] PASSED [ 35%]
> tests/test_versions.py::test_version_gt[_-+] PASSED [ 35%]
> tests/test_versions.py::test_version_gt[1.0~rc1-1.0~rc1] PASSED [ 35%]
> tests/test_versions.py::test_version_gt[1.0~rc1~git123-1.0~rc1~git123] PASSED [ 35%]
> tests/test_versions.py::test_version_gt[a-a1] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[a^-a^] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[1.0^-1.0^] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[1.0^git1-1.0^git1] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[1.0^20160101-1.0^20160101] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[1.0^20160101^git1-1.0^20160101^git1] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[1.0~rc1^git1-1.0~rc1^git1] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[1.0^git1~pre-1.0^git1~pre] PASSED [ 36%]
> tests/test_versions.py::test_version_gt[0-0] PASSED [ 37%]
> tests/test_versions.py::test_version_gt[0-00] PASSED [ 37%]
> tests/test_versions.py::test_version_gt[0-000] PASSED [ 37%]
> tests/test_versions.py::test_version_gt[00-000] PASSED [ 37%]
> tests/test_versions.py::test_version_gt[000-000] PASSED [ 37%]
> tests/test_versions.py::test_version_gt[00-0] PASSED [ 37%]
> tests/test_versions.py::test_version_gt[000-0] PASSED [ 37%]
> tests/test_versions.py::test_version_gt[0^-0^] PASSED [ 38%]
> tests/comparators/test_android.py::test_identification PASSED [ 38%]
> tests/comparators/test_android.py::test_no_differences PASSED [ 38%]
> tests/comparators/test_android.py::test_diff PASSED [ 38%]
> tests/comparators/test_android.py::test_compare_non_existing PASSED [ 38%]
> tests/comparators/test_apk.py::test_identification PASSED [ 38%]
> tests/comparators/test_apk.py::test_no_differences PASSED [ 38%]
> tests/comparators/test_apk.py::test_compare_non_existing PASSED [ 39%]
> tests/comparators/test_apk.py::test_zipinfo PASSED [ 39%]
> tests/comparators/test_apk.py::test_android_manifest XFAIL [ 39%]
> tests/comparators/test_apk.py::test_apk_metadata_source PASSED [ 39%]
> tests/comparators/test_apk.py::test_skip_undecoded_android_manifest PASSED [ 39%]
> tests/comparators/test_apk.py::test_no_android_manifest PASSED [ 39%]
> tests/comparators/test_archive.py::test_compressed_content_name PASSED [ 39%]
> tests/comparators/test_arsc.py::test_identification PASSED [ 40%]
> tests/comparators/test_arsc.py::test_no_differences PASSED [ 40%]
> tests/comparators/test_arsc.py::test_differences PASSED [ 40%]
> tests/comparators/test_arsc.py::test_compare_non_existing PASSED [ 40%]
> tests/comparators/test_berkeley_db.py::test_identification PASSED [ 40%]
> tests/comparators/test_berkeley_db.py::test_no_differences PASSED [ 40%]
> tests/comparators/test_berkeley_db.py::test_diff PASSED [ 40%]
> tests/comparators/test_berkeley_db.py::test_diff6 SKIPPED (requires >= 6.0 (5.3.28 detected)) [ 41%]
> tests/comparators/test_berkeley_db.py::test_compare_non_existing PASSED [ 41%]
> tests/comparators/test_binary.py::test_same_content PASSED [ 41%]
> tests/comparators/test_binary.py::test_not_same_content PASSED [ 41%]
> tests/comparators/test_binary.py::test_guess_file_type PASSED [ 41%]
> tests/comparators/test_binary.py::test_guess_encoding_binary PASSED [ 41%]
> tests/comparators/test_binary.py::test_guess_encoding_ascii PASSED [ 41%]
> tests/comparators/test_binary.py::test_guess_encoding_unicode PASSED [ 42%]
> tests/comparators/test_binary.py::test_guess_encoding_iso8859 PASSED [ 42%]
> tests/comparators/test_binary.py::test_no_differences_with_xxd PASSED [ 42%]
> tests/comparators/test_binary.py::test_compare_with_xxd PASSED [ 42%]
> tests/comparators/test_binary.py::test_compare_non_existing_with_xxd PASSED [ 42%]
> tests/comparators/test_binary.py::test_no_differences_without_xxd PASSED [ 42%]
> tests/comparators/test_binary.py::test_compare_without_xxd PASSED [ 42%]
> tests/comparators/test_binary.py::test_with_compare_details PASSED [ 43%]
> tests/comparators/test_binary.py::test_with_compare_details_and_fallback PASSED [ 43%]
> tests/comparators/test_binary.py::test_with_compare_details_and_no_actual_differences PASSED [ 43%]
> tests/comparators/test_binary.py::test_with_compare_details_and_failed_process PASSED [ 43%]
> tests/comparators/test_binary.py::test_with_compare_details_and_parsing_error PASSED [ 43%]
> tests/comparators/test_binary.py::test_with_compare_details_and_extraction_error PASSED [ 43%]
> tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found PASSED [ 43%]
> tests/comparators/test_binary.py::test_compare_two_nonexisting_files PASSED [ 44%]
> tests/comparators/test_binary.py::test_symlink_to_dir PASSED [ 44%]
> tests/comparators/test_binwalk.py::test_identification PASSED [ 44%]
> tests/comparators/test_binwalk.py::test_no_differences PASSED [ 44%]
> tests/comparators/test_binwalk.py::test_listing PASSED [ 44%]
> tests/comparators/test_binwalk.py::test_symlink PASSED [ 44%]
> tests/comparators/test_binwalk.py::test_compare_non_existing PASSED [ 44%]
> tests/comparators/test_bzip2.py::test_identification PASSED [ 45%]
> tests/comparators/test_bzip2.py::test_no_differences PASSED [ 45%]
> tests/comparators/test_bzip2.py::test_content_source PASSED [ 45%]
> tests/comparators/test_bzip2.py::test_content_source_without_extension PASSED [ 45%]
> tests/comparators/test_bzip2.py::test_content_diff PASSED [ 45%]
> tests/comparators/test_bzip2.py::test_compare_non_existing PASSED [ 45%]
> tests/comparators/test_cbfs.py::test_identification_using_offset PASSED [ 45%]
> tests/comparators/test_cbfs.py::test_identification_without_offset PASSED [ 45%]
> tests/comparators/test_cbfs.py::test_no_differences PASSED [ 46%]
> tests/comparators/test_cbfs.py::test_listing PASSED [ 46%]
> tests/comparators/test_cbfs.py::test_content PASSED [ 46%]
> tests/comparators/test_cbfs.py::test_compare_non_existing PASSED [ 46%]
> tests/comparators/test_containers.py::test_equal PASSED [ 46%]
> tests/comparators/test_containers.py::test_different PASSED [ 46%]
> tests/comparators/test_cpio.py::test_identification PASSED [ 46%]
> tests/comparators/test_cpio.py::test_no_differences PASSED [ 47%]
> tests/comparators/test_cpio.py::test_listing PASSED [ 47%]
> tests/comparators/test_cpio.py::test_symlink PASSED [ 47%]
> tests/comparators/test_cpio.py::test_compressed_files PASSED [ 47%]
> tests/comparators/test_cpio.py::test_compare_non_existing PASSED [ 47%]
> tests/comparators/test_deb.py::test_identification PASSED [ 47%]
> tests/comparators/test_deb.py::test_no_differences PASSED [ 47%]
> tests/comparators/test_deb.py::test_metadata PASSED [ 48%]
> tests/comparators/test_deb.py::test_compressed_files PASSED [ 48%]
> tests/comparators/test_deb.py::test_identification_of_md5sums_outside_deb PASSED [ 48%]
> tests/comparators/test_deb.py::test_identification_of_md5sums_in_deb PASSED [ 48%]
> tests/comparators/test_deb.py::test_md5sums PASSED [ 48%]
> tests/comparators/test_deb.py::test_identical_files_in_md5sums PASSED [ 48%]
> tests/comparators/test_deb.py::test_identification_of_data_tar PASSED [ 48%]
> tests/comparators/test_deb.py::test_skip_comparison_of_known_identical_files PASSED [ 49%]
> tests/comparators/test_deb.py::test_compare_non_existing PASSED [ 49%]
> tests/comparators/test_deb.py::test_compare_different_compression PASSED [ 49%]
> tests/comparators/test_deb.py::test_uncompressed_data_tar PASSED [ 49%]
> tests/comparators/test_deb.py::test_uncompressed_control_tar PASSED [ 49%]
> tests/comparators/test_deb.py::test_compare_different_compression_multiple_files PASSED [ 49%]
> tests/comparators/test_debian.py::test_dot_changes_identification PASSED [ 49%]
> tests/comparators/test_debian.py::test_dot_changes_invalid PASSED [ 50%]
> tests/comparators/test_debian.py::test_dot_changes_no_differences PASSED [ 50%]
> tests/comparators/test_debian.py::test_dot_changes_no_differences_exclude_buildinfo PASSED [ 50%]
> tests/comparators/test_debian.py::test_dot_changes_identical_contents_and_different_files PASSED [ 50%]
> tests/comparators/test_debian.py::test_dot_changes_different_contents_and_identical_files PASSED [ 50%]
> tests/comparators/test_debian.py::test_dot_dsc_identification PASSED [ 50%]
> tests/comparators/test_debian.py::test_dot_dsc_no_associated_tar_gz PASSED [ 50%]
> tests/comparators/test_debian.py::test_dot_dsc_no_differences PASSED [ 51%]
> tests/comparators/test_debian.py::test_dot_dsc_internal_diff PASSED [ 51%]
> tests/comparators/test_debian.py::test_dot_dsc_compare_non_existing PASSED [ 51%]
> tests/comparators/test_debian.py::test_dot_buildinfo_identification PASSED [ 51%]
> tests/comparators/test_debian.py::test_dot_buildinfo_no_deb PASSED [ 51%]
> tests/comparators/test_debian.py::test_dot_buildinfo_no_differences PASSED [ 51%]
> tests/comparators/test_debian.py::test_dot_buildinfo_internal_diff PASSED [ 51%]
> tests/comparators/test_debian.py::test_dot_buildinfo_compare_non_existing PASSED [ 52%]
> tests/comparators/test_debian.py::test_fallback_comparisons PASSED [ 52%]
> tests/comparators/test_debian.py::test_unicode_identification PASSED [ 52%]
> tests/comparators/test_device.py::test_identification PASSED [ 52%]
> tests/comparators/test_device.py::test_diff PASSED [ 52%]
> tests/comparators/test_device.py::test_diff_reverse PASSED [ 52%]
> tests/comparators/test_dex.py::test_identification PASSED [ 52%]
> tests/comparators/test_dex.py::test_no_differences PASSED [ 53%]
> tests/comparators/test_dex.py::test_differences SKIPPED (requires min 9.0.4 >= 14.0 (17.0.6 detected)) [ 53%]
> tests/comparators/test_dex.py::test_javap_14_differences PASSED [ 53%]
> tests/comparators/test_dex.py::test_compare_non_existing PASSED [ 53%]
> tests/comparators/test_directory.py::test_no_differences PASSED [ 53%]
> tests/comparators/test_directory.py::test_no_differences_with_extra_slash PASSED [ 53%]
> tests/comparators/test_directory.py::test_content PASSED [ 53%]
> tests/comparators/test_directory.py::test_stat PASSED [ 54%]
> tests/comparators/test_directory.py::test_compare_to_file PASSED [ 54%]
> tests/comparators/test_directory.py::test_compare_to_device PASSED [ 54%]
> tests/comparators/test_directory.py::test_compare_to_symlink PASSED [ 54%]
> tests/comparators/test_directory.py::test_compare_to_dangling_symlink PASSED [ 54%]
> tests/comparators/test_directory.py::test_compare_both_ways PASSED [ 54%]
> tests/comparators/test_docx.py::test_identification PASSED [ 54%]
> tests/comparators/test_docx.py::test_no_differences PASSED [ 54%]
> tests/comparators/test_docx.py::test_diff PASSED [ 55%]
> tests/comparators/test_docx.py::test_compare_non_existing PASSED [ 55%]
> tests/comparators/test_dtb.py::test_identification PASSED [ 55%]
> tests/comparators/test_dtb.py::test_no_differences PASSED [ 55%]
> tests/comparators/test_dtb.py::test_diff PASSED [ 55%]
> tests/comparators/test_dtb.py::test_compare_non_existing PASSED [ 55%]
> tests/comparators/test_elf.py::test_obj_identification PASSED [ 55%]
> tests/comparators/test_elf.py::test_obj_no_differences PASSED [ 56%]
> tests/comparators/test_elf.py::test_obj_compare_non_existing PASSED [ 56%]
> tests/comparators/test_elf.py::test_diff PASSED [ 56%]
> tests/comparators/test_elf.py::test_lib_identification PASSED [ 56%]
> tests/comparators/test_elf.py::test_lib_no_differences PASSED [ 56%]
> tests/comparators/test_elf.py::test_lib_differences PASSED [ 56%]
> tests/comparators/test_elf.py::test_lib_compare_non_existing PASSED [ 56%]
> tests/comparators/test_elf.py::test_libmix_differences PASSED [ 57%]
> tests/comparators/test_elf.py::test_differences_with_dbgsym PASSED [ 57%]
> tests/comparators/test_elf.py::test_original_gnu_debuglink PASSED [ 57%]
> tests/comparators/test_elf.py::test_ignore_readelf_errors1_identify PASSED [ 57%]
> tests/comparators/test_elf.py::test_ignore_readelf_errors2_identify PASSED [ 57%]
> tests/comparators/test_elf.py::test_ignore_readelf_errors PASSED [ 57%]
> tests/comparators/test_elf_decompiler.py::test_obj_compare_non_existing SKIPPED (radare2 didn't recognize pdgj command) [ 57%]
> tests/comparators/test_elf_decompiler.py::test_ghidra_diff SKIPPED (radare2 didn't recognize pdgj command) [ 58%]
> tests/comparators/test_elf_decompiler.py::test_radare2_diff SKIPPED (requires r2pipe Python module) [ 58%]
> tests/comparators/test_epub.py::test_identification PASSED [ 58%]
> tests/comparators/test_epub.py::test_no_differences PASSED [ 58%]
> tests/comparators/test_epub.py::test_differences PASSED [ 58%]
> tests/comparators/test_epub.py::test_compare_non_existing PASSED [ 58%]
> tests/comparators/test_ffprobe.py::test_identification PASSED [ 58%]
> tests/comparators/test_ffprobe.py::test_no_differences PASSED [ 59%]
> tests/comparators/test_ffprobe.py::test_diff PASSED [ 59%]
> tests/comparators/test_ffprobe.py::test_compare_non_existing PASSED [ 59%]
> tests/comparators/test_fit.py::test_identification PASSED [ 59%]
> tests/comparators/test_fit.py::test_no_differences PASSED [ 59%]
> tests/comparators/test_fit.py::test_file_differences PASSED [ 59%]
> tests/comparators/test_fit.py::test_nested_listing PASSED [ 59%]
> tests/comparators/test_fit.py::test_nested_symlink PASSED [ 60%]
> tests/comparators/test_fit.py::test_nested_compressed_files PASSED [ 60%]
> tests/comparators/test_fit.py::test_compare_non_existing PASSED [ 60%]
> tests/comparators/test_fontconfig.py::test_identification PASSED [ 60%]
> tests/comparators/test_fontconfig.py::test_no_differences PASSED [ 60%]
> tests/comparators/test_fontconfig.py::test_diff PASSED [ 60%]
> tests/comparators/test_fonts.py::test_identification PASSED [ 60%]
> tests/comparators/test_fonts.py::test_no_differences PASSED [ 61%]
> tests/comparators/test_fonts.py::test_diff PASSED [ 61%]
> tests/comparators/test_fonts.py::test_compare_non_existing PASSED [ 61%]
> tests/comparators/test_fsimage.py::test_identification PASSED [ 61%]
> tests/comparators/test_fsimage.py::test_identification_fat12 PASSED [ 61%]
> tests/comparators/test_fsimage.py::test_identification_fat16 PASSED [ 61%]
> tests/comparators/test_fsimage.py::test_identification_fat32 PASSED [ 61%]
> tests/comparators/test_fsimage.py::test_no_differences PASSED [ 62%]
> tests/comparators/test_fsimage.py::test_differences PASSED [ 62%]
> tests/comparators/test_fsimage.py::test_compare_non_existing PASSED [ 62%]
> tests/comparators/test_fsimage.py::test_differences_fat PASSED [ 62%]
> tests/comparators/test_gettext.py::test_identification PASSED [ 62%]
> tests/comparators/test_gettext.py::test_no_differences PASSED [ 62%]
> tests/comparators/test_gettext.py::test_diff PASSED [ 62%]
> tests/comparators/test_gettext.py::test_charsets PASSED [ 63%]
> tests/comparators/test_gettext.py::test_compare_non_existing PASSED [ 63%]
> tests/comparators/test_gif.py::test_identification PASSED [ 63%]
> tests/comparators/test_gif.py::test_no_differences PASSED [ 63%]
> tests/comparators/test_gif.py::test_diff PASSED [ 63%]
> tests/comparators/test_gif.py::test_compare_non_existing PASSED [ 63%]
> tests/comparators/test_gif.py::test_has_visuals PASSED [ 63%]
> tests/comparators/test_gif.py::test_no_visuals_different_size PASSED [ 63%]
> tests/comparators/test_git.py::test_identification PASSED [ 64%]
> tests/comparators/test_git.py::test_no_differences PASSED [ 64%]
> tests/comparators/test_git.py::test_diff PASSED [ 64%]
> tests/comparators/test_gnumeric.py::test_identification PASSED [ 64%]
> tests/comparators/test_gnumeric.py::test_no_differences PASSED [ 64%]
> tests/comparators/test_gnumeric.py::test_diff PASSED [ 64%]
> tests/comparators/test_gnumeric.py::test_compare_non_existing PASSED [ 64%]
> tests/comparators/test_gzip.py::test_identification PASSED [ 65%]
> tests/comparators/test_gzip.py::test_fallback_recognizes PASSED [ 65%]
> tests/comparators/test_gzip.py::test_no_differences PASSED [ 65%]
> tests/comparators/test_gzip.py::test_metadata PASSED [ 65%]
> tests/comparators/test_gzip.py::test_content_source PASSED [ 65%]
> tests/comparators/test_gzip.py::test_content_source_without_extension PASSED [ 65%]
> tests/comparators/test_gzip.py::test_content_diff PASSED [ 65%]
> tests/comparators/test_gzip.py::test_compare_non_existing PASSED [ 66%]
> tests/comparators/test_haskell.py::test_identification PASSED [ 66%]
> tests/comparators/test_haskell.py::test_no_differences PASSED [ 66%]
> tests/comparators/test_haskell.py::test_diff PASSED [ 66%]
> tests/comparators/test_hdf.py::test_identification PASSED [ 66%]
> tests/comparators/test_hdf.py::test_no_differences PASSED [ 66%]
> tests/comparators/test_hdf.py::test_diff PASSED [ 66%]
> tests/comparators/test_hdf.py::test_compare_non_existing PASSED [ 67%]
> tests/comparators/test_html.py::test_identification PASSED [ 67%]
> tests/comparators/test_html.py::test_no_differences PASSED [ 67%]
> tests/comparators/test_html.py::test_diff PASSED [ 67%]
> tests/comparators/test_ico_image.py::test_identification PASSED [ 67%]
> tests/comparators/test_ico_image.py::test_no_differences PASSED [ 67%]
> tests/comparators/test_ico_image.py::test_diff PASSED [ 67%]
> tests/comparators/test_ico_image.py::test_diff_meta PASSED [ 68%]
> tests/comparators/test_ico_image.py::test_diff_meta2 PASSED [ 68%]
> tests/comparators/test_ico_image.py::test_has_visuals PASSED [ 68%]
> tests/comparators/test_ipk.py::test_identification PASSED [ 68%]
> tests/comparators/test_ipk.py::test_no_differences PASSED [ 68%]
> tests/comparators/test_ipk.py::test_metadata PASSED [ 68%]
> tests/comparators/test_ipk.py::test_compressed_files PASSED [ 68%]
> tests/comparators/test_ipk.py::test_compare_non_existing PASSED [ 69%]
> tests/comparators/test_iso9660.py::test_identification PASSED [ 69%]
> tests/comparators/test_iso9660.py::test_no_differences PASSED [ 69%]
> tests/comparators/test_iso9660.py::test_iso9660_content SKIPPED (requires isoinfo (try installing genisoimage)) [ 69%]
> tests/comparators/test_iso9660.py::test_iso9660_rockridge SKIPPED (requires isoinfo (try installing genisoimage)) [ 69%]
> tests/comparators/test_iso9660.py::test_symlink SKIPPED (requires isoinfo (try installing genisoimage)) [ 69%]
> tests/comparators/test_iso9660.py::test_compressed_files SKIPPED (requires isoinfo (try installing genisoimage)) [ 69%]
> tests/comparators/test_iso9660.py::test_compare_non_existing SKIPPED (requires isoinfo (try installing genisoimage)) [ 70%]
> tests/comparators/test_java.py::test_identification PASSED [ 70%]
> tests/comparators/test_java.py::test_no_differences PASSED [ 70%]
> tests/comparators/test_java.py::test_diff_procyon PASSED [ 70%]
> tests/comparators/test_java.py::test_diff_javap SKIPPED (requires min 9.0.4 >= 14.0 (17.0.6 detected)) [ 70%]
> tests/comparators/test_java.py::test_diff_javap_14 PASSED [ 70%]
> tests/comparators/test_java.py::test_compare_non_existing_procyon PASSED [ 70%]
> tests/comparators/test_java.py::test_compare_non_existing_javap PASSED [ 71%]
> tests/comparators/test_javascript.py::test_identification PASSED [ 71%]
> tests/comparators/test_javascript.py::test_no_differences PASSED [ 71%]
> tests/comparators/test_javascript.py::test_diff PASSED [ 71%]
> tests/comparators/test_javascript.py::test_compare_non_existing PASSED [ 71%]
> tests/comparators/test_jpeg_image.py::test_identification PASSED [ 71%]
> tests/comparators/test_jpeg_image.py::test_no_differences PASSED [ 71%]
> tests/comparators/test_jpeg_image.py::test_diff PASSED [ 72%]
> tests/comparators/test_jpeg_image.py::test_compare_non_existing PASSED [ 72%]
> tests/comparators/test_jpeg_image.py::test_diff_meta PASSED [ 72%]
> tests/comparators/test_jpeg_image.py::test_has_visuals PASSED [ 72%]
> tests/comparators/test_json.py::test_identification PASSED [ 72%]
> tests/comparators/test_json.py::test_invalid PASSED [ 72%]
> tests/comparators/test_json.py::test_no_differences PASSED [ 72%]
> tests/comparators/test_json.py::test_diff PASSED [ 72%]
> tests/comparators/test_json.py::test_compare_non_existing PASSED [ 73%]
> tests/comparators/test_json.py::test_ordering_differences PASSED [ 73%]
> tests/comparators/test_kbx.py::test_identification PASSED [ 73%]
> tests/comparators/test_kbx.py::test_no_differences PASSED [ 73%]
> tests/comparators/test_kbx.py::test_diff PASSED [ 73%]
> tests/comparators/test_kbx.py::test_compare_non_existing PASSED [ 73%]
> tests/comparators/test_lz4.py::test_identification PASSED [ 73%]
> tests/comparators/test_lz4.py::test_no_differences PASSED [ 74%]
> tests/comparators/test_lz4.py::test_content_source PASSED [ 74%]
> tests/comparators/test_lz4.py::test_content_source_without_extension PASSED [ 74%]
> tests/comparators/test_lz4.py::test_content_diff PASSED [ 74%]
> tests/comparators/test_lz4.py::test_compare_non_existing PASSED [ 74%]
> tests/comparators/test_lzip.py::test_identification PASSED [ 74%]
> tests/comparators/test_lzip.py::test_no_differences PASSED [ 74%]
> tests/comparators/test_lzip.py::test_content_source PASSED [ 75%]
> tests/comparators/test_lzip.py::test_content_source_without_extension PASSED [ 75%]
> tests/comparators/test_lzip.py::test_content_diff PASSED [ 75%]
> tests/comparators/test_lzip.py::test_compare_non_existing PASSED [ 75%]
> tests/comparators/test_macho.py::test_obj_identification PASSED [ 75%]
> tests/comparators/test_macho.py::test_obj_no_differences PASSED [ 75%]
> tests/comparators/test_macho.py::test_otool_obj_compare_non_existing SKIPPED (requires otool and lipo) [ 75%]
> tests/comparators/test_macho.py::test_otool_diff SKIPPED (requires otool and lipo) [ 76%]
> tests/comparators/test_macho.py::test_llvm_obj_compare_non_existing PASSED [ 76%]
> tests/comparators/test_macho.py::test_llvm_diff PASSED [ 76%]
> tests/comparators/test_macho_decompiler.py::test_obj_compare_non_existing SKIPPED (radare2 didn't recognize pdgj command) [ 76%]
> tests/comparators/test_macho_decompiler.py::test_ghidra_diff SKIPPED (radare2 didn't recognize pdgj command) [ 76%]
> tests/comparators/test_macho_decompiler.py::test_radare2_diff SKIPPED (requires r2pipe Python module) [ 76%]
> tests/comparators/test_mono.py::test_identification PASSED [ 76%]
> tests/comparators/test_mono.py::test_no_differences PASSED [ 77%]
> tests/comparators/test_mono.py::test_diff PASSED [ 77%]
> tests/comparators/test_mono.py::test_compare_non_existing PASSED [ 77%]
> tests/comparators/test_ocaml.py::test_identification PASSED [ 77%]
> tests/comparators/test_ocaml.py::test_no_differences PASSED [ 77%]
> tests/comparators/test_ocaml.py::test_diff PASSED [ 77%]
> tests/comparators/test_ocaml.py::test_compare_non_existing PASSED [ 77%]
> tests/comparators/test_odt.py::test_identification PASSED [ 78%]
> tests/comparators/test_odt.py::test_no_differences PASSED [ 78%]
> tests/comparators/test_odt.py::test_diff SKIPPED (requires >= 0.7 (0.5 detected)) [ 78%]
> tests/comparators/test_odt.py::test_compare_non_existing SKIPPED (requires >= 0.7 (0.5 detected)) [ 78%]
> tests/comparators/test_ogg.py::test_identification PASSED [ 78%]
> tests/comparators/test_ogg.py::test_no_differences PASSED [ 78%]
> tests/comparators/test_ogg.py::test_diff PASSED [ 78%]
> tests/comparators/test_ogg.py::test_compare_non_existing PASSED [ 79%]
> tests/comparators/test_openssh_pub_key.py::test_identification PASSED [ 79%]
> tests/comparators/test_openssh_pub_key.py::test_no_differences PASSED [ 79%]
> tests/comparators/test_openssh_pub_key.py::test_diff PASSED [ 79%]
> tests/comparators/test_openssh_pub_key.py::test_compare_non_existing PASSED [ 79%]
> tests/comparators/test_openssl.py::test_identification PASSED [ 79%]
> tests/comparators/test_openssl.py::test_no_differences PASSED [ 79%]
> tests/comparators/test_openssl.py::test_differences PASSED [ 80%]
> tests/comparators/test_pcap.py::test_identification PASSED [ 80%]
> tests/comparators/test_pcap.py::test_no_differences PASSED [ 80%]
> tests/comparators/test_pcap.py::test_diff PASSED [ 80%]
> tests/comparators/test_pcap.py::test_compare_non_existing PASSED [ 80%]
> tests/comparators/test_pdf.py::test_identification PASSED [ 80%]
> tests/comparators/test_pdf.py::test_no_differences PASSED [ 80%]
> tests/comparators/test_pdf.py::test_differences_found_with_weird_encoding PASSED [ 81%]
> tests/comparators/test_pdf.py::test_text_diff PASSED [ 81%]
> tests/comparators/test_pdf.py::test_compare_non_existing PASSED [ 81%]
> tests/comparators/test_pdf.py::test_metadata PASSED [ 81%]
> tests/comparators/test_pdf.py::test_annotations PASSED [ 81%]
> tests/comparators/test_pgp.py::test_identification PASSED [ 81%]
> tests/comparators/test_pgp.py::test_no_differences PASSED [ 81%]
> tests/comparators/test_pgp.py::test_diff PASSED [ 81%]
> tests/comparators/test_pgp.py::test_compare_non_existing PASSED [ 82%]
> tests/comparators/test_pgp.py::test_pgp_signature_identification PASSED [ 82%]
> tests/comparators/test_pgp.py::test_pgp_signature PASSED [ 82%]
> tests/comparators/test_pgp.py::test_signed_identification PASSED [ 82%]
> tests/comparators/test_pgp.py::test_signed_diff PASSED [ 82%]
> tests/comparators/test_png.py::test_identification PASSED [ 82%]
> tests/comparators/test_png.py::test_no_differences PASSED [ 82%]
> tests/comparators/test_png.py::test_diff PASSED [ 83%]
> tests/comparators/test_png.py::test_compare_non_existing PASSED [ 83%]
> tests/comparators/test_png.py::test_has_visuals PASSED [ 83%]
> tests/comparators/test_ppu.py::test_identification PASSED [ 83%]
> tests/comparators/test_ppu.py::test_no_differences PASSED [ 83%]
> tests/comparators/test_ppu.py::test_diff PASSED [ 83%]
> tests/comparators/test_ppu.py::test_compare_non_existing PASSED [ 83%]
> tests/comparators/test_ps.py::test_identification PASSED [ 84%]
> tests/comparators/test_ps.py::test_no_differences PASSED [ 84%]
> tests/comparators/test_ps.py::test_internal_diff PASSED [ 84%]
> tests/comparators/test_ps.py::test_text_diff PASSED [ 84%]
> tests/comparators/test_ps.py::test_compare_non_existing PASSED [ 84%]
> tests/comparators/test_python.py::test_identification PASSED [ 84%]
> tests/comparators/test_python.py::test_no_differences SKIPPED (Unstable on 3.10+) [ 84%]
> tests/comparators/test_python.py::test_diff SKIPPED (Only Python 3.9 and 3.10 can de-marshal test1.pyc-renamed) [ 85%]
> tests/comparators/test_python.py::test_compare_non_existing PASSED [ 85%]
> tests/comparators/test_rdata.py::test_identification PASSED [ 85%]
> tests/comparators/test_rdata.py::test_no_differences PASSED [ 85%]
> tests/comparators/test_rdata.py::test_num_items_rdb PASSED [ 85%]
> tests/comparators/test_rdata.py::test_item_rdb PASSED [ 85%]
> tests/comparators/test_rdata.py::test_num_items_rdx PASSED [ 85%]
> tests/comparators/test_rdata.py::test_item_rdx PASSED [ 86%]
> tests/comparators/test_rlib.py::test_identification PASSED [ 86%]
> tests/comparators/test_rlib.py::test_no_differences PASSED [ 86%]
> tests/comparators/test_rlib.py::test_num_items PASSED [ 86%]
> tests/comparators/test_rlib.py::test_item0_armap PASSED [ 86%]
> tests/comparators/test_rlib.py::test_item1_elf PASSED [ 86%]
> tests/comparators/test_rlib.py::test_item2_rust_metadata_bin PASSED [ 86%]
> tests/comparators/test_rlib.py::test_item3_deflate_llvm_bitcode PASSED [ 87%]
> tests/comparators/test_rlib.py::test_compare_non_existing PASSED [ 87%]
> tests/comparators/test_rpm.py::test_identification PASSED [ 87%]
> tests/comparators/test_rpm.py::test_no_differences PASSED [ 87%]
> tests/comparators/test_rpm.py::test_header PASSED [ 87%]
> tests/comparators/test_rpm.py::test_listing PASSED [ 87%]
> tests/comparators/test_rpm.py::test_content PASSED [ 87%]
> tests/comparators/test_rpm.py::test_compare_non_existing PASSED [ 88%]
> tests/comparators/test_rpm.py::test_fallback_comparison PASSED [ 88%]
> tests/comparators/test_sockets.py::test_sockets PASSED [ 88%]
> tests/comparators/test_sphinx.py::test_identification PASSED [ 88%]
> tests/comparators/test_sphinx.py::test_no_differences PASSED [ 88%]
> tests/comparators/test_sphinx.py::test_diff PASSED [ 88%]
> tests/comparators/test_sqlite.py::test_identification PASSED [ 88%]
> tests/comparators/test_sqlite.py::test_no_differences PASSED [ 89%]
> tests/comparators/test_sqlite.py::test_diff PASSED [ 89%]
> tests/comparators/test_sqlite.py::test_compare_non_existing PASSED [ 89%]
> tests/comparators/test_squashfs.py::test_identification PASSED [ 89%]
> tests/comparators/test_squashfs.py::test_no_differences PASSED [ 89%]
> tests/comparators/test_squashfs.py::test_no_warnings PASSED [ 89%]
> tests/comparators/test_squashfs.py::test_superblock PASSED [ 89%]
> tests/comparators/test_squashfs.py::test_symlink PASSED [ 90%]
> tests/comparators/test_squashfs.py::test_compressed_files PASSED [ 90%]
> tests/comparators/test_squashfs.py::test_compare_non_existing PASSED [ 90%]
> tests/comparators/test_squashfs.py::test_symlink_root PASSED [ 90%]
> tests/comparators/test_symlink.py::test_destination PASSED [ 90%]
> tests/comparators/test_tar.py::test_identification PASSED [ 90%]
> tests/comparators/test_tar.py::test_no_differences PASSED [ 90%]
> tests/comparators/test_tar.py::test_listing PASSED [ 90%]
> tests/comparators/test_tar.py::test_symlinks PASSED [ 91%]
> tests/comparators/test_tar.py::test_text_file PASSED [ 91%]
> tests/comparators/test_tar.py::test_compare_non_existing PASSED [ 91%]
> tests/comparators/test_tar.py::test_no_permissions_dir_in_tarball PASSED [ 91%]
> tests/comparators/test_text.py::test_no_differences PASSED [ 91%]
> tests/comparators/test_text.py::test_difference_in_ascii PASSED [ 91%]
> tests/comparators/test_text.py::test_difference_in_unicode PASSED [ 91%]
> tests/comparators/test_text.py::test_difference_between_iso88591_and_unicode PASSED [ 92%]
> tests/comparators/test_text.py::test_difference_between_iso88591_and_unicode_only PASSED [ 92%]
> tests/comparators/test_text.py::test_compare_non_existing PASSED [ 92%]
> tests/comparators/test_text.py::test_ordering_differences PASSED [ 92%]
> tests/comparators/test_uimage.py::test_identification PASSED [ 92%]
> tests/comparators/test_uimage.py::test_no_differences PASSED [ 92%]
> tests/comparators/test_uimage.py::test_file_differences PASSED [ 92%]
> tests/comparators/test_uimage.py::test_nested_listing PASSED [ 93%]
> tests/comparators/test_uimage.py::test_nested_symlink PASSED [ 93%]
> tests/comparators/test_uimage.py::test_nested_compressed_files PASSED [ 93%]
> tests/comparators/test_uimage.py::test_compare_non_existing PASSED [ 93%]
> tests/comparators/test_utils.py::test_tools_missing PASSED [ 93%]
> tests/comparators/test_utils.py::test_skip_unless_tools_exist_empty SKIPPED (requires) [ 93%]
> tests/comparators/test_utils.py::test_skip_unless_tools_exist_missing SKIPPED (requires /missing) [ 93%]
> tests/comparators/test_utils.py::test_fuzzy_matching PASSED [ 94%]
> tests/comparators/test_utils.py::test_fuzzy_matching_only_once PASSED [ 94%]
> tests/comparators/test_utils.py::test_no_fuzzy_matching PASSED [ 94%]
> tests/comparators/test_utils.py::test_no_fuzzy_matching_new_file PASSED [ 94%]
> tests/comparators/test_utils.py::test_trim_stderr_in_command PASSED [ 94%]
> tests/comparators/test_wasm.py::test_identification PASSED [ 94%]
> tests/comparators/test_wasm.py::test_no_differences PASSED [ 94%]
> tests/comparators/test_wasm.py::test_diff PASSED [ 95%]
> tests/comparators/test_wasm.py::test_compare_non_existing PASSED [ 95%]
> tests/comparators/test_xml.py::test_identification PASSED [ 95%]
> tests/comparators/test_xml.py::test_invalid PASSED [ 95%]
> tests/comparators/test_xml.py::test_no_differences PASSED [ 95%]
> tests/comparators/test_xml.py::test_diff PASSED [ 95%]
> tests/comparators/test_xml.py::test_ordering_differences PASSED [ 95%]
> tests/comparators/test_xsb.py::test_identification PASSED [ 96%]
> tests/comparators/test_xsb.py::test_no_differences PASSED [ 96%]
> tests/comparators/test_xsb.py::test_diff PASSED [ 96%]
> tests/comparators/test_xsb.py::test_compare_non_existing PASSED [ 96%]
> tests/comparators/test_xz.py::test_identification PASSED [ 96%]
> tests/comparators/test_xz.py::test_no_differences PASSED [ 96%]
> tests/comparators/test_xz.py::test_content_source PASSED [ 96%]
> tests/comparators/test_xz.py::test_content_source_without_extension PASSED [ 97%]
> tests/comparators/test_xz.py::test_content_diff PASSED [ 97%]
> tests/comparators/test_xz.py::test_compare_non_existing PASSED [ 97%]
> tests/comparators/test_zip.py::test_identification PASSED [ 97%]
> tests/comparators/test_zip.py::test_no_differences PASSED [ 97%]
> tests/comparators/test_zip.py::test_metadata PASSED [ 97%]
> tests/comparators/test_zip.py::test_compressed_files PASSED [ 97%]
> tests/comparators/test_zip.py::test_extra_fields PASSED [ 98%]
> tests/comparators/test_zip.py::test_compare_non_existing PASSED [ 98%]
> tests/comparators/test_zip.py::test_mozzip_identification PASSED [ 98%]
> tests/comparators/test_zip.py::test_mozzip_no_differences PASSED [ 98%]
> tests/comparators/test_zip.py::test_mozzip_metadata PASSED [ 98%]
> tests/comparators/test_zip.py::test_mozzip_compressed_files PASSED [ 98%]
> tests/comparators/test_zip.py::test_mozzip_compare_non_existing PASSED [ 98%]
> tests/comparators/test_zip.py::test_jmod_identification PASSED [ 99%]
> tests/comparators/test_zip.py::test_jmod_no_differences PASSED [ 99%]
> tests/comparators/test_zip.py::test_jmod_metadata PASSED [ 99%]
> tests/comparators/test_zip.py::test_encrypted PASSED [ 99%]
> tests/comparators/test_zip.py::test_commented PASSED [ 99%]
> tests/comparators/test_zst.py::test_identification PASSED [ 99%]
> tests/comparators/test_zst.py::test_no_differences PASSED [ 99%]
> tests/comparators/test_zst.py::test_content_source PASSED [100%]
>
> =================================== FAILURES ===================================
> ___________________________ test_code_is_black_clean ___________________________
>
> @skip_unless_tool_is_at_least("black", black_version, "22.1.0")
> def test_code_is_black_clean():
> output = subprocess.check_output(
> ("black", "--diff", "."), stderr=subprocess.PIPE
> ).decode("utf-8")
>
> # Display diff in "captured stdout call"
> if output:
> print(output)
>
> > assert not output, output
> E AssertionError: --- /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py 2023-02-10 18:31:52 +0000
> E +++ /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py 2023-02-17 01:28:09.400523 +0000
> E @@ -24,11 +24,10 @@
> E
> E
> E def line_eraser(fd=sys.stderr) -> bytes:
> E eraser = b"" # avoid None to avoid 'NoneType + str/bytes' failures
> E if fd.isatty():
> E -
> E curses.setupterm(fd=fd.fileno())
> E eraser = curses.tigetstr("el")
> E
> E if not eraser and fd.isatty():
> E # is a tty, but doesn't support the proper escape code, so let's fake it
> E --- /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py 2023-02-10 18:31:52 +0000
> E +++ /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py 2023-02-17 01:28:10.799449 +0000
> E @@ -54,11 +54,11 @@
> E test_points = zip(
> E [make_socket, make_socket, make_pipe, make_pipe],
> E map(makename, ["socket1", "socket2", "pipe1", "pipe2"]),
> E )
> E yield [(name, f(name)) for (f, name) in test_points]
> E - for (_, name) in test_points:
> E + for _, name in test_points:
> E os.remove(name)
> E
> E
> E @pytest.fixture
> E def expected_results(endpoints):
> E
> E assert not '--- /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py\t2023-02-10 18:31:52 +0000\n+++ /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py\t2023-02-17 01:28:09.400523 +0000\n@@ -24,11 +24,10 @@\n \n \n def line_eraser(fd=sys.stderr) -> bytes:\n eraser = b"" # avoid None to avoid \'NoneType + str/bytes\' failures\n if fd.isatty():\n-\n curses.setupterm(fd=fd.fileno())\n eraser = curses.tigetstr("el")\n \n if not eraser and fd.isatty():\n # is a tty, but doesn\'t support the proper escape code, so let\'s fake it\n--- /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py\t2023-02-10 18:31:52 +0000\n+++ /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py\t2023-02-17 01:28:10.799449 +0000\n@@ -54,11 +54,11 @@\n test_points = zip(\n [make_socket, make_socket, make_pipe, make_pipe],\n map(makename, ["socket1", "socket2", "pipe1", "pipe2"]),\n )\n yield [(name, f(name)) for (f, name) in test_points]\n- for (_, name) in test_points:\n+ for _, name in test_points:\n os.remove(name)\n \n \n @pytest.fixture\n def expected_results(endpoints):\n'
>
> output = ('--- '
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py\t'
> '2023-02-10 18:31:52 +0000\n'
> '+++ '
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py\t'
> '2023-02-17 01:28:09.400523 +0000\n'
> '@@ -24,11 +24,10 @@\n'
> ' \n'
> ' \n'
> ' def line_eraser(fd=sys.stderr) -> bytes:\n'
> ' eraser = b"" # avoid None to avoid \'NoneType + str/bytes\' failures\n'
> ' if fd.isatty():\n'
> '-\n'
> ' curses.setupterm(fd=fd.fileno())\n'
> ' eraser = curses.tigetstr("el")\n'
> ' \n'
> ' if not eraser and fd.isatty():\n'
> " # is a tty, but doesn't support the proper escape code, so let's "
> 'fake it\n'
> '--- '
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py\t'
> '2023-02-10 18:31:52 +0000\n'
> '+++ '
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py\t'
> '2023-02-17 01:28:10.799449 +0000\n'
> '@@ -54,11 +54,11 @@\n'
> ' test_points = zip(\n'
> ' [make_socket, make_socket, make_pipe, make_pipe],\n'
> ' map(makename, ["socket1", "socket2", "pipe1", "pipe2"]),\n'
> ' )\n'
> ' yield [(name, f(name)) for (f, name) in test_points]\n'
> '- for (_, name) in test_points:\n'
> '+ for _, name in test_points:\n'
> ' os.remove(name)\n'
> ' \n'
> ' \n'
> ' @pytest.fixture\n'
> ' def expected_results(endpoints):\n')
>
> tests/test_source.py:47: AssertionError
> ----------------------------- Captured stdout call -----------------------------
> --- /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py 2023-02-10 18:31:52 +0000
> +++ /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/diffoscope/logging.py 2023-02-17 01:28:09.400523 +0000
> @@ -24,11 +24,10 @@
>
>
> def line_eraser(fd=sys.stderr) -> bytes:
> eraser = b"" # avoid None to avoid 'NoneType + str/bytes' failures
> if fd.isatty():
> -
> curses.setupterm(fd=fd.fileno())
> eraser = curses.tigetstr("el")
>
> if not eraser and fd.isatty():
> # is a tty, but doesn't support the proper escape code, so let's fake it
> --- /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py 2023-02-10 18:31:52 +0000
> +++ /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/comparators/test_sockets.py 2023-02-17 01:28:10.799449 +0000
> @@ -54,11 +54,11 @@
> test_points = zip(
> [make_socket, make_socket, make_pipe, make_pipe],
> map(makename, ["socket1", "socket2", "pipe1", "pipe2"]),
> )
> yield [(name, f(name)) for (f, name) in test_points]
> - for (_, name) in test_points:
> + for _, name in test_points:
> os.remove(name)
>
>
> @pytest.fixture
> def expected_results(endpoints):
>
>
> ---------- coverage: platform linux, python 3.11.2-final-0 -----------
> Name Stmts Miss Cover Missing
> --------------------------------------------------------------------------
> diffoscope/__init__.py 1 0 100%
> diffoscope/changes.py 123 52 58% 84, 92, 95, 104, 111, 118, 139, 176, 182, 188, 194-198, 204, 210, 226-229, 232-235, 244, 256-288, 306-308, 313-316, 323, 335
> diffoscope/comparators/__init__.py 47 13 72% 147-153, 158-167
> diffoscope/comparators/android.py 43 1 98% 49
> diffoscope/comparators/apk.py 179 27 85% 48-50, 56, 242, 253-256, 259, 271, 278-282, 290, 294-309, 322, 326
> diffoscope/comparators/ar.py 27 0 100%
> diffoscope/comparators/arsc.py 38 0 100%
> diffoscope/comparators/berkeley_db.py 20 0 100%
> diffoscope/comparators/binary.py 20 0 100%
> diffoscope/comparators/binwalk.py 64 8 88% 32-33, 37-39, 74, 101-102
> diffoscope/comparators/bzip2.py 25 0 100%
> diffoscope/comparators/cbfs.py 89 1 99% 166
> diffoscope/comparators/cpio.py 10 0 100%
> diffoscope/comparators/deb.py 126 9 93% 37-39, 52, 77, 136, 189-191
> diffoscope/comparators/debian.py 169 12 93% 26-30, 87-89, 116-121, 189, 258-262, 282, 358
> diffoscope/comparators/debian_fallback.py 17 0 100%
> diffoscope/comparators/decompile.py 192 99 48% 38-39, 58-59, 62-67, 71, 74, 78, 86-97, 101-109, 116, 119, 122, 132-133, 137, 140, 143, 156-159, 165, 169, 175, 178, 181, 184, 187, 193-204, 207-212, 224-231, 234, 241, 245, 249, 253, 257-260, 264-275, 279-284, 307-327, 330, 336, 339, 342-343, 346-347
> diffoscope/comparators/device.py 48 6 88% 48-51, 86-89
> diffoscope/comparators/dex.py 53 2 96% 38, 77
> diffoscope/comparators/directory.py 159 43 73% 40-43, 98-106, 112-115, 119-143, 173-174, 177, 180-201, 256, 271
> diffoscope/comparators/docx.py 14 0 100%
> diffoscope/comparators/dtb.py 14 0 100%
> diffoscope/comparators/elf.py 347 33 90% 77, 82-83, 221, 236, 243, 341, 385, 407-409, 417, 429-431, 439, 471, 511-520, 528-530, 535, 548, 559, 565, 578-582, 594-599, 688-691
> diffoscope/comparators/ffprobe.py 27 0 100%
> diffoscope/comparators/fit.py 57 2 96% 88, 118
> diffoscope/comparators/fontconfig.py 27 0 100%
> diffoscope/comparators/fonts.py 27 2 93% 55-56
> diffoscope/comparators/fsimage.py 88 20 77% 34-36, 44, 51-52, 59-65, 69-71, 77, 82-83, 87, 132-134
> diffoscope/comparators/gettext.py 37 0 100%
> diffoscope/comparators/gif.py 42 4 90% 56-57, 100-101
> diffoscope/comparators/git.py 29 0 100%
> diffoscope/comparators/gnumeric.py 19 0 100%
> diffoscope/comparators/gzip.py 27 0 100%
> diffoscope/comparators/haskell.py 66 22 67% 37, 85-87, 96, 102-109, 120-145, 148-153
> diffoscope/comparators/hdf.py 14 0 100%
> diffoscope/comparators/html.py 24 2 92% 50-51
> diffoscope/comparators/icc.py 14 2 86% 32, 40
> diffoscope/comparators/image.py 84 6 93% 135-136, 164-165, 184-185
> diffoscope/comparators/ipk.py 4 0 100%
> diffoscope/comparators/iso9660.py 52 20 62% 33, 51, 56-57, 61-68, 71-73, 95, 105-119
> diffoscope/comparators/java.py 51 4 92% 94-97, 106
> diffoscope/comparators/javascript.py 13 0 100%
> diffoscope/comparators/json.py 56 9 84% 34-36, 54-55, 86, 95-96, 104
> diffoscope/comparators/kbx.py 18 1 94% 35
> diffoscope/comparators/llvm.py 22 0 100%
> diffoscope/comparators/lz4.py 28 0 100%
> diffoscope/comparators/lzip.py 27 0 100%
> diffoscope/comparators/macho.py 305 57 81% 94-96, 100, 104, 107, 111-114, 119, 124, 129, 134, 148-151, 155, 159, 162, 166-169, 174-175, 181, 184-185, 190-191, 213, 324, 328, 332-349, 366, 472, 495, 509-512, 538, 559-562, 582, 586, 625, 637-645
> diffoscope/comparators/missing_file.py 55 4 93% 71, 74, 77, 95
> diffoscope/comparators/mono.py 14 0 100%
> diffoscope/comparators/ocaml.py 19 0 100%
> diffoscope/comparators/odt.py 24 3 88% 35, 43-44
> diffoscope/comparators/ogg.py 14 0 100%
> diffoscope/comparators/openssh.py 14 0 100%
> diffoscope/comparators/openssl.py 26 5 81% 56-68, 71-77
> diffoscope/comparators/pcap.py 14 0 100%
> diffoscope/comparators/pdf.py 92 49 47% 39-40, 47-55, 88-106, 120-136, 142-162
> diffoscope/comparators/pe32.py 18 5 72% 31, 41-44, 52
> diffoscope/comparators/pgp.py 59 13 78% 55-72, 75, 79, 82, 103-104, 110-112
> diffoscope/comparators/png.py 32 2 94% 78-79
> diffoscope/comparators/ppu.py 57 16 72% 73, 85-98, 101-107
> diffoscope/comparators/ps.py 25 2 92% 50-51
> diffoscope/comparators/python.py 67 43 36% 48-60, 64-65, 69-82, 86-117, 121-129, 133
> diffoscope/comparators/rdata.py 58 4 93% 93, 104, 108, 170
> diffoscope/comparators/rpm.py 73 1 99% 42
> diffoscope/comparators/rpm_fallback.py 12 0 100%
> diffoscope/comparators/rust.py 32 0 100%
> diffoscope/comparators/socket_or_fifo.py 52 10 81% 45-63, 101
> diffoscope/comparators/sphinx.py 23 2 91% 61-65
> diffoscope/comparators/sqlite.py 14 0 100%
> diffoscope/comparators/squashfs.py 204 34 83% 102, 120, 134, 142, 145, 159, 167, 193-194, 198-199, 205-206, 221, 235-247, 250-251, 254, 257, 286-287, 344, 360-362
> diffoscope/comparators/symlink.py 35 2 94% 58-59
> diffoscope/comparators/tar.py 12 0 100%
> diffoscope/comparators/text.py 27 2 93% 69-71
> diffoscope/comparators/uimage.py 24 0 100%
> diffoscope/comparators/utils/__init__.py 0 0 100%
> diffoscope/comparators/utils/archive.py 102 14 86% 67, 71, 75, 79, 125-126, 145, 148, 151, 160, 163, 170, 173, 178
> diffoscope/comparators/utils/command.py 56 3 95% 63, 77, 105
> diffoscope/comparators/utils/compare.py 101 13 87% 77, 85, 105, 124-125, 141, 160-168
> diffoscope/comparators/utils/container.py 125 11 91% 66, 70, 115-119, 192-195, 211
> diffoscope/comparators/utils/file.py 298 54 82% 39-40, 53-59, 80-94, 116, 122, 296-297, 346-348, 358-360, 368, 372, 376, 380, 445-448, 473-476, 490-493, 501, 505-509, 538, 549-562, 581, 588, 611
> diffoscope/comparators/utils/fuzzy.py 33 2 94% 27-28
> diffoscope/comparators/utils/libarchive.py 197 32 84% 47-50, 54-57, 69-72, 76-79, 83-86, 134-137, 176, 208, 216, 219, 232, 246, 251-252, 255, 258, 272-273, 304, 347-348, 371-387
> diffoscope/comparators/utils/operation.py 26 6 77% 33, 40, 48, 55, 62, 66
> diffoscope/comparators/utils/specialize.py 32 2 94% 78, 81
> diffoscope/comparators/vmlinuz.py 28 9 68% 35, 38, 41, 45-59
> diffoscope/comparators/wasm.py 19 0 100%
> diffoscope/comparators/xml.py 52 3 94% 69, 156-157
> diffoscope/comparators/xmlb.py 19 3 84% 31, 43, 46
> diffoscope/comparators/xsb.py 17 0 100%
> diffoscope/comparators/xz.py 28 0 100%
> diffoscope/comparators/zip.py 158 5 97% 171, 174, 206, 258-259
> diffoscope/comparators/zst.py 26 1 96% 38
> diffoscope/config.py 50 4 92% 83-98
> diffoscope/diff.py 435 60 86% 103, 140, 199, 237, 239, 283-286, 299-327, 409, 555-560, 579-580, 591, 608, 610, 614, 630, 635, 668-669, 672-673, 695-696, 699-709, 717-720, 730-733, 748
> diffoscope/difference.py 232 17 93% 116, 226-230, 249, 284, 291-292, 311, 346-349, 380, 396, 402, 457
> diffoscope/environ.py 13 0 100%
> diffoscope/exc.py 21 0 100%
> diffoscope/excludes.py 24 5 79% 31-36, 43-45
> diffoscope/external_tools.py 5 0 100%
> diffoscope/feeders.py 83 3 96% 36, 116-117
> diffoscope/logging.py 28 4 86% 30-31, 36-37
> diffoscope/main.py 281 67 76% 59-61, 65-67, 73, 450, 458-465, 477-481, 529, 569-614, 631, 686, 700-701, 723, 730-734, 739, 744-752, 770, 772-775, 780-786, 804
> diffoscope/path.py 15 2 87% 30-31
> diffoscope/presenters/__init__.py 0 0 100%
> diffoscope/presenters/formats.py 43 4 91% 99-102
> diffoscope/presenters/html/__init__.py 1 0 100%
> diffoscope/presenters/html/html.py 473 125 74% 82-89, 143-146, 150, 152-154, 268-269, 272, 307, 331, 348-359, 418, 429, 442-446, 451, 458-465, 476, 481-493, 496-511, 542-545, 549-554, 557, 563-567, 592-601, 606-618, 623-637, 652, 672-675, 750, 752, 816, 832, 843-875, 893
> diffoscope/presenters/html/templates.py 11 0 100%
> diffoscope/presenters/icon.py 1 0 100%
> diffoscope/presenters/json.py 32 1 97% 55
> diffoscope/presenters/markdown.py 21 0 100%
> diffoscope/presenters/restructuredtext.py 25 0 100%
> diffoscope/presenters/text.py 44 7 84% 61-66, 71-72, 81-82
> diffoscope/presenters/utils.py 166 14 92% 42, 71, 153, 158, 165, 307, 343, 354, 357, 422-427
> diffoscope/profiling.py 47 3 94% 70-72
> diffoscope/progress.py 168 18 89% 34-36, 45-52, 78, 89-90, 95, 120, 225, 240-241, 249
> diffoscope/readers/__init__.py 9 0 100%
> diffoscope/readers/json.py 17 1 94% 34
> diffoscope/readers/utils.py 2 0 100%
> diffoscope/tempfiles.py 57 9 84% 83-84, 99-105, 123-124
> diffoscope/tools.py 93 13 86% 26-27, 98-99, 109-110, 149, 162, 167, 182-185
> diffoscope/utils.py 38 1 97% 45
> --------------------------------------------------------------------------
> TOTAL 7831 1170 85%
> Coverage HTML written to dir htmlcov
>
> =========================== short test summary info ============================
> SKIPPED [1] tests/comparators/test_icc.py:60: Skipping all ICC tests as cd-iccdump killed with signal
> SKIPPED [1] tests/comparators/test_berkeley_db.py:64: requires >= 6.0 (5.3.28 detected)
> SKIPPED [1] tests/comparators/test_dex.py:89: requires min 9.0.4 >= 14.0 (17.0.6 detected)
> SKIPPED [1] tests/comparators/test_elf_decompiler.py:78: radare2 didn't recognize pdgj command
> SKIPPED [1] tests/comparators/test_elf_decompiler.py:88: radare2 didn't recognize pdgj command
> SKIPPED [1] tests/comparators/test_elf_decompiler.py:98: requires r2pipe Python module
> SKIPPED [1] tests/comparators/test_iso9660.py:53: requires isoinfo (try installing genisoimage)
> SKIPPED [1] tests/comparators/test_iso9660.py:62: requires isoinfo (try installing genisoimage)
> SKIPPED [1] tests/comparators/test_iso9660.py:71: requires isoinfo (try installing genisoimage)
> SKIPPED [1] tests/comparators/test_iso9660.py:78: requires isoinfo (try installing genisoimage)
> SKIPPED [1] tests/comparators/test_iso9660.py:86: requires isoinfo (try installing genisoimage)
> SKIPPED [1] tests/comparators/test_java.py:86: requires min 9.0.4 >= 14.0 (17.0.6 detected)
> SKIPPED [1] tests/comparators/test_macho.py:59: requires otool and lipo
> SKIPPED [1] tests/comparators/test_macho.py:67: requires otool and lipo
> SKIPPED [1] tests/comparators/test_macho_decompiler.py:86: radare2 didn't recognize pdgj command
> SKIPPED [1] tests/comparators/test_macho_decompiler.py:96: radare2 didn't recognize pdgj command
> SKIPPED [1] tests/comparators/test_macho_decompiler.py:109: requires r2pipe Python module
> SKIPPED [1] tests/comparators/test_odt.py:55: requires >= 0.7 (0.5 detected)
> SKIPPED [1] tests/comparators/test_odt.py:60: requires >= 0.7 (0.5 detected)
> SKIPPED [1] tests/comparators/test_python.py:41: Unstable on 3.10+
> SKIPPED [1] tests/comparators/test_python.py:54: Only Python 3.9 and 3.10 can de-marshal test1.pyc-renamed
> SKIPPED [1] tests/comparators/test_utils.py:49: requires
> SKIPPED [1] tests/comparators/test_utils.py:54: requires /missing
> XFAIL tests/comparators/test_apk.py::test_android_manifest
> ======= 1 failed, 687 passed, 23 skipped, 1 xfailed in 193.57s (0:03:13) =======
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest -vv -r sxX -l --cov=diffoscope --cov-report=term-missing --cov-report=html
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/02/16/diffoscope_235_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230216;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230216&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
More information about the Reproducible-builds
mailing list