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

jenkins at jenkins.debian.net jenkins at jenkins.debian.net
Thu Feb 9 21:36:19 UTC 2017


https://jenkins.debian.net/job/reproducible_diffoscope_from_git_master/257/Changes:

[infinity0] Simplify call to subprocess.Popen

[infinity0] Don't write to arbitrary locations when extracting archive members

------------------------------------------
[...truncated 621.36 KB...]
    self.result = func()
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 614, in execute
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 104, in pytest_runtest_call
    item.runtest()
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1574, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 745, in __call__
    return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 339, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 334, in <lambda>
    _MultiCall(methods, kwargs, hook.spec_opts).execute()
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 613, in execute
    return _wrapped_call(hook_impl.function(*args), self.execute)
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 248, in _wrapped_call
    call_outcome = _CallOutcome(func)
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 265, in __init__
    self.result = func()
  File "/usr/lib/python3/dist-packages/_pytest/vendored_packages/pluggy.py", line 614, in execute
    res = hook_impl.function(*args)
  File "/usr/lib/python3/dist-packages/_pytest/python.py", line 154, in pytest_pyfunc_call
    testfunction(**testargs)
  File "/tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/test_rpm.py", line 77, in test_compare_non_existing
    assert_non_existing(monkeypatch, rpm1)
  File "/tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/utils/nonexisting.py", line 29, in assert_non_existing
    difference = fixture.compare(MissingFile('/nonexisting', fixture))
  File "/tmp/testrun/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils/file.py", line 237, in compare
    difference = self._compare_using_details(other, source)
  File "/tmp/testrun/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils/file.py", line 192, in _compare_using_details
    details.extend(filter(None, self.compare_details(other, source)))
  File "/tmp/testrun/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/rpm.py", line 110, in compare_details
    return [compare_rpm_headers(self.path, other.path)]
  File "/tmp/testrun/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/rpm.py", line 82, in compare_rpm_headers
    header2 = get_rpm_header(path2, ts)
  File "/tmp/testrun/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/rpm.py", line 64, in get_rpm_header
    logger.error("reading rpm header failed: %s", str(e))
Message: 'reading rpm header failed: %s'
Arguments: ('error reading package header',)
_____________________________ test_no_differences ______________________________

tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/test1.tar>

    def test_no_differences(tar1):
>       difference = tar1.compare(tar1)

tar1       = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/test1.tar>

tests/comparators/test_tar.py:37: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
diffoscope/comparators/utils/file.py:237: in compare
    difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:194: in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
diffoscope/comparators/utils/compare.py:88: in compare_commented_files
    difference = compare_files(file1, file2, source=source)
diffoscope/comparators/utils/compare.py:85: in compare_files
    return file1.compare(file2, source)
diffoscope/comparators/text.py:51: in compare
    with codecs.open(self.path, 'r', encoding=my_encoding) as my_content, \
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

filename = '/tmp/tmpj0cql8on_diffoscope/dir/text', mode = 'rb'
encoding = "cannot open `/tmp/tmpj0cql8on_diffoscope/dir/text' (No such file or directory)"
errors = 'strict', buffering = 1

    def open(filename, mode='r', encoding=None, errors='strict', buffering=1):
    
        """ Open an encoded file using the given mode and return
            a wrapped version providing transparent encoding/decoding.
    
            Note: The wrapped version will only accept the object format
            defined by the codecs, i.e. Unicode objects for most builtin
            codecs. Output is also codec dependent and will usually be
            Unicode as well.
    
            Underlying encoded files are always opened in binary mode.
            The default file mode is 'r', meaning to open the file in read mode.
    
            encoding specifies the encoding which is to be used for the
            file.
    
            errors may be given to define the error handling. It defaults
            to 'strict' which causes ValueErrors to be raised in case an
            encoding error occurs.
    
            buffering has the same meaning as for the builtin open() API.
            It defaults to line buffered.
    
            The returned wrapped file object provides an extra attribute
            .encoding which allows querying the used encoding. This
            attribute is only available if an encoding was specified as
            parameter.
    
        """
        if encoding is not None and \
           'b' not in mode:
            # Force opening of the file in binary mode
            mode = mode + 'b'
>       file = builtins.open(filename, mode, buffering)
E       FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpj0cql8on_diffoscope/dir/text'

buffering  = 1
encoding   = "cannot open `/tmp/tmpj0cql8on_diffoscope/dir/text' (No such file or directory)"
errors     = 'strict'
filename   = '/tmp/tmpj0cql8on_diffoscope/dir/text'
mode       = 'rb'

/usr/lib/python3.5/codecs.py:895: FileNotFoundError
__________________________ test_compare_non_existing ___________________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f8ff4198ac8>
tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/test1.tar>

    def test_compare_non_existing(monkeypatch, tar1):
>       assert_non_existing(monkeypatch, tar1)

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f8ff4198ac8>
tar1       = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/test1.tar>

tests/comparators/test_tar.py:62: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/comparators/utils/nonexisting.py:29: in assert_non_existing
    difference = fixture.compare(MissingFile('/nonexisting', fixture))
diffoscope/comparators/utils/file.py:237: in compare
    difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:194: in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
diffoscope/comparators/utils/container.py:115: in comparisons
    for my_name, other_name, score in perform_fuzzy_matching(my_members, other_members):
