[Python-modules-team] Bug#973087: python-fs: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.8" --test-pytest "--test-args=--ignore tests/test_ftpfs.py" returned exit code 13

Lucas Nussbaum lucas at debian.org
Tue Oct 27 17:11:07 GMT 2020


Source: python-fs
Version: 2.4.11-2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201027 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> # skip tests that is not runnable with python3-pyftpdlib due to missing
> # test moudles
> dh_auto_test -- --test-pytest --test-args="--ignore tests/test_ftpfs.py"
> I: pybuild base:217: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest --ignore tests/test_ftpfs.py
> ============================= test session starts ==============================
> platform linux -- Python 3.9.0+, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, inifile: setup.cfg
> collected 1525 items
> 
> tests/test_appfs.py .s                                                   [  0%]
> tests/test_base.py .                                                     [  0%]
> tests/test_bulk.py .                                                     [  0%]
> tests/test_copy.py ...............                                       [  1%]
> tests/test_encoding.py ...                                               [  1%]
> tests/test_enums.py .                                                    [  1%]
> tests/test_errors.py ....                                                [  1%]
> tests/test_filesize.py ....                                              [  2%]
> tests/test_fscompat.py ...                                               [  2%]
> tests/test_ftp_parse.py .....                                            [  2%]
> tests/test_glob.py ..........                                            [  3%]
> tests/test_imports.py .                                                  [  3%]
> tests/test_info.py .........                                             [  3%]
> tests/test_iotools.py ............                                       [  4%]
> tests/test_lrucache.py .                                                 [  4%]
> tests/test_memoryfs.py ................................................. [  7%]
> ..............................                                           [  9%]
> tests/test_mirror.py ................................                    [ 12%]
> tests/test_mode.py ..                                                    [ 12%]
> tests/test_mountfs.py .................................................. [ 15%]
> ........................................................................ [ 20%]
> .........................................                                [ 22%]
> tests/test_move.py ..                                                    [ 22%]
> tests/test_multifs.py .................................................. [ 26%]
> ........................s............                                    [ 28%]
> tests/test_new_name.py .                                                 [ 28%]
> tests/test_opener.py .................................                   [ 30%]
> tests/test_osfs.py ............F........................................ [ 34%]
> .....................s...........                                        [ 36%]
> tests/test_path.py .....................                                 [ 37%]
> tests/test_permissions.py ..............                                 [ 38%]
> tests/test_subfs.py ............F....................................... [ 42%]
> ......................s.......................F......................... [ 46%]
> ....................................s............                        [ 50%]
> tests/test_tarfs.py .................................................... [ 53%]
> ................s....................................................... [ 58%]
> ......................s................................................. [ 63%]
> ............................s........................................... [ 67%]
> ..................................s..................................... [ 72%]
> ........................................s............................... [ 77%]
> ...............                                                          [ 78%]
> tests/test_tempfs.py ............F...................................... [ 81%]
> .......................s.........................F...................... [ 86%]
> .......................................s...........                      [ 89%]
> tests/test_time.py ..                                                    [ 89%]
> tests/test_tools.py ...                                                  [ 89%]
> tests/test_tree.py ....                                                  [ 90%]
> tests/test_url_tools.py .                                                [ 90%]
> tests/test_walk.py ....................                                  [ 91%]
> tests/test_wildcard.py ...                                               [ 91%]
> tests/test_wrap.py ..                                                    [ 91%]
> tests/test_wrapfs.py ...                                                 [ 92%]
> tests/test_zipfs.py .................................................... [ 95%]
> ................s....................................................    [100%]
> 
> =================================== FAILURES ===================================
> _________________________ TestOSFS.test_copy_sendfile __________________________
> 
> self = <tests.test_osfs.TestOSFS testMethod=test_copy_sendfile>
> 
>     @pytest.mark.skipif(osfs.sendfile is None, reason="sendfile not supported")
>     def test_copy_sendfile(self):
>         # try copying using sendfile
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.ENOSYS, "sendfile not supported")
>             self.test_copy()
>         # check other errors are transmitted
>         self.fs.touch("foo")
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.EWOULDBLOCK)
>             with self.assertRaises(OSError):
> >               self.fs.copy("foo", "foo_copy")
> E               AssertionError: OSError not raised
> 
> tests/test_osfs.py:101: AssertionError
> _________________________ TestOSFS.test_copy_sendfile __________________________
> 
> self = <tests.test_osfs.TestOSFS testMethod=test_copy_sendfile>
> 
>     @pytest.mark.skipif(osfs.sendfile is None, reason="sendfile not supported")
>     def test_copy_sendfile(self):
>         # try copying using sendfile
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.ENOSYS, "sendfile not supported")
>             self.test_copy()
>         # check other errors are transmitted
>         self.fs.touch("foo")
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.EWOULDBLOCK)
>             with self.assertRaises(OSError):
> >               self.fs.copy("foo", "foo_copy")
> E               AssertionError: OSError not raised
> 
> tests/test_osfs.py:101: AssertionError
> _________________________ TestSubFS.test_copy_sendfile _________________________
> 
> self = <tests.test_subfs.TestSubFS testMethod=test_copy_sendfile>
> 
>     @pytest.mark.skipif(osfs.sendfile is None, reason="sendfile not supported")
>     def test_copy_sendfile(self):
>         # try copying using sendfile
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.ENOSYS, "sendfile not supported")
>             self.test_copy()
>         # check other errors are transmitted
>         self.fs.touch("foo")
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.EWOULDBLOCK)
>             with self.assertRaises(OSError):
> >               self.fs.copy("foo", "foo_copy")
> E               AssertionError: OSError not raised
> 
> tests/test_osfs.py:101: AssertionError
> _________________________ TestOSFS.test_copy_sendfile __________________________
> 
> self = <tests.test_osfs.TestOSFS testMethod=test_copy_sendfile>
> 
>     @pytest.mark.skipif(osfs.sendfile is None, reason="sendfile not supported")
>     def test_copy_sendfile(self):
>         # try copying using sendfile
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.ENOSYS, "sendfile not supported")
>             self.test_copy()
>         # check other errors are transmitted
>         self.fs.touch("foo")
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.EWOULDBLOCK)
>             with self.assertRaises(OSError):
> >               self.fs.copy("foo", "foo_copy")
> E               AssertionError: OSError not raised
> 
> tests/test_osfs.py:101: AssertionError
> ________________________ TestTempFS.test_copy_sendfile _________________________
> 
> self = <tests.test_tempfs.TestTempFS testMethod=test_copy_sendfile>
> 
>     @pytest.mark.skipif(osfs.sendfile is None, reason="sendfile not supported")
>     def test_copy_sendfile(self):
>         # try copying using sendfile
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.ENOSYS, "sendfile not supported")
>             self.test_copy()
>         # check other errors are transmitted
>         self.fs.touch("foo")
>         with mock.patch.object(osfs, "sendfile") as sendfile:
>             sendfile.side_effect = OSError(errno.EWOULDBLOCK)
>             with self.assertRaises(OSError):
> >               self.fs.copy("foo", "foo_copy")
> E               AssertionError: OSError not raised
> 
> tests/test_osfs.py:101: AssertionError
> =============================== warnings summary ===============================
> tests/test_base.py:11
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_base.py:11: PytestCollectionWarning: cannot collect test class 'TestFS' because it has a __init__ constructor (from: .pybuild/cpython3_3.9/build/tests/test_base.py)
>     class TestFS(FS):
> 
> .pybuild/cpython3_3.9/build/tests/test_iotools.py::TestIOTools::test_make_stream
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_iotools.py:29: DeprecationWarning: Please use assertTrue instead.
>     self.assert_(isinstance(data, bytes))
> 
> .pybuild/cpython3_3.9/build/tests/test_memoryfs.py::TestMemoryFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_mountfs.py::TestMountFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_mountfs.py::TestMountFS2::test_remove
> .pybuild/cpython3_3.9/build/tests/test_multifs.py::TestMultiFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_osfs.py::TestOSFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_subfs.py::TestOSFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_subfs.py::TestSubFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_tarfs.py::TestWriteTarFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_tarfs.py::TestWriteTarFSToFileobj::test_remove
> .pybuild/cpython3_3.9/build/tests/test_tarfs.py::TestWriteGZippedTarFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_tarfs.py::TestWriteXZippedTarFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_tarfs.py::TestWriteBZippedTarFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_tempfs.py::TestOSFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_tempfs.py::TestTempFS::test_remove
> .pybuild/cpython3_3.9/build/tests/test_zipfs.py::TestWriteZipFS::test_remove
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/fs/test.py:1064: DeprecationWarning: Please use assertRaisesRegex instead.
>     with self.assertRaisesRegexp(errors.ResourceNotFound, error_msg):
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_isdotfile
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_isdotfile
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_isdotfile
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_isdotfile
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_isdotfile
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:181: DeprecationWarning: Please use assertTrue instead.
>     self.assert_(isdotfile(path))
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_iswildcard
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:204: DeprecationWarning: Please use assertTrue instead.
>     self.assert_(iswildcard("*"))
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_iswildcard
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:205: DeprecationWarning: Please use assertTrue instead.
>     self.assert_(iswildcard("*.jpg"))
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_iswildcard
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:206: DeprecationWarning: Please use assertTrue instead.
>     self.assert_(iswildcard("foo/*"))
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_iswildcard
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:207: DeprecationWarning: Please use assertTrue instead.
>     self.assert_(iswildcard("foo/{}"))
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_recursepath
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:155: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(recursepath("/"), ["/"])
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_recursepath
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:156: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(recursepath("hello"), ["/", "/hello"])
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_recursepath
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:157: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(recursepath("/hello/world/"), ["/", "/hello", "/hello/world"])
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_recursepath
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:158: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_recursepath
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:161: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(recursepath("hello", reverse=True), ["/hello", "/"])
> 
> .pybuild/cpython3_3.9/build/tests/test_path.py::TestPathFunctions::test_recursepath
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/test_path.py:162: DeprecationWarning: Please use assertEqual instead.
>     self.assertEquals(recursepath("", reverse=True), ["/"])
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> ======= 5 failed, 1507 passed, 13 skipped, 32 warnings in 26.24 seconds ========
> E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest --ignore tests/test_ftpfs.py
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.8" --test-pytest "--test-args=--ignore tests/test_ftpfs.py" returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/10/27/python-fs_2.4.11-2_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 Python-modules-team mailing list