diff options
Diffstat (limited to 'tests/session')
-rw-r--r-- | tests/session/cmd/test_legacy.py | 13 | ||||
-rw-r--r-- | tests/session/test_env_select.py | 11 |
2 files changed, 22 insertions, 2 deletions
diff --git a/tests/session/cmd/test_legacy.py b/tests/session/cmd/test_legacy.py index 957149b6..1aa7e473 100644 --- a/tests/session/cmd/test_legacy.py +++ b/tests/session/cmd/test_legacy.py @@ -78,13 +78,22 @@ def test_legacy_list_all(tox_project: ToxProjectCreator, mocker: MockerFixture, assert outcome.state.conf.options.show_core is False -def test_legacy_devenv(tox_project: ToxProjectCreator, mocker: MockerFixture, tmp_path: Path) -> None: +@pytest.mark.parametrize("args", [(), ("-e", "py")]) +def test_legacy_devenv( + tox_project: ToxProjectCreator, + mocker: MockerFixture, + tmp_path: Path, + args: tuple[str, ...], +) -> None: devenv = mocker.patch("tox.session.cmd.legacy.devenv") into = tmp_path / "b" - outcome = tox_project({"tox.ini": ""}).run("le", "--devenv", str(into), "-e", "py") + outcome = tox_project({"tox.ini": ""}).run("le", "--devenv", str(into), *args) + + outcome.state.envs.ensure_only_run_env_is_active() assert devenv.call_count == 1 + assert set(outcome.state.conf.options.env) == {"py"} assert outcome.state.conf.options.devenv_path == into diff --git a/tests/session/test_env_select.py b/tests/session/test_env_select.py index 496107a3..e8378fc7 100644 --- a/tests/session/test_env_select.py +++ b/tests/session/test_env_select.py @@ -2,7 +2,10 @@ from __future__ import annotations import pytest +from tox.config.cli.parse import get_options from tox.pytest import MonkeyPatch, ToxProjectCreator +from tox.session.env_select import CliEnv, EnvSelector +from tox.session.state import State def test_label_core_can_define(tox_project: ToxProjectCreator) -> None: @@ -117,3 +120,11 @@ def test_tox_skip_env_logs(tox_project: ToxProjectCreator, monkeypatch: MonkeyPa outcome = project.run("l", "--no-desc") outcome.assert_success() outcome.assert_out_err("ROOT: skip environment mypy, matches filter 'm[y]py'\npy310\npy39\n", "") + + +def test_env_select_lazily_looks_at_envs() -> None: + state = State(get_options(), []) + env_selector = EnvSelector(state) + # late-assigning env should be reflected in env_selector + state.conf.options.env = CliEnv("py") + assert set(env_selector.iter()) == {"py"} |