[Qa-jenkins-scm] Build failed in Jenkins: reproducible_diffoscope_from_git_master #671

jenkins at jenkins.debian.net jenkins at jenkins.debian.net
Fri Aug 16 01:04:06 BST 2019


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

Changes:

[lamby] Simplify parsing of optional "command_args" argument to

[lamby] Add support to Difference.from_command_exc and friends to ignore

[lamby] Don't fallback to a (useless) raw hexdump when, for example, readelf(1)

------------------------------------------
[...truncated 523.52 KB...]
                    '\n[…]' if len(command.stdout) > 1 else '',
                )
            raise subprocess.CalledProcessError(
>               returncode, command.cmdline(), output=output
            )
E           subprocess.CalledProcessError: Command '['isoinfo', '-l', '-i', '/tmp/testrun/.pybuild/cpython3_3.7/build/tests/data/test1.iso', '-J', '-j', 'iso8859-15']' returned non-zero exit status 255.

command    = <diffoscope.comparators.iso9660.ISO9660Listing object at 0x7f4104980490>
end_nl     = False
feeder     = <function from_raw_reader.<locals>.feeder at 0x7f4104b707a0>
out_file   = <_io.BufferedWriter name=10>
output     = 'isoinfo: Unable to find Joliet SVD\n'
returncode = 255

diffoscope/feeders.py:105: CalledProcessError

During handling of the above exception, another exception occurred:

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f41046af290>
iso1 = <<class 'abc.Iso9660File'> /tmp/testrun/.pybuild/cpython3_3.7/build/tests/data/test1.iso>

    @skip_unless_tools_exist('isoinfo')
    def test_compare_non_existing(monkeypatch, iso1):
        monkeypatch.setattr(Config(), 'new_file', True)
>       difference = iso1.compare(MissingFile('/nonexisting', iso1))

iso1       = <<class 'abc.Iso9660File'> /tmp/testrun/.pybuild/cpython3_3.7/build/tests/data/test1.iso>
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f41046af290>

tests/comparators/test_iso9660.py:92: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
diffoscope/comparators/utils/file.py:430: in compare
    difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:348: in _compare_using_details
    details.extend(self.compare_details(other, source))
diffoscope/comparators/iso9660.py:113: in compare_details
    command_args=(x,),
diffoscope/difference.py:255: in from_command
    klass, path1, path2, *args, **kwargs
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

klass = <class 'diffoscope.comparators.iso9660.ISO9660Listing'>
path1 = '/tmp/testrun/.pybuild/cpython3_3.7/build/tests/data/test1.iso'
path2 = '/dev/null', args = ()
kwargs = {'source': 'isoinfo -l -i {} -J -j iso8859-15'}
ignore_returncodes = ()
command_and_feeder = <function Difference.from_command_exc.<locals>.command_and_feeder at 0x7f41049f5680>
feeder1 = <function from_command.<locals>.feeder at 0x7f41049f5d40>
command1 = <diffoscope.comparators.iso9660.ISO9660Listing object at 0x7f4104980490>
excluded1 = False, feeder2 = <function empty.<locals>.feeder at 0x7f4104b70680>
command2 = None, excluded2 = False
source_cmd = <diffoscope.comparators.iso9660.ISO9660Listing object at 0x7f4104980490>

    @staticmethod
    def from_command_exc(klass, path1, path2, *args, **kwargs):
        command_args = kwargs.pop('command_args', [])
        ignore_returncodes = kwargs.pop('ignore_returncodes', ())
    
        def command_and_feeder(path):
            command = None
            if path == '/dev/null':
                feeder = feeders.empty()
            else:
                command = klass(path, *command_args)
                feeder = feeders.from_command(command)
                if command_excluded(command.shell_cmdline()):
                    return None, None, True
                command.start()
            return feeder, command, False
    
        feeder1, command1, excluded1 = command_and_feeder(path1)
        feeder2, command2, excluded2 = command_and_feeder(path2)
        if not feeder1 or not feeder2:
            assert excluded1 or excluded2
            return None, True
    
        if 'source' not in kwargs:
            source_cmd = command1 or command2
            kwargs['source'] = source_cmd.shell_cmdline()
    
        try:
            difference = Difference.from_feeder(
                feeder1, feeder2, path1, path2, *args, **kwargs
            )
        except subprocess.CalledProcessError as exc:
            if exc.returncode in ignore_returncodes:
                return None, False
