1
0
mirror of https://github.com/fedora-python/tox-current-env.git synced 2025-01-11 17:06:13 +01:00

DRY a function to detect "our" options

This commit is contained in:
Miro Hrončok 2020-11-20 20:49:23 +01:00 committed by Petr Viktorin
parent 4282332967
commit 9004590d6f

View File

@ -50,6 +50,10 @@ def tox_addoption(parser):
) )
def _plugin_active(option):
return option.current_env or option.print_deps_to or option.print_extras_to
@tox.hookimpl @tox.hookimpl
def tox_configure(config): def tox_configure(config):
"""Stores options in the config. Makes all commands external and skips sdist""" """Stores options in the config. Makes all commands external and skips sdist"""
@ -65,7 +69,7 @@ def tox_configure(config):
"--print-deps-only cannot be used together " "--print-deps-only cannot be used together "
+ "with --print-deps-to" + "with --print-deps-to"
) )
if config.option.current_env or config.option.print_deps_to or config.option.print_extras_to: if _plugin_active(config.option):
config.skipsdist = True config.skipsdist = True
for testenv in config.envconfigs: for testenv in config.envconfigs:
config.envconfigs[testenv].whitelist_externals = "*" config.envconfigs[testenv].whitelist_externals = "*"
@ -114,8 +118,7 @@ def rm_venv(venv):
def unsupported_raise(config, venv): def unsupported_raise(config, venv):
if config.option.recreate: if config.option.recreate:
return return
regular = not (config.option.current_env or config.option.print_deps_to or config.option.print_extras_to) if not _plugin_active(config.option) and is_current_env_link(venv):
if regular and is_current_env_link(venv):
if hasattr(tox.hookspecs, "tox_cleanup"): if hasattr(tox.hookspecs, "tox_cleanup"):
raise tox.exception.ConfigError( raise tox.exception.ConfigError(
"Looks like previous --current-env, --print-deps-to or --print-extras-to tox run didn't finish the cleanup. " "Looks like previous --current-env, --print-deps-to or --print-extras-to tox run didn't finish the cleanup. "
@ -190,7 +193,7 @@ def tox_testenv_install_deps(venv, action):
"""We don't install anything""" """We don't install anything"""
config = venv.envconfig.config config = venv.envconfig.config
unsupported_raise(config, venv) unsupported_raise(config, venv)
if config.option.current_env or config.option.print_deps_to or config.option.print_extras_to: if _plugin_active(config.option):
return True return True
@ -238,8 +241,7 @@ def tox_cleanup(session):
def tox_runenvreport(venv, action): def tox_runenvreport(venv, action):
"""Prevent using pip to display installed packages, """Prevent using pip to display installed packages,
use importlib.metadata instead, but fallback to default without our flags.""" use importlib.metadata instead, but fallback to default without our flags."""
option = venv.envconfig.config.option if not _plugin_active(venv.envconfig.config.option):
if not (option.current_env or option.print_deps_to or option.print_extras_to):
return None return None
return ( return (
"{}=={}".format(d.metadata.get("name"), d.version) "{}=={}".format(d.metadata.get("name"), d.version)