pytest collection fails on recentish neurodebians: Argument(s) {'collection_path'} are declared in the hookimpl but can not be found in the hookspec
yarikoptic opened this issue · comments
Yaroslav Halchenko commented
neurodebian@smaug ~/deb/builds/datalad/0.19.6-1 % grep "Argument(s) {'collection_path'} are declared in the hookimpl but can not be found in the hookspec" *build
datalad_0.19.6-1~nd110+1_amd64.build:E Argument(s) {'collection_path'} are declared in the hookimpl but can not be found in the hookspec
datalad_0.19.6-1~nd22.04+1_amd64.build:E Argument(s) {'collection_path'} are declared in the hookimpl but can not be found in the hookspec
so not the most recent, in detail:
I: pybuild base:240: cd /build/datalad-0.19.6/.pybuild/cpython3_3.10_datalad/build; python3.10 -m pytest -s -v -k 'not test_test and not test_subprocess_return_code_capture and not test_gracefull_death' -c /build/datalad-0.19.6/tox.ini
============================= test session starts ==============================
platform linux -- Python 3.10.4, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 -- /usr/bin/python3.10
cachedir: .pytest_cache
rootdir: /build/datalad-0.19.6/.pybuild/cpython3_3.10_datalad/build, configfile: ../../../tox.ini
collecting ... collected 0 items / 1 error
==================================== ERRORS ====================================
________________________ ERROR collecting test session _________________________
/usr/lib/python3/dist-packages/pluggy/manager.py:125: in register
self._verify_hook(hook, hookimpl)
/usr/lib/python3/dist-packages/pluggy/manager.py:250: in _verify_hook
raise PluginValidationError(
E pluggy.manager.PluginValidationError: Plugin '/build/datalad-0.19.6/.pybuild/cpython3_3.10_datalad/build/datalad/conftest.py' for hook 'pytest_ignore_collect'
E hookimpl definition: pytest_ignore_collect(collection_path: pathlib.Path) -> bool
E Argument(s) {'collection_path'} are declared in the hookimpl but can not be found in the hookspec
=========================== short test summary info ============================
ERROR - pluggy.manager.PluginValidationError: Plugin '/build/datalad-0.19.6/...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.16s ===============================
@jwodder -- rings any bells?
John T. Wodder II commented
@yarikoptic The output states that you're using pytest 6.2.5, which is very old. Upgrade it.
Yaroslav Halchenko commented
That's the one those systems have ... I will look into backporting but might be tricky... and we did not define the lowest version of pytest for datalad. Is this message suggestive that we need at least 7.x version?
John T. Wodder II commented
@yarikoptic Yes, pytest 7.0 seems to be the minimum required now, based on the fact that the old calling convention was deprecated in that version.