[Python-modules-team] Bug#973057: python-py: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.8" returned exit code 13

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


Source: python-py
Version: 1.9.0-1
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>>'
> PYBUILD_SYSTEM=custom \
> 	PYBUILD_TEST_ARGS="{interpreter} -m pytest testing --ignore={dir}/testing/log/test_warning.py" \
> 	LC_ALL=C.UTF-8 \
> 	dh_auto_test
> I: pybuild base:217: python3.9 -m pytest testing --ignore=/<<PKGBUILDDIR>>/testing/log/test_warning.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: tox.ini, testpaths: testing
> collected 855 items
> 
> testing/code/test_assertion.py ............x..ss.....x.                  [  2%]
> testing/code/test_code.py ..............                                 [  4%]
> testing/code/test_excinfo.py ...........s........s...x............x..x.. [  9%]
> xxxx........................xx                                           [ 12%]
> testing/code/test_source.py .............................x............F. [ 18%]
> ....................                                                     [ 20%]
> testing/io_/test_capture.py .........s........s.............s........... [ 25%]
> ..s...........s....s...........s.........                                [ 30%]
> testing/io_/test_saferepr.py ........                                    [ 31%]
> testing/io_/test_terminalwriter.py ..................................... [ 35%]
> ...........                                                              [ 36%]
> testing/io_/test_terminalwriter_linewidth.py ....s..                     [ 37%]
> testing/log/test_log.py .................                                [ 39%]
> testing/path/test_cacheutil.py .............                             [ 41%]
> testing/path/test_local.py ............................................. [ 46%]
> ....................ss..............s..s................x......s........ [ 54%]
> .............................sssssss............................x...     [ 62%]
> testing/path/test_svnauth.py ........................sssssssssss         [ 67%]
> testing/path/test_svnurl.py ............................................ [ 72%]
> ..................ss....x...............                                 [ 76%]
> testing/path/test_svnwc.py ............................................. [ 82%]
> .....................ss..........x.................................      [ 89%]
> testing/process/test_cmdexec.py .....                                    [ 90%]
> testing/process/test_forkedfunc.py ..............                        [ 92%]
> testing/process/test_killproc.py .                                       [ 92%]
> testing/root/test_builtin.py ...................                         [ 94%]
> testing/root/test_error.py ........                                      [ 95%]
> testing/root/test_py_imports.py .................                        [ 97%]
> testing/root/test_std.py ...                                             [ 97%]
> testing/root/test_xmlgen.py ...................                          [100%]
> 
> =================================== FAILURES ===================================
> _______________________________ test_getfslineno _______________________________
> 
>     def test_getfslineno():
>         from py.code import getfslineno
>     
>         def f(x):
>             pass
>     
>         fspath, lineno = getfslineno(f)
>     
>         assert fspath.basename == "test_source.py"
>         assert lineno == py.code.getrawcode(f).co_firstlineno-1 # see findsource
>     
>         class A(object):
>             pass
>     
>         fspath, lineno = getfslineno(A)
>     
>         _, A_lineno = inspect.findsource(A)
>         assert fspath.basename == "test_source.py"
>         assert lineno == A_lineno
>     
>         assert getfslineno(3) == ("", -1)
>         class B:
>             pass
>         B.__name__ = "B2"
> >       assert getfslineno(B)[1] == -1
> E       assert 455 == -1
> 
> testing/code/test_source.py:459: AssertionError
> =============================== warnings summary ===============================
> /usr/lib/python3/dist-packages/_pytest/mark/structures.py:331
>   /usr/lib/python3/dist-packages/_pytest/mark/structures.py:331: PytestUnknownMarkWarning: Unknown pytest.mark.nothing - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
>     warnings.warn(
> 
> testing/code/test_source.py:282
>   testing/code/test_source.py:282: PytestCollectionWarning: yield tests were removed in pytest 4.0 - test_compilefuncs_and_path_sanity will be ignored
>     def test_compilefuncs_and_path_sanity(self):
> 
> testing/code/test_source.py::test_isparseable
>   /<<PKGBUILDDIR>>/py/_code/source.py:137: DeprecationWarning: The parser module is deprecated and will be removed in future versions of Python
>     import parser
> 
> testing/path/test_local.py::TestExecution::test_sysfind_no_permisson_ignored
>   /<<PKGBUILDDIR>>/testing/path/test_local.py:428: PytestWarning: Value of environment variable PATH type should be str, but got local('/tmp/pytest-of-user42/pytest-4/test_sysfind_no_permisson_igno0/noperm') (type: LocalPath); converted to str implicitly
>     monkeypatch.setenv("PATH", noperm, prepend=":")
> 
> testing/root/test_py_imports.py::test_dir[std]
>   /<<PKGBUILDDIR>>/testing/root/test_py_imports.py:8: PyStdIsDeprecatedWarning: py.std is deprecated, please import __map__ directly
>     if hasattr(obj, '__map__'):  # isinstance(obj, Module):
> 
> testing/root/test_std.py::test_import_error_converts_to_attributeerror
>   /<<PKGBUILDDIR>>/testing/root/test_std.py:10: PyStdIsDeprecatedWarning: py.std is deprecated, please import xyzalskdj directly
>     py.std.xyzalskdj
> 
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> =========================== short test summary info ============================
> SKIPPED [2] /<<PKGBUILDDIR>>/testing/code/test_assertion.py:165: could not import 'py._code._assertionold': No module named 'compiler'
> SKIPPED [1] /<<PKGBUILDDIR>>/testing/code/test_excinfo.py:205: could not import 'decorator': No module named 'decorator'
> SKIPPED [1] /<<PKGBUILDDIR>>/testing/code/test_excinfo.py:317: could not import 'jinja2': No module named 'jinja2'
> SKIPPED [3] /<<PKGBUILDDIR>>/testing/io_/test_capture.py:120: could not run 'lsof'
> SKIPPED [4] testing/io_/test_capture.py:241: text output different for bytes on python3
> SKIPPED [1] testing/io_/test_terminalwriter_linewidth.py:36: Bytes are not accepted https://github.com/pytest-dev/pytest/issues/4861
> SKIPPED [3] testing/path/common.py:448: sys.version_info < (3,6)
> SKIPPED [3] testing/path/common.py:453: sys.version_info < (3,6)
> SKIPPED [1] testing/path/test_local.py:167: case insensitive only on windows
> SKIPPED [1] testing/path/test_local.py:190: only with Python 3 before 3.5
> SKIPPED [1] testing/path/test_local.py:415: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [1] testing/path/test_local.py:743: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [1] testing/path/test_local.py:747: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [1] testing/path/test_local.py:760: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [1] testing/path/test_local.py:766: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [1] testing/path/test_local.py:771: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [1] testing/path/test_local.py:779: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [1] testing/path/test_local.py:786: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt')
> SKIPPED [11] /<<PKGBUILDDIR>>/testing/path/test_svnauth.py:275: use --runslowtests to run these tests
> XFAIL testing/code/test_assertion.py::test_assert_with_brokenrepr_arg
>   reason: [NOTRUN] broken on modern pytest
> XFAIL testing/code/test_assertion.py::test_assert_raise_subclass
>   reason: [NOTRUN] broken on modern pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_repr_source_excinfo
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_repr_excinfo_addouterr
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_tb_entry_AssertionError
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_toterminal_long
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_toterminal_long_missing_source
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_toterminal_long_incomplete_source
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_toterminal_long_filenames
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_native_style
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_excinfo.py::TestFormattedExcinfo::test_traceback_repr_style
>   reason: [NOTRUN] this test hasn't been fixed after moving py.code into pytest
> XFAIL testing/code/test_source.py::TestSourceParsingAndCompiling::test_compilefuncs_and_path_sanity
>   reason: [NOTRUN] yield tests were removed in pytest 4.0 - test_compilefuncs_and_path_sanity will be ignored
> XFAIL testing/path/test_local.py::TestLocalPath::test_long_filenames
>   reason: [NOTRUN] unreliable est for long filenames
> XFAIL testing/path/test_local.py::TestUnicodePy2Py3::test_read_write
>   changing read/write might break existing usages
> XFAIL testing/path/test_svnurl.py::TestSvnURLCommandPath::test_load
> XFAIL testing/path/test_svnwc.py::TestWCSvnCommandPath::test_status_update
>   reason: svn-1.7 has buggy 'status --xml' output
> FAILED testing/code/test_source.py::test_getfslineno - assert 455 == -1
> == 1 failed, 799 passed, 39 skipped, 16 xfailed, 6 warnings in 32.32 seconds ===
> E: pybuild pybuild:352: test: plugin custom failed with: exit code=1: python3.9 -m pytest testing --ignore=/<<PKGBUILDDIR>>/testing/log/test_warning.py
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.8" returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/10/27/python-py_1.9.0-1_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