Hi,
I'm the maintainer of a python package that uses pytest and the pytest
plugin pytest-django (python-authlib). Under %check I currently run
`%{python3} -m pytest tests/core` to execute the tests. Now I wanted to
do the right thing and change that line to the %pytest macro (`%pytest
tests/core`) and that failed:
ModuleNotFoundError: No module named 'tests'
ImportError: No module named 'tests'
pytest-django could not find a Django project (no manage.py file could
be found). You must explicitly add your Django project to the Python
path to have it picked up.
I think the macro and the plugin are interfering here. Is there
something that has to be changed in my spec file, the plugin or the
macro itself to make it work? Should I just keep it the way it is?
Cheers
Kai
Full output:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/pytest_django/plugin.py", line
170, in _handle_import_error
yield
File "/usr/lib/python3.9/site-packages/pytest_django/plugin.py", line
323, in pytest_load_initial_conftests
dj_settings.DATABASES
File "/usr/lib/python3.9/site-packages/django/conf/__init__.py", line
76, in __getattr__
self._setup(name)
File "/usr/lib/python3.9/site-packages/django/conf/__init__.py", line
63, in _setup
self._wrapped = Settings(settings_module)
File "/usr/lib/python3.9/site-packages/django/conf/__init__.py", line
142, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in
_call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in
_call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in
_find_and_load_unlocked
ModuleNotFoundError: No module named 'tests'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/pytest", line 33, in <module>
sys.exit(load_entry_point('pytest==6.0.2', 'console_scripts',
'pytest')())
File "/usr/lib/python3.9/site-packages/_pytest/config/__init__.py",
line 180, in console_main
code = main()
File "/usr/lib/python3.9/site-packages/_pytest/config/__init__.py",
line 136, in main
config = _prepareconfig(args, plugins)
File "/usr/lib/python3.9/site-packages/_pytest/config/__init__.py",
line 313, in _prepareconfig
config = pluginmanager.hook.pytest_cmdline_parse(
File "/usr/lib/python3.9/site-packages/pluggy/hooks.py", line 286, in
__call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.9/site-packages/pluggy/manager.py", line 93,
in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.9/site-packages/pluggy/manager.py", line 84,
in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.9/site-packages/pluggy/callers.py", line 203,
in _multicall
gen.send(outcome)
File "/usr/lib/python3.9/site-packages/_pytest/helpconfig.py", line
99, in pytest_cmdline_parse
config = outcome.get_result() # type: Config
File "/usr/lib/python3.9/site-packages/pluggy/callers.py", line 80,
in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.9/site-packages/pluggy/callers.py", line 187,
in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.9/site-packages/_pytest/config/__init__.py",
line 932, in pytest_cmdline_parse
self.parse(args)
File "/usr/lib/python3.9/site-packages/_pytest/config/__init__.py",
line 1204, in parse
self._preparse(args, addopts=addopts)
File "/usr/lib/python3.9/site-packages/_pytest/config/__init__.py",
line 1107, in _preparse
self.hook.pytest_load_initial_conftests(
File "/usr/lib/python3.9/site-packages/pluggy/hooks.py", line 286, in
__call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/lib/python3.9/site-packages/pluggy/manager.py", line 93,
in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/lib/python3.9/site-packages/pluggy/manager.py", line 84,
in <lambda>
self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
File "/usr/lib/python3.9/site-packages/pluggy/callers.py", line 208,
in _multicall
return outcome.get_result()
File "/usr/lib/python3.9/site-packages/pluggy/callers.py", line 80,
in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/lib/python3.9/site-packages/pluggy/callers.py", line 187,
in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3.9/site-packages/pytest_django/plugin.py", line
323, in pytest_load_initial_conftests
dj_settings.DATABASES
File "/usr/lib64/python3.9/contextlib.py", line 135, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/lib/python3.9/site-packages/pytest_django/plugin.py", line
174, in _handle_import_error
raise ImportError(msg)
ImportError: No module named 'tests'
pytest-django could not find a Django project (no manage.py file could
be found). You must explicitly add your Django project to the Python
path to have it picked up.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx