|
13 | 13 | from tox.tox_env.register import REGISTER
|
14 | 14 | from tox.tox_env.runner import RunToxEnv
|
15 | 15 |
|
16 |
| -from ..config.loader.memory import MemoryLoader |
17 | 16 | from ..config.types import EnvList
|
18 | 17 | from ..report import HandledError
|
19 | 18 | from ..tox_env.errors import Skip
|
@@ -134,7 +133,7 @@ def __init__(self, state: State) -> None:
|
134 | 133 | self._manager = MANAGER
|
135 | 134 | self._log_handler = self._state._options.log_handler
|
136 | 135 | self._journal = self._state._journal
|
137 |
| - self._provision: None | tuple[bool, str, MemoryLoader] = None |
| 136 | + self._provision: None | tuple[bool, str] = None |
138 | 137 |
|
139 | 138 | self._state.conf.core.add_config("labels", Dict[str, EnvList], {}, "core labels")
|
140 | 139 | tox_env_filter_regex = getattr(state.conf.options, "skip_env", "").strip()
|
@@ -242,10 +241,12 @@ def _finalize_config(self) -> None:
|
242 | 241 |
|
243 | 242 | def _build_run_env(self, name: str) -> RunToxEnv | None:
|
244 | 243 | if self._provision is not None and self._provision[0] is False and name == self._provision[1]:
|
| 244 | + # ignore provision env unless this is a provision run |
| 245 | + return None |
| 246 | + if self._provision is not None and self._provision[0] and name != self._provision[1]: |
| 247 | + # ignore other envs when this is a provision run |
245 | 248 | return None
|
246 | 249 | env_conf = self._state.conf.get_env(name, package=False)
|
247 |
| - if self._provision is not None and self._provision[1] == name: |
248 |
| - env_conf.loaders.insert(0, self._provision[2]) |
249 | 250 | desc = "the tox execute used to evaluate this environment"
|
250 | 251 | env_conf.add_config(keys="runner", desc=desc, of_type=str, default=self._state.conf.options.default_runner)
|
251 | 252 | runner = REGISTER.runner(cast(str, env_conf["runner"]))
|
@@ -367,8 +368,8 @@ def ensure_only_run_env_is_active(self) -> None:
|
367 | 368 | if invalid:
|
368 | 369 | raise HandledError(f"cannot run packaging environment(s) {','.join(invalid)}")
|
369 | 370 |
|
370 |
| - def _mark_provision(self, on: bool, provision_tox_env: str, loader: MemoryLoader) -> None: |
371 |
| - self._provision = on, provision_tox_env, loader |
| 371 | + def _mark_provision(self, on: bool, provision_tox_env: str) -> None: |
| 372 | + self._provision = on, provision_tox_env |
372 | 373 |
|
373 | 374 |
|
374 | 375 | __all__ = [
|
|
0 commit comments