Update non-poetry error handling to be more permissive

Fixes #1
This commit is contained in:
Ethan Paul 2020-09-29 18:58:42 -04:00
parent ee6f939b6a
commit 05c5a26cc4
No known key found for this signature in database
GPG Key ID: C5F5542B54A4D9C6

View File

@ -268,21 +268,16 @@ def tox_testenv_install_deps(venv: ToxVirtualEnv, action: ToxAction):
try:
poetry = PoetryFactory().create_poetry(venv.envconfig.config.toxinidir)
except RuntimeError as err:
except RuntimeError:
# Support running the plugin when the current tox project does not use Poetry for its
# environment/dependency management.
#
# ``RuntimeError`` is dangerous to blindly catch because it can be (and in Poetry's case,
# is) raised in many different places for different purposes. This check of the error
# content, while crude and potentially fragile, will hopefully prevent ``RuntimeError``s
# not caused by this specific condition to be re-raised as genuine errors. This may need
# tuning in the future.
if "[tool.poetry] section not found" in str(err):
# is) raised in many different places for different purposes.
reporter.verbosity1(
f"{_REPORTER_PREFIX} project does not use Poetry for env management, skipping installation of locked dependencies"
)
return
raise err
reporter.verbosity1(
f"{_REPORTER_PREFIX} loaded project pyproject.toml from {poetry.file}"