First of all, I want to thank you for creating this awesome testing library 😄 I use it in several my projects, and it's really satisfying to work with.
zlobookV:min-approval zloddey$ poetry run pytest
Traceback (most recent call last):
File "/Users/zloddey/temp/min-approval/.venv/bin/pytest", line 8, in <module>
sys.exit(console_main())
^^^^^^^^^^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/config/__init__.py", line 223, in console_main
code = main()
^^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/config/__init__.py", line 193, in main
config = _prepareconfig(new_args, plugins)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/config/__init__.py", line 361, in _prepareconfig
config: Config = pluginmanager.hook.pytest_cmdline_parse(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/pluggy/_hooks.py", line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall
raise exception
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
teardown.throw(exception)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/helpconfig.py", line 124, in pytest_cmdline_parse
config = yield
^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1186, in pytest_cmdline_parse
self.parse(args)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1539, in parse
self.pluginmanager.load_setuptools_entrypoints("pytest11")
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/pluggy/_manager.py", line 416, in load_setuptools_entrypoints
plugin = ep.load()
^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 197, in exec_module
exec(co, module.__dict__)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/approvaltests/__init__.py", line 3, in <module>
from .approvals import *
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 197, in exec_module
exec(co, module.__dict__)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/approvaltests/approvals.py", line 7, in <module>
import approvaltests.namer.default_namer_factory
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 197, in exec_module
exec(co, module.__dict__)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/approvaltests/namer/__init__.py", line 3, in <module>
from .default_namer_factory import *
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 197, in exec_module
exec(co, module.__dict__)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/approvaltests/namer/default_namer_factory.py", line 4, in <module>
from approvaltests.core.options import Options
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 197, in exec_module
exec(co, module.__dict__)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/approvaltests/core/__init__.py", line 4, in <module>
from .options import *
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 197, in exec_module
exec(co, module.__dict__)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/approvaltests/core/options.py", line 6, in <module>
from approvaltests.file_approver import FileComparator
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/_pytest/assertion/rewrite.py", line 197, in exec_module
exec(co, module.__dict__)
File "/Users/zloddey/temp/min-approval/.venv/lib/python3.12/site-packages/approvaltests/file_approver.py", line 8, in <module>
from approval_utilities.utilities.multiline_string_utils import remove_indentation_from
ModuleNotFoundError: No module named 'approval_utilities.utilities.multiline_string_utils'
Hi!
First of all, I want to thank you for creating this awesome testing library 😄 I use it in several my projects, and it's really satisfying to work with.
Unfortunately, several last versions of its
approvaltests-minimalflavour suffer from a missing dependency issue. I've created a simple reproducer for this issue, and it shows that this issue had appeared since17.2.1version.Steps to reproduce:
poetry)approvaltests-minimaldependency with version 17.2.1 or newer.pytest(just likepoetry run pytest). It's not even required to create any real test, TBH.Results:
17.2.0or older, tests are executed correctly;17.2.1or newer, the following error appears:Looks like
approvaltests-minimaldoesn't containapproval_utilitiespackage since version17.2.1but still tries to use it.