Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatible with pytest-randomly when using doctest tests #35

Open
icemac opened this issue Mar 1, 2023 · 0 comments
Open

Incompatible with pytest-randomly when using doctest tests #35

icemac opened this issue Mar 1, 2023 · 0 comments

Comments

@icemac
Copy link
Member

icemac commented Mar 1, 2023

When using gocept.pytestlayer together with pytest-randomly an INTERNALERROR occurs because: 'DocFileCase' object has no attribute '__qualname__'.

================================================ test session starts =================================================
platform linux -- Python 3.9.14, pytest-7.1.3, pluggy-1.0.0
Using --randomly-seed=2349767981
rootdir: /.../my-project, configfile: pytest.ini
plugins: gocept.pytestlayer-8.1, cov-4.0.0, instafail-0.4.2, randomly-3.12.0, rerunfailures-10.2, remove-stale-bytecode-5.0.1, requests-mock-1.10.0
collected 1 item                                                                                                     
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/.../pytest-7.1.3-py3.9.egg/_pytest/main.py", line 268, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "/.../pytest-7.1.3-py3.9.egg/_pytest/main.py", line 321, in _main
INTERNALERROR>     config.hook.pytest_collection(session=session)
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/.../pytest-7.1.3-py3.9.egg/_pytest/main.py", line 332, in pytest_collection
INTERNALERROR>     session.perform_collect()
INTERNALERROR>   File "/.../pytest-7.1.3-py3.9.egg/_pytest/main.py", line 660, in perform_collect
INTERNALERROR>     hook.pytest_collection_modifyitems(
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/.../pluggy-1.0.0-py3.9.egg/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/.../pytest_randomly-3.12.0-py3.9.egg/pytest_randomly/__init__.py", line 219, in pytest_collection_modifyitems
INTERNALERROR>     _shuffle_by_class(list(group), seed),
INTERNALERROR>   File "/.../pytest_randomly-3.12.0-py3.9.egg/pytest_randomly/__init__.py", line 258, in _shuffle_by_class
INTERNALERROR>     klasses_items.sort(key=_cls_key)
INTERNALERROR>   File "/.../pytest_randomly-3.12.0-py3.9.egg/pytest_randomly/__init__.py", line 256, in _cls_key
INTERNALERROR>     return _md5(f"{seed}::{klass.__module__}.{klass.__qualname__}")
INTERNALERROR> AttributeError: 'DocFileCase' object has no attribute '__qualname__'

Versions:

  • gocept.pytestlayer 8.1
  • pytest-randomly 3.12
  • pytest 7.1.3
  • Python 3.9.14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant