[Qa-jenkins-scm] Build failed in Jenkins: reproducible_diffoscope_from_git #950

jenkins at jenkins.debian.net jenkins at jenkins.debian.net
Mon Nov 16 10:02:57 GMT 2020


See <https://jenkins.debian.net/job/reproducible_diffoscope_from_git/950/display/redirect?page=changes>

Changes:

[lamby] Call format_cmdline with a list to avoid "Command `s p a c e d` failed


------------------------------------------
[...truncated 483.50 KB...]
>           details.extend(self.compare_details(other, source))

details    = []
difference = <Difference /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary1 -- /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary2 []>
other      = <<class 'tests.comparators.test_binary.test_with_compare_details_and_failed_process.<locals>.MockFile'> /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary2>
self       = <<class 'tests.comparators.test_binary.test_with_compare_details_and_failed_process.<locals>.MockFile'> /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary1>
source     = None

diffoscope/comparators/utils/file.py:396: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <<class 'tests.comparators.test_binary.test_with_compare_details_and_failed_process.<locals>.MockFile'> /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary1>
other = <<class 'tests.comparators.test_binary.test_with_compare_details_and_failed_process.<locals>.MockFile'> /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary2>
source = None

    def compare_details(self, other, source=None):
>       subprocess.check_call(["sh", "-c", 'echo "%s"; exit 42' % output])

other      = <<class 'tests.comparators.test_binary.test_with_compare_details_and_failed_process.<locals>.MockFile'> /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary2>
output     = 'Free Jeremy Hammond'
self       = <<class 'tests.comparators.test_binary.test_with_compare_details_and_failed_process.<locals>.MockFile'> /tmp/testrun/.pybuild/cpython3_3.8/build/tests/data/binary1>
source     = None

tests/comparators/test_binary.py:160: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

popenargs = (['sh', '-c', 'echo "Free Jeremy Hammond"; exit 42'],), kwargs = {}
retcode = 42, cmd = ['sh', '-c', 'echo "Free Jeremy Hammond"; exit 42']

    def check_call(*popenargs, **kwargs):
        """Run command with arguments.  Wait for command to complete.  If
        the exit code was zero then return, otherwise raise
        CalledProcessError.  The CalledProcessError object will have the
        return code in the returncode attribute.
    
        The arguments are the same as for the call function.  Example:
    
        check_call(["ls", "-l"])
        """
        retcode = call(*popenargs, **kwargs)
        if retcode:
            cmd = kwargs.get("args")
            if cmd is None:
                cmd = popenargs[0]
>           raise CalledProcessError(retcode, cmd)
E           subprocess.CalledProcessError: Command '['sh', '-c', 'echo "Free Jeremy Hammond"; exit 42']' returned non-zero exit status 42.

cmd        = ['sh', '-c', 'echo "Free Jeremy Hammond"; exit 42']
kwargs     = {}
popenargs  = (['sh', '-c', 'echo "Free Jeremy Hammond"; exit 42'],)
retcode    = 42

/usr/lib/python3.8/subprocess.py:364: CalledProcessError

During handling of the above exception, another exception occurred:

    @skip_unless_tools_exist("xxd")
    def test_with_compare_details_and_failed_process():
        output = "Free Jeremy Hammond"
    
        class MockFile(FilesystemFile):
            def compare_details(self, other, source=None):
                subprocess.check_call(["sh", "-c", 'echo "%s"; exit 42' % output])
                raise Exception("should not be run")
    
>       difference = MockFile(TEST_FILE1_PATH).compare(MockFile(TEST_FILE2_PATH))

MockFile   = <class 'tests.comparators.test_binary.test_with_compare_details_and_failed_process.<locals>.MockFile'>
output     = 'Free Jeremy Hammond'

tests/comparators/test_binary.py:163: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
diffoscope/comparators/utils/file.py:530: in compare
    format_cmdline([e.cmd]),
diffoscope/utils.py:43: in format_cmdline
    result = " ".join(fn(x) for x in cmd)
diffoscope/utils.py:43: in <genexpr>
    result = " ".join(fn(x) for x in cmd)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

x = ['sh', '-c', 'echo "Free Jeremy Hammond"; exit 42']

    def fn(x):
        if x in replace:
            return "{}"
        # Don't expose the full path name of the temporary directory
>       if x.startswith(prefix):
E       AttributeError: 'list' object has no attribute 'startswith'

