[Python-modules-team] Bug#942235: dask: autopkgtest needs update for new version of pytest

Paul Gevers elbrus at debian.org
Sat Oct 12 20:55:55 BST 2019


Source: dask
Version: 1.0.0+dfsg-2
Severity: serious
X-Debbugs-CC: debian-ci at lists.debian.org, pytest at packages.debian.org
Tags: sid bullseye
User: debian-ci at lists.debian.org
Usertags: needs-update
Control: affects -1 src:pytest

Dear maintainers,

With a not so recent upload of pytest the autopkgtest of dask fails in
testing when that autopkgtest is run with the binary packages of pytest
from unstable. It passes when run with only packages from testing. In
tabular form:
                       pass            fail
pytest                 from testing    4.6.5-2
dask                   from testing    1.0.0+dfsg-2
versioned deps [0]     from testing    from unstable
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of pytest to testing
[1]. Of course, pytest shouldn't just break your autopkgtest (or even
worse, your package), but it seems to me that the change in pytest was
intended and your package needs to update to the new situation. The
package had two months to adapt before this bug was even filed.

If this is a real problem in your package (and not only in your
autopkgtest), the right binary package(s) from pytest should really add
a versioned Breaks on the unfixed version of (one of your) package(s).
Note: the Breaks is nice even if the issue is only in the autopkgtest as
it helps the migration software to figure out the right versions to
combine in the tests.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[0] You can see what packages were added from the second line of the log
file quoted below. The migration software adds source package from
unstable to the list if they are needed to install packages from
pytest/4.6.5-2. I.e. due to versioned dependencies or breaks/conflicts.
[1] https://qa.debian.org/excuses.php?package=pytest

https://ci.debian.net/data/autopkgtest/testing/amd64/d/dask/3146640/log.gz

autopkgtest [19:13:10]: test command1: [-----------------------
Testing with python3.7:
============================= test session starts
==============================
platform linux -- Python 3.7.5rc1, pytest-4.6.5, py-1.8.0, pluggy-0.12.0
-- /usr/bin/python3.7
cachedir: .pytest_cache
rootdir: /tmp/autopkgtest-lxc.n16ld1px/downtmp/autopkgtest_tmp
collecting ... collected 5850 items / 2 errors / 7 skipped / 5841 selected

==================================== ERRORS
====================================
_____________ ERROR collecting dataframe/io/tests/test_parquet.py
______________
/usr/lib/python3/dist-packages/pluggy/hooks.py:289: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:87: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:81: in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
/usr/lib/python3/dist-packages/_pytest/python.py:234: in
pytest_pycollect_makeitem
    res = list(collector._genfunctions(name, obj))
/usr/lib/python3/dist-packages/_pytest/python.py:410: in _genfunctions
    self.ihook.pytest_generate_tests(metafunc=metafunc)
/usr/lib/python3/dist-packages/pluggy/hooks.py:289: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:87: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:81: in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
/usr/lib/python3/dist-packages/_pytest/python.py:137: in
pytest_generate_tests
    metafunc.parametrize(*marker.args, **marker.kwargs)
/usr/lib/python3/dist-packages/_pytest/python.py:1004: in parametrize
    function_definition=self.definition,
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:130: in
_for_parametrize
    if len(param.values) != len(argnames):
E   TypeError: object of type 'MarkDecorator' has no len()
______________________ ERROR collecting tests/test_dot.py
______________________
/usr/lib/python3/dist-packages/pluggy/hooks.py:289: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:87: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:81: in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
/usr/lib/python3/dist-packages/_pytest/python.py:234: in
pytest_pycollect_makeitem
    res = list(collector._genfunctions(name, obj))
/usr/lib/python3/dist-packages/_pytest/python.py:410: in _genfunctions
    self.ihook.pytest_generate_tests(metafunc=metafunc)
/usr/lib/python3/dist-packages/pluggy/hooks.py:289: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:87: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3/dist-packages/pluggy/manager.py:81: in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
/usr/lib/python3/dist-packages/_pytest/python.py:137: in
pytest_generate_tests
    metafunc.parametrize(*marker.args, **marker.kwargs)
/usr/lib/python3/dist-packages/_pytest/python.py:1004: in parametrize
    function_definition=self.definition,
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:130: in
_for_parametrize
    if len(param.values) != len(argnames):
E   TypeError: object of type 'MarkDecorator' has no len()
=============================== warnings summary
===============================
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
  /usr/lib/python3/dist-packages/_pytest/mark/structures.py:334:
PytestUnknownMarkWarning: Unknown pytest.mark.slow - is this a typo?
You can register custom marks to avoid this warning - for details, see
https://docs.pytest.org/en/latest/mark.html
    PytestUnknownMarkWarning,

/usr/lib/python3/dist-packages/pandas/core/dtypes/inference.py:6
  /usr/lib/python3/dist-packages/pandas/core/dtypes/inference.py:6:
DeprecationWarning: Using or importing the ABCs from 'collections'
instead of from 'collections.abc' is deprecated, and in 3.8 it will stop
working
    from collections import Iterable

/usr/lib/python3/dist-packages/pandas/core/tools/datetimes.py:3
  /usr/lib/python3/dist-packages/pandas/core/tools/datetimes.py:3:
DeprecationWarning: Using or importing the ABCs from 'collections'
instead of from 'collections.abc' is deprecated, and in 3.8 it will stop
working
    from collections import MutableMapping

/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
/usr/lib/python3/dist-packages/_pytest/mark/structures.py:334
  /usr/lib/python3/dist-packages/_pytest/mark/structures.py:334:
PytestUnknownMarkWarning: Unknown pytest.mark.network - is this a typo?
You can register custom marks to avoid this warning - for details, see
https://docs.pytest.org/en/latest/mark.html
    PytestUnknownMarkWarning,

/usr/lib/python3/dist-packages/prompt_toolkit/styles/from_dict.py:9
  /usr/lib/python3/dist-packages/prompt_toolkit/styles/from_dict.py:9:
DeprecationWarning: Using or importing the ABCs from 'collections'
instead of from 'collections.abc' is deprecated, and in 3.8 it will stop
working
    from collections import Mapping

-- Docs: https://docs.pytest.org/en/latest/warnings.html
!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection
!!!!!!!!!!!!!!!!!!!!
=============== 7 skipped, 15 warnings, 2 error in 7.30 seconds
================
autopkgtest [19:13:18]: test command1: -----------------------]

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20191012/409a5d2b/attachment-0003.sig>


More information about the Python-modules-team mailing list