>           assert False, exc.__dict__
E           AssertionError: {'returncode': 255, 'cmd': ['isoinfo', '-l', '-i', '/tmp/testrun/.pybuild/cpython3_3.7/build/tests/data/test1.iso', '-J', '-j', 'iso8859-15'], 'output': 'isoinfo: Unable to find Joliet SVD\n', 'stderr': None}

args       = ()
command1   = <diffoscope.comparators.iso9660.ISO9660Listing object at 0x7f4104980490>
command2   = None
command_and_feeder = <function Difference.from_command_exc.<locals>.command_and_feeder at 0x7f41049f5680>
command_args = ('joliet',)
excluded1  = False
excluded2  = False
feeder1    = <function from_command.<locals>.feeder at 0x7f41049f5d40>
feeder2    = <function empty.<locals>.feeder at 0x7f4104b70680>
ignore_returncodes = ()
klass      = <class 'diffoscope.comparators.iso9660.ISO9660Listing'>
kwargs     = {'source': 'isoinfo -l -i {} -J -j iso8859-15'}
path1      = '/tmp/testrun/.pybuild/cpython3_3.7/build/tests/data/test1.iso'
path2      = '/dev/null'
source_cmd = <diffoscope.comparators.iso9660.ISO9660Listing object at 0x7f4104980490>

diffoscope/difference.py:292: AssertionError
--------- generated xml file: /tmp/job-exports/test-results/tests.xml ----------

