diff options
author | Masen Furer <m_github@0x26.net> | 2023-01-16 14:08:26 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-16 14:08:26 -0800 |
commit | e4c65bb1fef704aadc6192679f21a55dfeee9c62 (patch) | |
tree | 82b4a7637212019e4a9b8071d91af8cb23cb57dc /src/tox/session | |
parent | a2222e98b320467e821cf9444113e9b40ab3ad1b (diff) | |
download | tox-git-e4c65bb1fef704aadc6192679f21a55dfeee9c62.tar.gz |
Provision: ignore other test environments (#2865)
Fix https://github.com/tox-dev/tox/issues/2862
Diffstat (limited to 'src/tox/session')
-rw-r--r-- | src/tox/session/env_select.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/tox/session/env_select.py b/src/tox/session/env_select.py index f926beda..52f11953 100644 --- a/src/tox/session/env_select.py +++ b/src/tox/session/env_select.py @@ -13,7 +13,6 @@ from tox.tox_env.api import ToxEnvCreateArgs from tox.tox_env.register import REGISTER from tox.tox_env.runner import RunToxEnv -from ..config.loader.memory import MemoryLoader from ..config.types import EnvList from ..report import HandledError from ..tox_env.errors import Skip @@ -134,7 +133,7 @@ class EnvSelector: self._manager = MANAGER self._log_handler = self._state._options.log_handler self._journal = self._state._journal - self._provision: None | tuple[bool, str, MemoryLoader] = None + self._provision: None | tuple[bool, str] = None self._state.conf.core.add_config("labels", Dict[str, EnvList], {}, "core labels") tox_env_filter_regex = getattr(state.conf.options, "skip_env", "").strip() @@ -242,10 +241,12 @@ class EnvSelector: def _build_run_env(self, name: str) -> RunToxEnv | None: if self._provision is not None and self._provision[0] is False and name == self._provision[1]: + # ignore provision env unless this is a provision run + return None + if self._provision is not None and self._provision[0] and name != self._provision[1]: + # ignore other envs when this is a provision run return None env_conf = self._state.conf.get_env(name, package=False) - if self._provision is not None and self._provision[1] == name: - env_conf.loaders.insert(0, self._provision[2]) desc = "the tox execute used to evaluate this environment" env_conf.add_config(keys="runner", desc=desc, of_type=str, default=self._state.conf.options.default_runner) runner = REGISTER.runner(cast(str, env_conf["runner"])) @@ -367,8 +368,8 @@ class EnvSelector: if invalid: raise HandledError(f"cannot run packaging environment(s) {','.join(invalid)}") - def _mark_provision(self, on: bool, provision_tox_env: str, loader: MemoryLoader) -> None: - self._provision = on, provision_tox_env, loader + def _mark_provision(self, on: bool, provision_tox_env: str) -> None: + self._provision = on, provision_tox_env __all__ = [ |