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