----------- coverage: platform linux, python 3.7.4-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-197, 203, 209, 225-228, 231-234, 243, 255-287, 308-315, 322, 334
diffoscope/comparators/__init__.py              39     14    64%   130-132, 137-146, 151-155
diffoscope/comparators/android.py               40      1    98%   50
diffoscope/comparators/apk.py                  100      1    99%   41
diffoscope/comparators/ar.py                    26      0   100%
diffoscope/comparators/berkeley_db.py           19      0   100%
diffoscope/comparators/binary.py                16      0   100%
diffoscope/comparators/binwalk.py               58      5    91%   32-33, 37-38, 73
diffoscope/comparators/bzip2.py                 24      0   100%
diffoscope/comparators/cbfs.py                  85     43    49%   39-40, 46, 49, 55-66, 69, 72, 75, 79-93, 106-109, 140-143, 147-161, 164
diffoscope/comparators/cpio.py                  10      0   100%
diffoscope/comparators/deb.py                  118      8    93%   36-37, 50, 75, 134, 185-187
diffoscope/comparators/debian.py               142      5    96%   79-81, 235, 256, 276
diffoscope/comparators/debian_fallback.py       25      0   100%
diffoscope/comparators/device.py                47      6    87%   49-52, 87-90
diffoscope/comparators/dex.py                   26      1    96%   36
diffoscope/comparators/directory.py            162     22    86%   56-59, 103, 115, 122-123, 130-133, 150-153, 160, 164-165, 167, 170-171, 182-183, 242, 296
diffoscope/comparators/docx.py                  13      0   100%
diffoscope/comparators/dtb.py                   13      0   100%
diffoscope/comparators/elf.py                  288     30    90%   73, 81-82, 210, 320, 346-348, 360-361, 364, 386-388, 396, 408-410, 418, 483-492, 500, 513, 524, 530, 543-547, 557-562
diffoscope/comparators/ffprobe.py               27      0   100%
diffoscope/comparators/fontconfig.py            27      0   100%
diffoscope/comparators/fonts.py                 15      0   100%
diffoscope/comparators/fsimage.py               76     15    80%   32-33, 41, 48-49, 53-59, 63-65, 71, 77, 120
diffoscope/comparators/gettext.py               36      0   100%
diffoscope/comparators/gif.py                   40      4    90%   58-59, 102-103
diffoscope/comparators/git.py                   29      0   100%
diffoscope/comparators/gnumeric.py              19      0   100%
diffoscope/comparators/gzip.py                  26      0   100%
diffoscope/comparators/haskell.py               58     13    78%   37, 47, 87-89, 98, 104-111, 115, 126-127, 144, 147
diffoscope/comparators/icc.py                   13      0   100%
diffoscope/comparators/image.py                 78      6    92%   138-139, 167-168, 187-188
diffoscope/comparators/ipk.py                    4      0   100%
diffoscope/comparators/iso9660.py               48      6    88%   33, 67, 73, 96, 118-120
diffoscope/comparators/java.py                  47      2    96%   93-94
diffoscope/comparators/javascript.py            12      0   100%
diffoscope/comparators/json.py                  43      5    88%   29-30, 76, 83-84
diffoscope/comparators/kbx.py                   16      1    94%   38
diffoscope/comparators/llvm.py                  20      0   100%
diffoscope/comparators/lz4.py                   27      0   100%
diffoscope/comparators/macho.py                 56     28    50%   33-35, 39, 42, 46-49, 54, 59, 64, 69, 82-92, 98-154
diffoscope/comparators/missing_file.py          49      3    94%   67, 70, 89
diffoscope/comparators/mono.py                  13      0   100%
diffoscope/comparators/ocaml.py                 18      0   100%
diffoscope/comparators/odt.py                   13      0   100%
diffoscope/comparators/ogg.py                   13      0   100%
diffoscope/comparators/openssh.py               13      0   100%
diffoscope/comparators/pcap.py                  13      0   100%
diffoscope/comparators/pdf.py                   34      2    94%   30-31
diffoscope/comparators/pgp.py                   21      0   100%
diffoscope/comparators/png.py                   30      2    93%   75-76
diffoscope/comparators/ppu.py                   52     14    73%   73, 86-99
diffoscope/comparators/ps.py                    24      2    92%   48-49
diffoscope/comparators/rdata.py                 45     16    64%   44-58, 92, 100-102
diffoscope/comparators/rpm.py                   70      2    97%   41, 48
diffoscope/comparators/rpm_fallback.py          11      0   100%
diffoscope/comparators/rust.py                  32      0   100%
diffoscope/comparators/sqlite.py                13      0   100%
diffoscope/comparators/squashfs.py             161     19    88%   98, 116, 130, 138, 141, 155, 163, 189-190, 196-197, 203-204, 219, 246-247, 289-291
diffoscope/comparators/symlink.py               32      2    94%   58-59
diffoscope/comparators/tar.py                   12      0   100%
diffoscope/comparators/text.py                  33      2    94%   85-87
diffoscope/comparators/utils/__init__.py         0      0   100%
diffoscope/comparators/utils/archive.py         90     13    86%   57, 61, 65, 69, 110-111, 127, 130, 133, 142, 152, 155, 160
diffoscope/comparators/utils/command.py         44      3    93%   67, 85, 88
diffoscope/comparators/utils/compare.py         90      6    93%   40-41, 80, 95, 107-108
diffoscope/comparators/utils/container.py      108      6    94%   67, 71, 116-120
diffoscope/comparators/utils/file.py           233     36    85%   39-40, 53-59, 88-98, 110, 243-244, 297-299, 306, 310, 314, 397-400, 408-411, 454, 457, 481, 489, 505-507
diffoscope/comparators/utils/fuzzy.py           29      2    93%   27-28
diffoscope/comparators/utils/libarchive.py     172     22    87%   44-47, 51-54, 66-69, 73-76, 80-83, 131-134, 173, 202, 210, 213, 226, 240, 254-255, 323-324
diffoscope/comparators/utils/specialize.py      31      2    94%   72, 75
diffoscope/comparators/wasm.py                  17      1    94%   32
diffoscope/comparators/xml.py                   41      2    95%   140-141
diffoscope/comparators/xsb.py                   16      0   100%
diffoscope/comparators/xz.py                    27      0   100%
diffoscope/comparators/zip.py                  134      3    98%   118, 121, 153
diffoscope/config.py                            43      4    91%   76-87
diffoscope/diff.py                             413     51    88%   101, 138, 193, 228, 230, 276-279, 292-320, 370, 559, 580, 585, 618-619, 622-623, 642-643, 646-656, 664-667, 677-680, 695
diffoscope/difference.py                       177     14    92%   78, 117, 219-223, 236, 271, 278-279, 349, 355, 382
diffoscope/exc.py                               14      0   100%
diffoscope/excludes.py                          24      6    75%   31-35, 42-44
diffoscope/external_tools.py                     3      0   100%
diffoscope/feeders.py                           61      2    97%   82-83
diffoscope/locale.py                            13      0   100%
diffoscope/logging.py                           27      6    78%   28-31, 35-38
diffoscope/main.py                             283     67    76%   61-62, 73, 432, 439, 441-447, 459-463, 470-499, 513, 540, 565-588, 597, 611, 620-623, 627-633, 662, 666-673, 690, 697-698, 703, 708-715, 734-737, 742, 744-750, 765
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             455    126    72%   84-91, 131-134, 138, 140-142, 265-266, 269, 302, 330, 347-358, 408, 423, 440-444, 449, 456-462, 473, 478-497, 500-517, 545-548, 552-557, 560, 566-570, 594-602, 607-619, 624-641, 656, 676-679, 754, 789, 818, 834-836, 846-878, 896
diffoscope/presenters/html/templates.py          9      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                   43      7    84%   62-67, 72-73, 82-83
diffoscope/presenters/utils.py                 156     12    92%   43, 72, 154, 159, 166, 308, 354, 420-425
diffoscope/profiling.py                         38      0   100%
diffoscope/progress.py                         164     16    90%   39-46, 72, 80-83, 86, 111, 218, 233-234, 242
diffoscope/readers/__init__.py                   7      0   100%
diffoscope/readers/json.py                      17      1    94%   34
diffoscope/readers/utils.py                      2      0   100%
diffoscope/tempfiles.py                         45     11    76%   56-57, 66-78
diffoscope/tools.py                             66     20    70%   26-27, 57-58, 68-69, 108, 121, 125-128, 134-135, 139-147
--------------------------------------------------------------------------
TOTAL                                         6007    776    87%
Coverage HTML written to dir htmlcov

