summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2020-11-22 13:19:39 +0000
committerBernát Gábor <bgabor8@bloomberg.net>2020-11-22 13:19:39 +0000
commitcff47d5876d45e389aeddf8cfb5e5b234b25391d (patch)
tree337754b8392ed047b78afd800447ab15918e57cf
parent0229cdd364cae405ef7078be9c4c65281e44b54a (diff)
downloadtox-git-rewrote.tar.gz
speed up test suite: symlinks, isolated python call and use wheel over sdistrewrote
Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
-rw-r--r--.pre-commit-config.yaml2
-rw-r--r--src/tox/pytest.py2
-rw-r--r--src/tox/tox_env/python/virtual_env/api.py4
-rw-r--r--tests/session/cmd/run/test_tox_env_runner.py16
4 files changed, 12 insertions, 12 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7f601575..b7f21263 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -12,7 +12,7 @@ repos:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/asottile/pyupgrade
- rev: v2.7.3
+ rev: v2.7.4
hooks:
- id: pyupgrade
args:
diff --git a/src/tox/pytest.py b/src/tox/pytest.py
index a00ef3fb..d6b0be86 100644
--- a/src/tox/pytest.py
+++ b/src/tox/pytest.py
@@ -147,6 +147,8 @@ class ToxProject:
with self.monkeypatch.context() as m:
m.setattr(tox.run, "setup_state", our_setup_state)
m.setattr(sys, "argv", [sys.executable, "-m", "tox"] + list(args))
+ m.setenv("VIRTUALENV_SYMLINK_APP_DATA", "1")
+ m.setenv("VIRTUALENV_SYMLINKS", "1")
try:
tox_run(args)
except SystemExit as exception:
diff --git a/src/tox/tox_env/python/virtual_env/api.py b/src/tox/tox_env/python/virtual_env/api.py
index b9440e36..d6f865e5 100644
--- a/src/tox/tox_env/python/virtual_env/api.py
+++ b/src/tox/tox_env/python/virtual_env/api.py
@@ -96,7 +96,7 @@ class VirtualEnv(Python, ABC):
) -> None:
if not packages:
return
- install_command = [self.creator.exe, "-m", "pip", "--disable-pip-version-check", "install"]
+ install_command = [self.creator.exe, "-I", "-m", "pip", "--disable-pip-version-check", "install"]
if no_deps:
install_command.append("--no-deps")
if force_reinstall:
@@ -116,7 +116,7 @@ class VirtualEnv(Python, ABC):
)
def get_installed_packages(self) -> List[str]:
- list_command = [self.creator.exe, "-m", "pip", "freeze", "--all"]
+ list_command = [self.creator.exe, "-I", "-m", "pip", "freeze", "--all"]
result = self.execute(
cmd=list_command,
allow_stdin=False,
diff --git a/tests/session/cmd/run/test_tox_env_runner.py b/tests/session/cmd/run/test_tox_env_runner.py
index e45be57a..91970f1a 100644
--- a/tests/session/cmd/run/test_tox_env_runner.py
+++ b/tests/session/cmd/run/test_tox_env_runner.py
@@ -31,7 +31,7 @@ def test_result_json_run_one(tox_project: ToxProjectCreator) -> None:
]
project = tox_project(
{
- "tox.ini": f"[tox]\nenvlist=py\nnpackage=wheel\n[testenv]\ncommands={cmd[0]}\n {cmd[1]}",
+ "tox.ini": f"[tox]\nenvlist=py\n[testenv]\npackage=wheel\ncommands={cmd[0]}\n {cmd[1]}",
"setup.py": "from setuptools import setup\nsetup(name='a', version='1.0', py_modules=['run'],"
"install_requires=['setuptools>44'])",
"run.py": "print('run')",
@@ -39,8 +39,7 @@ def test_result_json_run_one(tox_project: ToxProjectCreator) -> None:
}
)
log = project.path / "log.json"
- outcome = project.run("r", "-e", "py", "--result-json", str(log))
-
+ outcome = project.run("r", "-vv", "-e", "py", "--result-json", str(log))
outcome.assert_success()
with log.open("rt") as file_handler:
log_report = json.load(file_handler)
@@ -55,12 +54,11 @@ def test_result_json_run_one(tox_project: ToxProjectCreator) -> None:
"version": py_info.version,
"version_info": list(py_info.version_info),
}
-
- packaging_setup = get_cmd_exit_run_id(log_report, ".package", "setup")
+ packaging_setup = get_cmd_exit_run_id(log_report, ".package-py", "setup")
assert packaging_setup == [(0, "install"), (0, "build requires"), (0, "freeze"), (0, "package meta")]
- packaging_test = get_cmd_exit_run_id(log_report, ".package", "test")
+ packaging_test = get_cmd_exit_run_id(log_report, ".package-py", "test")
assert packaging_test == [(0, "build")]
- packaging_installed = log_report["testenvs"][".package"].pop("installed_packages")
+ packaging_installed = log_report["testenvs"][".package-py"].pop("installed_packages")
assert {i[: i.find("==")] for i in packaging_installed} == {"pip", "setuptools", "wheel"}
py_setup = get_cmd_exit_run_id(log_report, "py", "setup")
@@ -72,7 +70,7 @@ def test_result_json_run_one(tox_project: ToxProjectCreator) -> None:
assert {i[: i.find("==")] if "@" not in i else "a" for i in packaging_installed} == expected_pkg
install_package = log_report["testenvs"]["py"].pop("installpkg")
assert re.match("^[a-fA-F0-9]{64}$", install_package.pop("sha256"))
- assert install_package == {"basename": "a-1.0.tar.gz", "type": "file"}
+ assert install_package == {"basename": "a-1.0-py3-none-any.whl", "type": "file"}
expected = {
"reportversion": "1",
@@ -80,7 +78,7 @@ def test_result_json_run_one(tox_project: ToxProjectCreator) -> None:
"platform": sys.platform,
"testenvs": {
"py": {"python": host_python},
- ".package": {"python": host_python},
+ ".package-py": {"python": host_python},
},
}
assert "host" in log_report