prefix     = '/tmp'
replace    = ()
x          = ['sh', '-c', 'echo "Free Jeremy Hammond"; exit 42']

diffoscope/utils.py:36: AttributeError
----------------------------- Captured stdout call -----------------------------
Free Jeremy Hammond
--------- generated xml file: /tmp/job-exports/test-results/tests.xml ----------

----------- coverage: platform linux, python 3.8.6-final-0 -----------
Name                                         Stmts   Miss  Cover   Missing
--------------------------------------------------------------------------
diffoscope/__init__.py                           1      0   100%
diffoscope/changes.py                          122     52    57%   85, 93, 96, 105, 112, 119, 140, 177, 183, 189, 195-199, 205, 211, 227-230, 233-236, 245, 257-289, 307-309, 314-317, 324, 336
diffoscope/comparators/__init__.py              47     21    55%   136-142, 147-156, 161-170
diffoscope/comparators/android.py               43      1    98%   50
diffoscope/comparators/apk.py                  119      2    98%   44, 223
diffoscope/comparators/ar.py                    27      0   100%
diffoscope/comparators/berkeley_db.py           20      0   100%
diffoscope/comparators/binary.py                17      0   100%
diffoscope/comparators/binwalk.py               61      6    90%   33-34, 38-40, 75
diffoscope/comparators/bzip2.py                 25      0   100%
diffoscope/comparators/cbfs.py                  89     43    52%   40-41, 47, 50, 56-67, 70, 73, 76, 80-92, 105-115, 146-149, 153-167, 170
diffoscope/comparators/cpio.py                  10      0   100%
diffoscope/comparators/deb.py                  126      9    93%   38-40, 53, 78, 137, 190-192
diffoscope/comparators/debian.py               149      4    97%   78-80, 107-112
diffoscope/comparators/debian_fallback.py       17      0   100%
diffoscope/comparators/decompile.py            193     99    49%   40-41, 60-61, 64-69, 73, 76, 80, 88-99, 103-111, 118, 121, 124, 134-135, 139, 142, 145, 158-161, 167, 171, 177, 180, 183, 186, 192-203, 206-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                49      6    88%   50-53, 88-91
diffoscope/comparators/dex.py                   29      1    97%   37
diffoscope/comparators/directory.py            155     20    87%   55-58, 104, 116, 123-125, 132-135, 166-167, 169, 172-173, 184-185, 249
diffoscope/comparators/docx.py                  14      0   100%
diffoscope/comparators/dtb.py                   14      0   100%
diffoscope/comparators/elf.py                  311     30    90%   77, 85-86, 216, 231, 326, 370, 392-394, 402, 414-416, 424, 455, 487-496, 504, 517, 528, 534, 547-551, 563-568, 625-628
diffoscope/comparators/ffprobe.py               27      0   100%
diffoscope/comparators/fontconfig.py            26      0   100%
diffoscope/comparators/fonts.py                 16      0   100%
diffoscope/comparators/fsimage.py               85     18    79%   34-36, 44, 51-52, 59-65, 69-71, 77, 82-83, 87, 132
diffoscope/comparators/gettext.py               37      0   100%
diffoscope/comparators/gif.py                   42      4    90%   57-58, 101-102
diffoscope/comparators/git.py                   29      0   100%
diffoscope/comparators/gnumeric.py              19      7    63%   37-47, 58-70
diffoscope/comparators/gzip.py                  27      0   100%
diffoscope/comparators/haskell.py               60     13    78%   38, 48, 86-88, 97, 103-110, 114, 125-126, 143, 146
diffoscope/comparators/hdf.py                   14      0   100%
diffoscope/comparators/icc.py                   14      0   100%
diffoscope/comparators/image.py                 84      6    93%   136-137, 165-166, 185-186
diffoscope/comparators/ipk.py                    4      0   100%
diffoscope/comparators/iso9660.py               52      3    94%   34, 73, 96
diffoscope/comparators/java.py                  51      4    92%   95-98, 107
diffoscope/comparators/javascript.py            13      0   100%
diffoscope/comparators/json.py                  52      9    83%   34-36, 54-55, 81, 90-91, 95
diffoscope/comparators/kbx.py                   18      1    94%   36
diffoscope/comparators/llvm.py                  22      0   100%
diffoscope/comparators/lz4.py                   28      0   100%
diffoscope/comparators/macho.py                 57     28    51%   33-35, 39, 42, 46-49, 54, 59, 64, 69, 82-90, 96-152
diffoscope/comparators/missing_file.py          53      3    94%   72, 75, 94
diffoscope/comparators/mono.py                  14      0   100%
diffoscope/comparators/ocaml.py                 19      0   100%
diffoscope/comparators/odt.py                   14      0   100%
diffoscope/comparators/ogg.py                   14      0   100%
diffoscope/comparators/openssh.py               14      0   100%
diffoscope/comparators/openssl.py               23      2    91%   38, 70
diffoscope/comparators/pcap.py                  14      0   100%
diffoscope/comparators/pdf.py                   46      5    89%   31-33, 56, 90
diffoscope/comparators/pe32.py                  18      5    72%   32, 42-45, 53
diffoscope/comparators/pgp.py                   59      5    92%   73, 104-105, 111-113
diffoscope/comparators/png.py                   32      2    94%   79-80
diffoscope/comparators/ppu.py                   57     16    72%   74, 86-99, 102-108
diffoscope/comparators/ps.py                    25      2    92%   51-52
diffoscope/comparators/rdata.py                 58     21    64%   92-118, 155, 158, 166-172
diffoscope/comparators/rpm.py                   71      2    97%   42, 49
diffoscope/comparators/rpm_fallback.py          11      0   100%
diffoscope/comparators/rust.py                  32      0   100%
diffoscope/comparators/sqlite.py                14      0   100%
diffoscope/comparators/squashfs.py             171     33    81%   99, 117, 131, 139, 142, 156, 164, 186-208, 211-214, 217, 220, 247-248, 290-292
diffoscope/comparators/symlink.py               35      2    94%   59-60
diffoscope/comparators/tar.py                   12      0   100%
diffoscope/comparators/text.py                  27      2    93%   72-74
diffoscope/comparators/utils/__init__.py         0      0   100%
diffoscope/comparators/utils/archive.py         98     13    87%   56, 60, 64, 68, 109-110, 126, 129, 132, 141, 151, 154, 159
diffoscope/comparators/utils/command.py         56      3    95%   64, 78, 106
diffoscope/comparators/utils/compare.py         93     12    87%   78, 93, 110-111, 124, 137-145
diffoscope/comparators/utils/container.py      119      7    94%   67, 71, 116-120, 208
diffoscope/comparators/utils/file.py           275     49    82%   40-41, 54-60, 89-99, 112, 283-298, 345-347, 354, 358, 362, 447-450, 458-461, 502, 513-526, 545, 553, 563, 569, 577-579
diffoscope/comparators/utils/fuzzy.py           29      2    93%   28-29
diffoscope/comparators/utils/libarchive.py     182     22    88%   46-49, 53-56, 68-71, 75-78, 82-85, 133-136, 175, 204, 212, 215, 228, 242, 256-257, 325-326
diffoscope/comparators/utils/operation.py       26      6    77%   34, 41, 49, 56, 63, 67
diffoscope/comparators/utils/specialize.py      32      2    94%   79, 82
diffoscope/comparators/wasm.py                  19      0   100%
diffoscope/comparators/xml.py                   48      3    94%   68, 151-152
diffoscope/comparators/xsb.py                   17      0   100%
diffoscope/comparators/xz.py                    28      0   100%
diffoscope/comparators/zip.py                  138      5    96%   149, 152, 184, 209-210
diffoscope/comparators/zst.py                   26      1    96%   39
diffoscope/config.py                            43      4    91%   77-88
diffoscope/diff.py                             425     58    86%   102, 139, 192, 229, 231-233, 275-278, 291-319, 369, 400, 558-559, 570, 587, 589, 593, 608, 613, 646-647, 650-651, 673-674, 677-687, 695-698, 708-711, 726
diffoscope/difference.py                       210     16    92%   118, 220-224, 237, 272, 279-280, 317-320, 363, 369, 393, 424
diffoscope/environ.py                           13      0   100%
diffoscope/exc.py                               21      0   100%
diffoscope/excludes.py                          24      5    79%   32-37, 44-46
diffoscope/external_tools.py                     4      0   100%
diffoscope/feeders.py                           81      2    98%   117-118
diffoscope/logging.py                           28      4    86%   31-32, 37-38
diffoscope/main.py                             282     71    75%   63-65, 69-71, 77, 431, 439-446, 458-462, 469-495, 509, 536, 564-594, 611, 665, 675-676, 681-688, 705, 712-713, 718, 723-731, 749, 751-754, 759-765, 780
diffoscope/path.py                               7      0   100%
diffoscope/presenters/__init__.py                0      0   100%
diffoscope/presenters/formats.py                37      4    89%   98-101
diffoscope/presenters/html/__init__.py           1      0   100%
diffoscope/presenters/html/html.py             472    125    74%   83-90, 144-147, 151, 153-155, 269-270, 273, 308, 335, 352-363, 422, 433, 446-450, 455, 462-469, 480, 485-497, 500-515, 546-549, 553-558, 561, 567-571, 596-605, 610-622, 627-641, 656, 676-679, 754, 756, 820, 836, 847-879, 897
diffoscope/presenters/html/templates.py         11      0   100%
diffoscope/presenters/icon.py                    1      0   100%
diffoscope/presenters/json.py                   32      1    97%   56
diffoscope/presenters/markdown.py               19      0   100%
diffoscope/presenters/restructuredtext.py       25      0   100%
diffoscope/presenters/text.py                   44      7    84%   62-67, 72-73, 82-83
diffoscope/presenters/utils.py                 166     14    92%   43, 72, 154, 159, 166, 308, 344, 355, 358, 423-428
diffoscope/profiling.py                         40      0   100%
diffoscope/progress.py                         168     18    89%   35-37, 46-53, 79, 90-91, 96, 121, 226, 241-242, 250
diffoscope/readers/__init__.py                   9      0   100%
diffoscope/readers/json.py                      17      1    94%   35
diffoscope/readers/utils.py                      2      0   100%
diffoscope/tempfiles.py                         48     11    77%   56-57, 66-78
diffoscope/tools.py                             70     13    81%   26-27, 57-58, 68-69, 108, 121, 126, 141-144
diffoscope/utils.py                             38      1    97%   46
--------------------------------------------------------------------------
TOTAL                                         6772    967    86%
Coverage HTML written to dir htmlcov

