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