Bug#971131: diffoscope: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.8 returned exit code 13

Lucas Nussbaum lucas at debian.org
Sun Sep 27 19:44:27 BST 2020


Source: diffoscope
Version: 160
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200926 ftbfs-bullseye

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:284: flake8 --config=/dev/null --select=F821
> I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8/build; python3.8 -m pytest -vv -r sxX -l --cov=diffoscope --cov-report=term-missing --cov-report=html
> ============================= test session starts ==============================
> platform linux -- Python 3.8.6, pytest-4.6.11, py-1.9.0, pluggy-0.13.0 -- /usr/bin/python3.8
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> plugins: cov-2.8.1
> collecting ... collected 447 items / 1 errors / 446 selected
> 
> ==================================== ERRORS ====================================
> ______ ERROR collecting .pybuild/cpython3_3.8/build/tests/test_source.py _______
> tests/test_source.py:245: in <module>
>     ???
> tests/utils/tools.py:121: in skip_unless_tool_is_at_least
>     vcls(str(actual_ver)) < vcls(str(min_ver)),
> /usr/lib/python3.8/distutils/version.py:52: in __lt__
>     c = self._cmp(other)
> /usr/lib/python3.8/distutils/version.py:335: in _cmp
>     if self.version == other.version:
> E   AttributeError: 'LooseVersion' object has no attribute 'version'
> ------------------------------- Captured stderr --------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/black/__init__.py", line 63, in <module>
>     from black._black_version import version as __version__
> ModuleNotFoundError: No module named 'black._black_version'
> 
> During handling of the above exception, another exception occurred:
> 
> Traceback (most recent call last):
>   File "/usr/bin/black", line 33, in <module>
>     sys.exit(load_entry_point('black==20.8b1', 'console_scripts', 'black')())
>   File "/usr/bin/black", line 25, in importlib_load_entry_point
>     return next(matches).load()
>   File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
>     module = import_module(match.group('module'))
>   File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
>   File "<frozen importlib._bootstrap_external>", line 783, in exec_module
>   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
>   File "/usr/lib/python3/dist-packages/black/__init__.py", line 65, in <module>
>     from _black_version import version as __version__
> ModuleNotFoundError: No module named '_black_version'
> 
> ----------- coverage: platform linux, python 3.8.6-final-0 -----------
> Name                                         Stmts   Miss  Cover   Missing
> --------------------------------------------------------------------------
> diffoscope/__init__.py                           1      0   100%
> diffoscope/changes.py                          122     86    30%   84-96, 105, 112, 119, 127, 131, 140, 149, 162, 171, 177, 183, 189, 195-199, 205, 211, 227-230, 233-236, 243-247, 257-289, 303-343
> diffoscope/comparators/__init__.py              47     34    28%   118-121, 124-157, 160-169
> diffoscope/comparators/android.py               43     15    65%   39, 42-44, 50, 54-69, 72, 75, 78, 87
> diffoscope/comparators/apk.py                  119     79    34%   44, 49-129, 132, 137-139, 142, 145, 148, 151-178, 181-187, 198-200, 219-225, 229-242
> diffoscope/comparators/ar.py                    27      9    67%   42-53, 59, 68
> diffoscope/comparators/berkeley_db.py           20      7    65%   32, 35-41, 49
> diffoscope/comparators/binary.py                17      7    59%   29-30, 34, 37, 40, 43-44
> diffoscope/comparators/binwalk.py               61     35    43%   33-34, 38-40, 45-47, 56, 59, 62, 65, 74-119, 122-129
> diffoscope/comparators/bzip2.py                 25      8    68%   35, 38, 41, 45-53
> diffoscope/comparators/cbfs.py                  89     52    42%   40-41, 47, 50, 56-67, 70, 73, 76, 80-92, 105-115, 131-167, 170
> diffoscope/comparators/cpio.py                  10      1    90%   36
> diffoscope/comparators/deb.py                  126     81    36%   38-40, 48-62, 71-80, 84-93, 96-111, 120-132, 136-147, 150, 164, 181-190, 193-195, 198, 214-233, 241, 249
> diffoscope/comparators/debian.py               149     93    38%   38-40, 44, 48, 52, 57, 60, 63, 68-69, 73-84, 87-88, 91-114, 117, 120, 130-137, 141-148, 151-214, 224-234, 237-258, 267-273, 278-292, 303-310
> diffoscope/comparators/debian_fallback.py       17     17     0%   21-47
> diffoscope/comparators/device.py                49     29    41%   39, 42-44, 47-53, 56-59, 63-65, 68-71, 74-75, 86-92
> diffoscope/comparators/dex.py                   29      8    72%   37, 40, 43, 46, 50-57
> diffoscope/comparators/directory.py            155    100    35%   40-50, 55-58, 73, 83-90, 100-108, 114-117, 121-145, 151-189, 193, 201, 205, 210, 214, 218, 222-223, 227-229, 232, 236, 239-263, 268, 271-276
> diffoscope/comparators/docx.py                  14      2    86%   32, 40
> diffoscope/comparators/dtb.py                   14      2    86%   34, 42
> diffoscope/comparators/elf.py                  306    186    39%   60-65, 69, 76, 79-85, 89, 94, 99, 104, 109, 113, 118, 122, 127, 131, 136, 140, 145, 149, 154, 170-180, 183-185, 189, 192, 199, 209-212, 215, 219, 227-232, 245, 255-256, 261, 277-285, 290-291, 295, 299, 305, 308, 311, 314, 317, 321, 325, 330, 333, 343-371, 376, 386-403, 408-425, 439-498, 502-613, 616, 619, 625, 634-646
> diffoscope/comparators/ffprobe.py               27     10    63%   33-35, 39, 43, 46-50, 58
> diffoscope/comparators/fontconfig.py            26     16    38%   33, 44-63, 81-92
> diffoscope/comparators/fonts.py                 16      3    81%   33, 36, 44
> diffoscope/comparators/fsimage.py               85     62    27%   34-36, 43-73, 76-83, 86-88, 91-94, 108-115, 118-135
> diffoscope/comparators/gettext.py               37     19    49%   38-40, 44, 47-68, 76
> diffoscope/comparators/gif.py                   42     20    52%   43, 46-48, 53-58, 62, 74-104
> diffoscope/comparators/git.py                   29     15    48%   35, 46-48, 52-78, 82-85, 97
> diffoscope/comparators/gnumeric.py              19      7    63%   37-47, 58-70
> diffoscope/comparators/gzip.py                  27      8    70%   36, 39, 42, 46-54
> diffoscope/comparators/haskell.py               60     36    40%   38, 48, 79-143, 146
> diffoscope/comparators/hdf.py                   14      2    86%   32, 40
> diffoscope/comparators/icc.py                   14      2    86%   33, 41
> diffoscope/comparators/image.py                 84     46    45%   41, 45, 74, 79-100, 105-125, 130, 134-137, 145-167, 180-216, 221-225
> diffoscope/comparators/ipk.py                    4      0   100%
> diffoscope/comparators/iso9660.py               52     28    46%   34, 52, 57-58, 62-69, 72-74, 84-96, 99-120
> diffoscope/comparators/java.py                  51     27    47%   38-39, 43, 46-48, 53-54, 58, 69-74, 84-108
> diffoscope/comparators/javascript.py            13      2    85%   31, 39
> diffoscope/comparators/json.py                  52     33    37%   34-36, 45-57, 60-77, 80-97, 105-107
> diffoscope/comparators/kbx.py                   18      5    72%   32, 35-37, 45
> diffoscope/comparators/llvm.py                  22     22     0%   22-65
> diffoscope/comparators/lz4.py                   28      8    71%   36, 39, 42, 46-52
> diffoscope/comparators/macho.py                 57     30    47%   33-35, 39, 42, 46-49, 54, 59, 64, 69, 82-90, 93-152
> diffoscope/comparators/missing_file.py          53     24    55%   43-46, 49-51, 55, 59, 63, 66, 69, 72, 75, 82-96, 101, 105, 110
> diffoscope/comparators/mono.py                  14      2    86%   34, 42
> diffoscope/comparators/ocaml.py                 19      6    68%   32, 35-38, 46
> diffoscope/comparators/odt.py                   14      2    86%   32, 40
> diffoscope/comparators/ogg.py                   14      2    86%   32, 40
> diffoscope/comparators/openssh.py               14      2    86%   33, 41
> diffoscope/comparators/openssl.py               23      4    83%   30, 38, 55, 70
> diffoscope/comparators/pcap.py                  14      2    86%   32, 47
> diffoscope/comparators/pdf.py                   46     27    41%   31-33, 39, 45, 53-79, 83-96
> diffoscope/comparators/pe32.py                  18     18     0%   20-53
> diffoscope/comparators/pgp.py                   59     26    56%   40, 56-73, 76, 80, 83, 96-113, 116, 129-140
> diffoscope/comparators/png.py                   32     13    59%   42, 45, 53-82
> diffoscope/comparators/ppu.py                   57     36    37%   41, 50-53, 56-61, 70-110, 113
> diffoscope/comparators/ps.py                    25     10    60%   37, 45-56
> diffoscope/comparators/rdata.py                 58     58     0%   21-172
> diffoscope/comparators/rpm.py                   71     46    35%   40-56, 60-73, 78-84, 91, 94, 97, 101-106, 114
> diffoscope/comparators/rpm_fallback.py          11      5    55%   32-38
> diffoscope/comparators/rust.py                  32     32     0%   22-69
> diffoscope/comparators/sqlite.py                14      2    86%   33, 41
> diffoscope/comparators/squashfs.py             171     90    47%   47, 51, 59, 68, 71, 74, 80, 85, 97-100, 103, 115-118, 121, 124, 127, 131, 136, 139, 142, 154-157, 160-161, 164, 168, 182-208, 211-214, 217, 220, 235, 238, 241-243, 247-248, 251-252, 255-304, 318
> diffoscope/comparators/symlink.py               35     18    49%   37, 41, 44-47, 51-53, 56-62, 65-66
> diffoscope/comparators/tar.py                   12      1    92%   39
> diffoscope/comparators/text.py                  27     17    37%   35-37, 40-74
> diffoscope/comparators/utils/__init__.py         0      0   100%
> diffoscope/comparators/utils/archive.py         98     51    48%   37-39, 42-44, 47-48, 52, 56, 60, 64, 68, 71, 74-79, 84-87, 91-101, 104-112, 115, 118, 121, 126, 129, 132, 138, 141, 144, 147, 151, 154, 159
> diffoscope/comparators/utils/command.py         56     30    46%   37-57, 60, 64, 68, 71-72, 75, 78, 81, 84-100, 105-108, 112, 116-118
> diffoscope/comparators/utils/compare.py         93     68    27%   47, 51-80, 84-126, 134-145, 149-165, 171-175
> diffoscope/comparators/utils/container.py      119     83    30%   46-51, 54-59, 63, 67, 71, 74, 79-80, 83, 96, 103-120, 123-128, 131-185, 190-218, 225, 228
> diffoscope/comparators/utils/file.py           275    199    28%   40-41, 50-61, 65, 73-76, 82-99, 102-103, 106, 112, 117-118, 121, 149-175, 193-222, 231-235, 240, 244, 250-292, 296-298, 302-304, 308-311, 315-323, 329-344, 348, 352, 356, 359-371, 378-383, 386-429, 432-457, 461, 470-559, 562, 570-572
> diffoscope/comparators/utils/fuzzy.py           29     22    24%   28-29, 35-66
> diffoscope/comparators/utils/libarchive.py     182    113    38%   46-49, 53-56, 68-71, 75-78, 82-85, 124-175, 180, 183, 186, 189, 194, 197, 200, 204, 209, 212, 215, 220-221, 225, 228, 233-236, 239, 242, 250, 253, 256-257, 260-264, 267-274, 277-278, 281-288, 291-328, 336-344, 349-365
> diffoscope/comparators/utils/operation.py       26     10    62%   28-30, 34, 41, 49, 53, 56, 63, 67
> diffoscope/comparators/utils/specialize.py      32     24    25%   32-50, 54-72, 78-83
> diffoscope/comparators/wasm.py                  19      5    74%   33, 42-45, 48
> diffoscope/comparators/xml.py                   48     27    44%   48-53, 67-75, 100-109, 122-132, 148-152
> diffoscope/comparators/xsb.py                   17      5    71%   30, 33-35, 43
> diffoscope/comparators/xz.py                    28      8    71%   36, 39, 42, 46-54
> diffoscope/comparators/zip.py                  138     75    46%   49, 53-62, 68, 76-78, 82-86, 99-112, 118, 126-132, 137, 140, 143, 146, 149, 152, 157, 160, 163, 169-184, 187-190, 201-212, 219-232, 244, 255
> diffoscope/comparators/zst.py                   26      8    69%   36, 39, 42, 46-52
> diffoscope/config.py                            43     32    26%   38-40, 44-68, 71, 74-88, 95-96
> diffoscope/diff.py                             425    365    14%   62-72, 76, 80, 83-87, 90-116, 119-156, 159-170, 175-199, 204-210, 213-214, 217, 220-244, 247-250, 275-278, 291-319, 323-330, 334-337, 343-370, 374-382, 394, 399-405, 410-431, 443-489, 494-507, 514-517, 520-530, 534, 541-570, 573-580, 583-619, 640-728
> diffoscope/difference.py                       210    145    31%   45-76, 79, 86-87, 103, 117-121, 133-134, 137, 148-152, 156, 170, 178-181, 184-189, 200-206, 212-224, 228, 237, 246, 255, 261-322, 326, 330, 333-335, 339, 343, 347, 351, 355, 359, 362-365, 368-371, 378-395, 398-399, 404-406, 410, 414, 418, 421, 424
> diffoscope/environ.py                           13      8    38%   33-60
> diffoscope/exc.py                               21     13    38%   26-28, 33-34, 37-50, 55-57
> diffoscope/excludes.py                          24     16    33%   30-38, 42-48, 52-56
> diffoscope/external_tools.py                     4      0   100%
> diffoscope/feeders.py                           81     62    23%   37, 42, 47-65, 69-106, 110-120, 124-146, 150-157, 161-164
> diffoscope/logging.py                           28     20    29%   28-40, 45-66
> diffoscope/main.py                             282    230    18%   63-65, 69-71, 76-78, 83, 87-465, 470-496, 501-505, 510, 515-516, 521-552, 557-558, 565-595, 599-647, 657-709, 713-714, 718-777, 781
> diffoscope/path.py                               7      1    86%   28
> diffoscope/presenters/__init__.py                0      0   100%
> diffoscope/presenters/formats.py                37     22    41%   37-40, 43, 46-82, 88-104, 111
> diffoscope/presenters/html/__init__.py           1      0   100%
> diffoscope/presenters/html/html.py             472    396    16%   83-90, 94, 104-107, 111, 115-129, 133-160, 164-168, 187-228, 246-303, 307-324, 333-339, 344-347, 352-363, 378, 385-386, 389-398, 401-403, 406-413, 418-442, 446-450, 455, 462-469, 472-497, 500-515, 518-526, 538-576, 579-641, 648, 651-652, 656, 659-689, 692-695, 701-838, 841-879, 893-913, 919-923, 927, 938
> diffoscope/presenters/html/templates.py         11      0   100%
> diffoscope/presenters/icon.py                    1      0   100%
> diffoscope/presenters/json.py                   32     23    28%   31-34, 37-43, 46-65
> diffoscope/presenters/markdown.py               19     14    26%   25-26, 29-44, 47-50
> diffoscope/presenters/restructuredtext.py       25     19    24%   27-28, 31-48, 51-58
> diffoscope/presenters/text.py                   44     28    36%   42-47, 51-67, 70-73, 76-91, 94
> diffoscope/presenters/utils.py                 166    106    36%   31-32, 38-44, 51, 55-56, 59, 62-69, 72, 81, 94-108, 112-124, 130, 133, 136-137, 141, 151, 154, 157-160, 163, 166, 279-297, 300, 308, 312, 315, 320-336, 339, 343-346, 350, 354-359, 363, 373, 386, 408-413, 416-419, 423-428
> diffoscope/profiling.py                         40     25    38%   32-36, 43-46, 54, 57-61, 64-70, 73-88
> diffoscope/progress.py                         168    128    24%   35-37, 42-43, 46-53, 60-63, 66-67, 70-98, 101-102, 105-108, 111-112, 115-124, 127-128, 133-140, 143-144, 147-148, 151-185, 188, 191-195, 198-201, 204, 209-265, 268-272, 275, 280, 283, 289
> diffoscope/readers/__init__.py                   9      4    56%   29-31, 35
> diffoscope/readers/json.py                      17     10    41%   33-38, 41-47
> diffoscope/readers/utils.py                      2      0   100%
> diffoscope/tempfiles.py                         48     38    21%   31-36, 40-45, 49-79, 83-92, 103-105
> diffoscope/tools.py                             70     24    66%   26-27, 51, 55-58, 62-71, 96-100, 108, 112-113, 121, 126, 141-144
> diffoscope/utils.py                             38     31    18%   26-44, 50-55, 59-70, 74-79
> --------------------------------------------------------------------------
> TOTAL                                         6574   4183    36%
> Coverage HTML written to dir htmlcov
> 
> !!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
> =========================== 1 error in 4.28 seconds ============================
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=2: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8/build; python3.8 -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.8 returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/09/26/diffoscope_160_unstable.log

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!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Reproducible-builds mailing list