=========================== short test summary info ============================
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/test_presenters.py:89: requires file (try installing file) >= 5.39 (5.38 detected)
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_apk.py:76: requires apktool (try installing apktool) >= 2.5.0 (2.4.1-dirty detected)
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_cbfs.py:101: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_cbfs.py:106: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_cbfs.py:111: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_cbfs.py:123: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_cbfs.py:135: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_cbfs.py:143: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_elf_decompiler.py:79: radare2 didn't recognize pdgj command
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_elf_decompiler.py:89: radare2 didn't recognize pdgj command
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_elf_decompiler.py:99: requires r2pipe Python module
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_gnumeric.py:46: requires ssconvert (try installing gnumeric)
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_gnumeric.py:51: requires ssconvert (try installing gnumeric)
SKIPPED [1] /tmp/testrun/.pybuild/cpython3_3.8/build/tests/comparators/test_haskell.py:37: mismatch between system ghc and fixture
SKIPPED [1] /tmp/testrun/.pybuild/cpython3_3.8/build/tests/comparators/test_haskell.py:54: mismatch between system ghc and fixture
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_macho.py:50: requires otool and lipo
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_macho.py:58: requires otool and lipo
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_utils.py:50: requires
SKIPPED [1] .pybuild/cpython3_3.8/build/tests/comparators/test_utils.py:55: requires /missing
============== 1 failed, 432 passed, 19 skipped in 698.06 seconds ==============
E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd /tmp/testrun/.pybuild/cpython3_3.8/build; python3.8 -m pytest -vv -r sxX -l --cov=diffoscope --cov-report=term-missing --cov-report=html --junit-xml=/tmp/job-exports/test-results/tests.xml
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.8" returned exit code 13
make: *** [debian/rules:35: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui failed
'/chroots/chroot-run-sid.KMZNYwKVW//tmp/job-exports/test-results' -> '<https://jenkins.debian.net/job/reproducible_diffoscope_from_git/ws/job-exports/test-results'>
'/chroots/chroot-run-sid.KMZNYwKVW//tmp/job-exports/test-results/tests.xml' -> '<https://jenkins.debian.net/job/reproducible_diffoscope_from_git/ws/job-exports/test-results/tests.xml'>
Mon 16 Nov 10:02:56 UTC 2020 - chroot-run.sh stopped running as /tmp/jenkins-script-lSZxIezt, which will now be removed.
Build step 'Execute shell' marked build as failure



More information about the Qa-jenkins-scm mailing list