=========================== short test summary info ============================
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_cbfs.py:101: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_cbfs.py:106: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_cbfs.py:111: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_cbfs.py:123: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_cbfs.py:134: requires cbfstool
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_cbfs.py:142: requires cbfstool
SKIPPED [1] /tmp/testrun/.pybuild/cpython3_3.7/build/tests/comparators/test_haskell.py:37: mismatch between system ghc and fixture
SKIPPED [1] /tmp/testrun/.pybuild/cpython3_3.7/build/tests/comparators/test_haskell.py:54: mismatch between system ghc and fixture
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_ico_image.py:65: requires 6.9.6 >= identify >= 6.9.8-3 (6.9.10-23 detected)
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_macho.py:50: requires otool and lipo
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_macho.py:58: requires otool and lipo
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_utils.py:49: requires
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_utils.py:54: requires /missing
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_wasm.py:47: requires wasm2wat
SKIPPED [1] .pybuild/cpython3_3.7/build/tests/comparators/test_wasm.py:54: requires wasm2wat
========= 2 failed, 411 passed, 15 skipped, 4 error in 532.27 seconds ==========
E: pybuild pybuild:341: test: plugin distutils failed with: exit code=1: cd /tmp/testrun/.pybuild/cpython3_3.7/build; python3.7 -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: pybuild --test --test-pytest -i python{version} -p 3.7 returned exit code 13
make: *** [debian/rules:35: binary] Error 255
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.yZV7BUxHT//tmp/job-exports/test-results' -> '<https://jenkins.debian.net/job/reproducible_diffoscope_from_git_master/ws/job-exports/test-results'>
'/chroots/chroot-run-sid.yZV7BUxHT//tmp/job-exports/test-results/tests.xml' -> '<https://jenkins.debian.net/job/reproducible_diffoscope_from_git_master/ws/job-exports/test-results/tests.xml'>
Fri 16 Aug 00:04:05 UTC 2019 - /srv/jenkins/bin/chroot-run.sh stopped running as /tmp/jenkins-script-vxqcYT0X, which will now be removed.
Build step 'Execute shell' marked build as failure



More information about the Qa-jenkins-scm mailing list