-
Notifications
You must be signed in to change notification settings - Fork 26
Closed
Description
The newest release pytest-cpp==2.1.2
seems to be incompatible with the pytest 6.x
releases:
Steps to reproduce:
- Create and activate a new virtualenv
pip install 'pytest<7' pytest-cpp==2.1.2
- In an empty directory, run
pytest
Expected behavior:
Pytest runs, without executing any tests.
Observed behavior:
The following exception is raised:
Traceback (most recent call last):
File "/home/dgresch/venv/bin/pytest", line 8, in <module>
sys.exit(console_main())
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 185, in console_main
code = main()
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 143, in main
config = _prepareconfig(args, plugins)
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 318, in _prepareconfig
config = pluginmanager.hook.pytest_cmdline_parse(
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_hooks.py", line 265, in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_manager.py", line 80, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_callers.py", line 55, in _multicall
gen.send(outcome)
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/helpconfig.py", line 100, in pytest_cmdline_parse
config: Config = outcome.get_result()
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_result.py", line 60, in get_result
raise ex[1].with_traceback(ex[2])
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_callers.py", line 39, in _multicall
res = hook_impl.function(*args)
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1003, in pytest_cmdline_parse
self.parse(args)
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1283, in parse
self._preparse(args, addopts=addopts)
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 1172, in _preparse
self.pluginmanager.load_setuptools_entrypoints("pytest11")
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_manager.py", line 288, in load_setuptools_entrypoints
self.register(plugin, name=ep.name)
File "/home/dgresch/venv/lib/python3.8/site-packages/_pytest/config/__init__.py", line 436, in register
ret: Optional[str] = super().register(plugin, name)
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_manager.py", line 114, in register
self._verify_hook(hook, hookimpl)
File "/home/dgresch/venv/lib/python3.8/site-packages/pluggy/_manager.py", line 232, in _verify_hook
raise PluginValidationError(
pluggy._manager.PluginValidationError: Plugin 'cpp' for hook 'pytest_collect_file'
hookimpl definition: pytest_collect_file(parent, file_path)
Argument(s) {'file_path'} are declared in the hookimpl but can not be found in the hookspec
Additional observations:
The exception can be avoided by either downgrading pytest-cpp
to 2.1.1
, or upgrading pytest
to 7.x.
Metadata
Metadata
Assignees
Labels
No labels