Skip to content

Commit

Permalink
fix legacy tox --devenv venv (#3013)
Browse files Browse the repository at this point in the history
Co-authored-by: Bernát Gábor <bgabor8@bloomberg.net>
  • Loading branch information
asottile and gaborbernat committed May 25, 2023
1 parent 3238abf commit 5ad66c1
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 23 deletions.
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:
- id: add-trailing-comma
args: [--py36-plus]
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
rev: v3.4.0
hooks:
- id: pyupgrade
args: ["--py37-plus"]
Expand Down Expand Up @@ -52,7 +52,7 @@ repos:
hooks:
- id: flake8
additional_dependencies:
- flake8-bugbear==23.3.23
- flake8-bugbear==23.5.9
- flake8-comprehensions==3.12
- flake8-pytest-style==1.7.2
- flake8-spellcheck==0.28
Expand All @@ -69,7 +69,7 @@ repos:
- "@prettier/plugin-xml@2.2"
args: ["--print-width=120", "--prose-wrap=always"]
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.33.0
rev: v0.34.0
hooks:
- id: markdownlint
- repo: local
Expand Down
1 change: 1 addition & 0 deletions docs/changelog/2925.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix ``tox --devenv venv`` invocation without ``-e`` - by :user:`asottile`.
26 changes: 13 additions & 13 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
build-backend = "hatchling.build"
requires = [
"hatch-vcs>=0.3",
"hatchling>=1.14",
"hatchling>=1.17",
]

[project]
Expand Down Expand Up @@ -51,23 +51,23 @@ dependencies = [
"cachetools>=5.3",
"chardet>=5.1",
"colorama>=0.4.6",
"filelock>=3.11",
'importlib-metadata>=6.4.1; python_version < "3.8"',
"filelock>=3.12",
'importlib-metadata>=6.6; python_version < "3.8"',
"packaging>=23.1",
"platformdirs>=3.2",
"platformdirs>=3.5.1",
"pluggy>=1",
"pyproject-api>=1.5.1",
'tomli>=2.0.1; python_version < "3.11"',
'typing-extensions>=4.5; python_version < "3.8"',
"virtualenv>=20.21",
'typing-extensions>=4.6.2; python_version < "3.8"',
"virtualenv>=20.23",
]
optional-dependencies.docs = [
"furo>=2023.3.27",
"sphinx>=6.1.3",
"furo>=2023.5.20",
"sphinx>=7.0.1",
"sphinx-argparse-cli>=1.11",
"sphinx-autodoc-typehints!=1.23.4,>=1.23",
"sphinx-copybutton>=0.5.2",
"sphinx-inline-tabs>=2022.1.2b11",
"sphinx-inline-tabs>=2023.4.21",
"sphinxcontrib-towncrier>=0.2.1a0",
"towncrier>=22.12",
]
Expand All @@ -79,12 +79,12 @@ optional-dependencies.testing = [
"distlib>=0.3.6",
"flaky>=3.7",
"hatch-vcs>=0.3",
"hatchling>=1.14",
"psutil>=5.9.4",
"hatchling>=1.17",
"psutil>=5.9.5",
"pytest>=7.3.1",
"pytest-cov>=4",
"pytest-cov>=4.1",
"pytest-mock>=3.10",
"pytest-xdist>=3.2.1",
"pytest-xdist>=3.3.1",
"re-assert>=1.1",
'time-machine>=2.9; implementation_name != "pypy"',
"wheel>=0.40",
Expand Down
2 changes: 2 additions & 0 deletions src/tox/session/cmd/legacy.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ def legacy(state: State) -> int:
if option.list_envs or option.list_envs_all:
return list_env(state)
if option.devenv_path:
if option.env.is_default_list:
option.env = CliEnv(["py"])
option.devenv_path = Path(option.devenv_path)
return devenv(state)
if option.parallel != 0: # only 0 means sequential
Expand Down
21 changes: 17 additions & 4 deletions tests/session/cmd/test_legacy.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,27 @@ 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:
devenv = mocker.patch("tox.session.cmd.legacy.devenv")
@pytest.mark.parametrize(
"args",
[
pytest.param((), id="empty"),
pytest.param(("-e", "py"), id="select"),
],
)
def test_legacy_devenv(
tox_project: ToxProjectCreator,
mocker: MockerFixture,
tmp_path: Path,
args: tuple[str, ...],
) -> None:
run_sequential = mocker.patch("tox.session.cmd.devenv.run_sequential")
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)

assert devenv.call_count == 1
assert run_sequential.call_count == 1
assert outcome.state.conf.options.devenv_path == into
assert set(outcome.state.conf.options.env) == {"py"}


def test_legacy_run_parallel(tox_project: ToxProjectCreator, mocker: MockerFixture) -> None:
Expand Down
6 changes: 3 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ commands =
description = format the code base to adhere to our styles, and complain about what we cannot do automatically
skip_install = true
deps =
pre-commit>=3.2.2
pre-commit>=3.3.2
pass_env =
{[testenv]passenv}
PROGRAMDATA
Expand All @@ -52,9 +52,9 @@ commands =
[testenv:type]
description = run type check on code base
deps =
mypy==1.2
mypy==1.3
types-cachetools>=5.3.0.5
types-chardet>=5.0.4.3
types-chardet>=5.0.4.6
commands =
mypy src/tox
mypy tests
Expand Down

0 comments on commit 5ad66c1

Please sign in to comment.