diffoscope/comparators/utils/fuzzy.py:41: in perform_fuzzy_matching
    if file1.is_directory() or not file1.fuzzy_hash:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> dir/text>

    @property
    def fuzzy_hash(self):
        if not hasattr(self, '_fuzzy_hash'):
            # tlsh is not meaningful with files smaller than 512 bytes
>           if os.stat(self.path).st_size >= 512:
E           FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpkk0e5aiw_diffoscope/dir/text'

self       = <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> dir/text>

diffoscope/comparators/utils/file.py:151: FileNotFoundError
______________________ test_no_permissions_dir_in_tarball ______________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f8ff4390ba8>
no_permissions_tar = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/no-perms.tar>

    def test_no_permissions_dir_in_tarball(monkeypatch, no_permissions_tar):
        # We want to make sure OSError is not raised.
        # Comparing with non-existing file makes it easy to make sure all files are unpacked
        monkeypatch.setattr(Config(), 'new_file', True)
>       no_permissions_tar.compare(MissingFile('/nonexistent', no_permissions_tar))

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f8ff4390ba8>
no_permissions_tar = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/no-perms.tar>

tests/comparators/test_tar.py:72: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
diffoscope/comparators/utils/file.py:237: in compare
    difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:194: in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
diffoscope/comparators/utils/container.py:115: in comparisons
    for my_name, other_name, score in perform_fuzzy_matching(my_members, other_members):
diffoscope/comparators/utils/fuzzy.py:41: in perform_fuzzy_matching
    if file1.is_directory() or not file1.fuzzy_hash:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> test/test>

    @property
    def fuzzy_hash(self):
        if not hasattr(self, '_fuzzy_hash'):
            # tlsh is not meaningful with files smaller than 512 bytes
>           if os.stat(self.path).st_size >= 512:
E           NotADirectoryError: [Errno 20] Not a directory: '/tmp/tmpc9lzxq54_diffoscope/test/test'

self       = <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> test/test>

diffoscope/comparators/utils/file.py:151: NotADirectoryError
_______________________ test_no_fuzzy_matching_new_file ________________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f8ff41986d8>
fuzzy_tar_in_tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar1.tar>
fuzzy_tar_in_tar2 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar2.tar>

    @skip_unless_module_exists('tlsh')
    def test_no_fuzzy_matching_new_file(monkeypatch, fuzzy_tar_in_tar1, fuzzy_tar_in_tar2):
        monkeypatch.setattr(Config(), 'fuzzy_threshold', 0)
        monkeypatch.setattr(Config(), 'new_file', True)
>       difference = fuzzy_tar_in_tar1.compare(fuzzy_tar_in_tar2)

fuzzy_tar_in_tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar1.tar>
fuzzy_tar_in_tar2 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar2.tar>
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f8ff41986d8>

tests/comparators/test_utils.py:88: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
diffoscope/comparators/utils/file.py:237: in compare
    difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:194: in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
diffoscope/comparators/utils/compare.py:88: in compare_commented_files
    difference = compare_files(file1, file2, source=source)
diffoscope/comparators/utils/compare.py:76: in compare_files
    specialize(file1)
diffoscope/comparators/utils/specialize.py:38: in specialize
    flag = cls.recognizes(file)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

file = <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> t/test1.tar>

    @staticmethod
    def recognizes(file):
        # Mozilla-optimized ZIPs start with a 32-bit little endian integer
        # indicating the amount of data to preload, followed by the ZIP
        # central directory (with a PK\x01\x02 signature)
>       with open(file.path, 'rb') as f:
E       FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmplqnqpo1i_diffoscope/t/test1.tar'

file       = <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> t/test1.tar>

diffoscope/comparators/zip.py:150: FileNotFoundError
======== 27 failed, 225 passed, 15 skipped, 19 error in 361.03 seconds =========
E: pybuild pybuild:283: test: plugin distutils failed with: exit code=1: cd /tmp/testrun/.pybuild/pythonX.Y_3.5/build; python3.5 -m pytest -vv -r sxX -l --cov=diffoscope --cov-report=term-missing --cov-report=html
dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.5 returned exit code 13
debian/rules:29: recipe for target 'build' failed
make: *** [build] Error 25
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1116:
dpkg-buildpackage -rfakeroot -us -uc failed
+ cleanup
+ '[' -e /chroots/chroot-run-sid.1nEybGOLk/tmp/testrun/stats.csv ']'
++ ls -1 '/chroots/chroot-run-sid.1nEybGOLk/tmp/debian-edu-doc_*.changes'
++ true
+ CHANGES=
+ '[' '!' -z '' ']'
+ '[' false = true ']'
+ '[' -d /chroots/chroot-run-sid.1nEybGOLk/proc ']'
+ sudo umount -l /chroots/chroot-run-sid.1nEybGOLk/proc
+ '[' -d /chroots/chroot-run-sid.1nEybGOLk/testrun ']'
+ '[' -d /chroots/chroot-run-sid.1nEybGOLk ']'
+ sudo rm -rf --one-file-system /chroots/chroot-run-sid.1nEybGOLk
Thu  9 Feb 21:36:19 UTC 2017 - /srv/jenkins/bin/chroot-run.sh stopped running as /tmp/jenkins-script-AJUTW3s9, which will now be removed.
Build step 'Execute shell' marked build as failure



More information about the Qa-jenkins-scm mailing list