Skip to content

Error with pytest v8.1.0 and pytest-mypy-testing v0.1.2: Argument(s) {'path'} are declared in the hookimpl but can not be found in the hookspec #51

@dgilland

Description

@dgilland

Starting with pytest v8.1.0 and pytest-mypy-testing v0.1.2, the following error is thrown:

Traceback (most recent call last): File "/path/to/bin/pytest", line 8, in <module> sys.exit(console_main()) ^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/_pytest/config/__init__.py", line 195, in console_main code = main() ^^^^^^ File "/path/to/lib/python3.12/site-packages/_pytest/config/__init__.py", line 153, in main config = _prepareconfig(args, plugins) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/_pytest/config/__init__.py", line 335, in _prepareconfig config = pluginmanager.hook.pytest_cmdline_parse( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/pluggy/_hooks.py", line 501, in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/pluggy/_manager.py", line 119, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/pluggy/_callers.py", line 138, in _multicall raise exception.with_traceback(exception.__traceback__) File "/path/to/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall teardown.throw(exception) # type: ignore[union-attr] ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/_pytest/helpconfig.py", line 105, in pytest_cmdline_parse config = yield ^^^^^ File "/path/to/lib/python3.12/site-packages/pluggy/_callers.py", line 102, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1141, in pytest_cmdline_parse self.parse(args) File "/path/to/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1490, in parse self._preparse(args, addopts=addopts) File "/path/to/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1377, in _preparse self.pluginmanager.load_setuptools_entrypoints("pytest11") File "/path/to/lib/python3.12/site-packages/pluggy/_manager.py", line 415, in load_setuptools_entrypoints self.register(plugin, name=ep.name) File "/path/to/lib/python3.12/site-packages/_pytest/config/__init__.py", line 497, in register plugin_name = super().register(plugin, name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/lib/python3.12/site-packages/pluggy/_manager.py", line 167, in register self._verify_hook(hook, hookimpl) File "/path/to/lib/python3.12/site-packages/pluggy/_manager.py", line 342, in _verify_hook raise PluginValidationError( pluggy._manager.PluginValidationError: Plugin 'mypy-testing' for hook 'pytest_collect_file' hookimpl definition: pytest_collect_file(file_path, path, parent) Argument(s) {'path'} are declared in the hookimpl but can not be found in the hookspec 

Looks intentional by pytest to remove previously deprecated things in 8.1.0: pytest-dev/pytest#11779

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions