Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 62ab817d28 | |||
| fa857a3318 | |||
| afb013056b | |||
| 2d52eab0d1 | |||
| 6b3221eebd | |||
| 17cf20500b | |||
| 104f6b73e2 | |||
| 453dfdb9aa | |||
| eeb73bfe13 | |||
| 0464e297ad | |||
| 07d47763fe | |||
| 0c1e618f44 | |||
| 374d223f0a | |||
| f7758c7fda | |||
| f85007ad88 |
+79
-36
@@ -1,19 +1,49 @@
|
||||
From 1ade3df7eaefad792a2a519c0f3cc3a8f28a5829 Mon Sep 17 00:00:00 2001
|
||||
From: Lumir Balhar <lbalhar@redhat.com>
|
||||
Date: Tue, 10 Jan 2023 08:34:25 +0100
|
||||
Subject: [PATCH] fix tests
|
||||
From 924b03e0446561bbfca9679a44642a1a96dd8f10 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <thrnciar@redhat.com>
|
||||
Date: Fri, 28 Mar 2025 09:44:24 +0100
|
||||
Subject: [PATCH] Fix tests
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Co-Authored-By: Lumir Balhar <lbalhar@redhat.com>
|
||||
Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
|
||||
---
|
||||
pyproject.toml | 8 --------
|
||||
src/tox/pytest.py | 16 +++-------------
|
||||
tests/test_provision.py | 18 ++----------------
|
||||
3 files changed, 5 insertions(+), 37 deletions(-)
|
||||
pyproject.toml | 11 +----------
|
||||
src/tox/pytest.py | 16 +++-------------
|
||||
tests/test_provision.py | 18 ++----------------
|
||||
.../package/test_python_package_util.py | 10 ++++++++--
|
||||
4 files changed, 14 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 74219b1..6cd2da8 100644
|
||||
index 9b52c2f..335012b 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -167,9 +167,6 @@ report.omit = [
|
||||
@@ -82,22 +82,16 @@ dev = [
|
||||
]
|
||||
test = [
|
||||
"build[virtualenv]>=1.2.2.post1",
|
||||
- "covdefaults>=2.3",
|
||||
- "detect-test-pollution>=1.2",
|
||||
- "devpi-process>=1.0.2",
|
||||
- "diff-cover>=9.2",
|
||||
"distlib>=0.3.9",
|
||||
"flaky>=3.8.1",
|
||||
"hatch-vcs>=0.4",
|
||||
"hatchling>=1.27",
|
||||
"psutil>=6.1.1",
|
||||
"pytest>=8.3.4",
|
||||
- "pytest-cov>=5",
|
||||
"pytest-mock>=3.14",
|
||||
"pytest-xdist>=3.6.1",
|
||||
"re-assert>=1.1",
|
||||
- "setuptools>=75.3; python_version<='3.8'",
|
||||
- "setuptools>=75.8; python_version>'3.8'",
|
||||
+ "setuptools>=75.1",
|
||||
"time-machine>=2.15; implementation_name!='pypy'",
|
||||
"wheel>=0.45.1",
|
||||
]
|
||||
@@ -223,9 +217,6 @@ report.omit = [
|
||||
"tests/type_check/*",
|
||||
]
|
||||
run.parallel = true
|
||||
@@ -23,26 +53,8 @@ index 74219b1..6cd2da8 100644
|
||||
|
||||
[tool.towncrier]
|
||||
name = "tox"
|
||||
@@ -229,17 +226,12 @@ release = [
|
||||
]
|
||||
test = [
|
||||
"build[virtualenv]>=1.2.2",
|
||||
- "covdefaults>=2.3",
|
||||
- "detect-test-pollution>=1.2",
|
||||
- "devpi-process>=1.0.2",
|
||||
- "diff-cover>=9.2",
|
||||
"distlib>=0.3.8",
|
||||
"flaky>=3.8.1",
|
||||
"hatch-vcs>=0.4",
|
||||
"hatchling>=1.25",
|
||||
"psutil>=6",
|
||||
"pytest>=8.3.3",
|
||||
- "pytest-cov>=5",
|
||||
"pytest-mock>=3.14",
|
||||
"pytest-xdist>=3.6.1",
|
||||
"re-assert>=1.1",
|
||||
diff --git a/src/tox/pytest.py b/src/tox/pytest.py
|
||||
index ca42a5b..183e2f4 100644
|
||||
index bca2ad8..973e714 100644
|
||||
--- a/src/tox/pytest.py
|
||||
+++ b/src/tox/pytest.py
|
||||
@@ -17,7 +17,6 @@ from typing import TYPE_CHECKING, Any, Callable, Iterator, Protocol, Sequence, c
|
||||
@@ -53,20 +65,21 @@ index ca42a5b..183e2f4 100644
|
||||
from virtualenv.info import fs_supports_symlink
|
||||
|
||||
import tox.run
|
||||
@@ -280,9 +279,9 @@ class ToxProject:
|
||||
@@ -280,10 +279,10 @@ class ToxProject:
|
||||
m.setattr(sys, "argv", [sys.executable, "-m", "tox", *list(args)])
|
||||
m.setenv("VIRTUALENV_SYMLINK_APP_DATA", "1")
|
||||
m.setenv("VIRTUALENV_SYMLINKS", "1")
|
||||
- m.setenv("VIRTUALENV_PIP", "embed")
|
||||
- m.setenv("VIRTUALENV_WHEEL", "embed")
|
||||
- m.setenv("VIRTUALENV_SETUPTOOLS", "embed")
|
||||
+ m.setenv("VIRTUALENV_PIP", "bundle")
|
||||
+ m.setenv("VIRTUALENV_WHEEL", "bundle")
|
||||
if sys.version_info[:2] < (3, 9):
|
||||
- m.setenv("VIRTUALENV_WHEEL", "embed")
|
||||
- m.setenv("VIRTUALENV_SETUPTOOLS", "embed")
|
||||
+ m.setenv("VIRTUALENV_WHEEL", "bundle")
|
||||
+ m.setenv("VIRTUALENV_SETUPTOOLS", "bundle")
|
||||
try:
|
||||
tox_run(args)
|
||||
except SystemExit as exception:
|
||||
@@ -475,15 +474,6 @@ def enable_pypi_server(monkeypatch: pytest.MonkeyPatch, url: str | None) -> None
|
||||
@@ -476,15 +475,6 @@ def enable_pypi_server(monkeypatch: pytest.MonkeyPatch, url: str | None) -> None
|
||||
monkeypatch.setenv("PIP_TIMEOUT", str(2))
|
||||
|
||||
|
||||
@@ -83,7 +96,7 @@ index ca42a5b..183e2f4 100644
|
||||
def _invalid_index_fake_port() -> int:
|
||||
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as socket_handler:
|
||||
diff --git a/tests/test_provision.py b/tests/test_provision.py
|
||||
index 5b2b652..7657c2e 100644
|
||||
index 2030cb9..f706d6c 100644
|
||||
--- a/tests/test_provision.py
|
||||
+++ b/tests/test_provision.py
|
||||
@@ -98,22 +98,9 @@ def tox_wheels(tox_wheel: Path, tmp_path_factory: TempPathFactory) -> list[Path]
|
||||
@@ -119,6 +132,36 @@ index 5b2b652..7657c2e 100644
|
||||
def test_provision_platform_check(tox_project: ToxProjectCreator) -> None:
|
||||
ini = "[tox]\nrequires=demo-pkg-inline\n[testenv]\npackage=skip\n[testenv:.tox]\nplatform=wrong_platform"
|
||||
proj = tox_project({"tox.ini": ini})
|
||||
diff --git a/tests/tox_env/python/virtual_env/package/test_python_package_util.py b/tests/tox_env/python/virtual_env/package/test_python_package_util.py
|
||||
index efb5b12..8a57426 100644
|
||||
--- a/tests/tox_env/python/virtual_env/package/test_python_package_util.py
|
||||
+++ b/tests/tox_env/python/virtual_env/package/test_python_package_util.py
|
||||
@@ -15,6 +15,12 @@ if TYPE_CHECKING:
|
||||
|
||||
from importlib.metadata import Distribution, PathDistribution
|
||||
|
||||
+from importlib.metadata import version
|
||||
+from packaging.version import Version
|
||||
+
|
||||
+SETUPTOOLS_VERSION = Version(version("setuptools"))
|
||||
+SETUPTOOLS_75_6 = SETUPTOOLS_VERSION >= Version("75.6")
|
||||
+
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def pkg_with_extras(pkg_with_extras_project: Path) -> PathDistribution:
|
||||
@@ -43,10 +49,10 @@ def test_load_dependency_many_extra(pkg_with_extras: PathDistribution) -> None:
|
||||
exp = [
|
||||
Requirement("platformdirs>=2.1"),
|
||||
Requirement("colorama>=0.4.3"),
|
||||
- *(sphinx if sys.version_info[0:2] <= (3, 8) else []),
|
||||
+ *(sphinx if not SETUPTOOLS_75_6 else []),
|
||||
Requirement(f'covdefaults>=1.2; python_version == "2.7" or python_version == "{py_ver}"'),
|
||||
Requirement(f'pytest>=5.4.1; python_version == "{py_ver}"'),
|
||||
- *(sphinx if sys.version_info[0:2] > (3, 8) else []),
|
||||
+ *(sphinx if SETUPTOOLS_75_6 else []),
|
||||
]
|
||||
for left, right in zip_longest(result, exp):
|
||||
assert isinstance(right, Requirement)
|
||||
--
|
||||
2.47.0
|
||||
2.49.0
|
||||
|
||||
|
||||
+18
-7
@@ -20,7 +20,7 @@
|
||||
%undefine _py3_shebang_s
|
||||
|
||||
Name: python-tox
|
||||
Version: 4.23.2
|
||||
Version: 4.26.0
|
||||
Release: %autorelease
|
||||
Summary: Virtualenv-based automation of test activities
|
||||
|
||||
@@ -32,6 +32,7 @@ Source: %{pypi_source tox}
|
||||
# Remove dependency on detect-test-pollution.
|
||||
# Remove coverage-related dependencies.
|
||||
# Adjust virtualenv environment variables to make it work with our patched virtualenv.
|
||||
# Adjust setuptools-version specific ifs to check for setuptools version rather than Python version.
|
||||
Patch: fix-tests.patch
|
||||
|
||||
BuildArch: noarch
|
||||
@@ -81,10 +82,11 @@ Summary: %{summary}
|
||||
# however it launches other Python versions as subprocesses.
|
||||
# It recommends all Python versions it supports. (This is an exception to
|
||||
# the rule that Fedora packages may not require the alternative interpreters.)
|
||||
Recommends: python3.8
|
||||
%if 0%{?fedora}
|
||||
Recommends: python3.9
|
||||
Recommends: python3.10
|
||||
Recommends: pypy3-devel
|
||||
%endif
|
||||
Recommends: python3-devel
|
||||
# Instead of adding new Pythons here, add `Supplements: tox` to them, see:
|
||||
# https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/NVVUXSVSPFQOWIGBE2JNI67HEO7R63ZQ/
|
||||
@@ -101,7 +103,7 @@ Recommends: python3-devel
|
||||
# see https://github.com/tox-dev/tox/pull/2843#discussion_r1065028356
|
||||
sed -ri -e 's/"(packaging|filelock|platformdirs|psutil|pyproject-api|pytest|pytest-mock|pytest-xdist|wheel|pluggy|distlib|cachetools|build\[virtualenv\]|setuptools|flaky)>=.*/"\1",/g' \
|
||||
-e 's/"(time-machine)>=[^;"]+/"\1/' \
|
||||
-e 's/"(virtualenv)>=.*/"\1>=20",/g' \
|
||||
-e 's/"(virtualenv)>=.*/"\1>=20.29",/g' \
|
||||
-e 's/"(hatchling)>=.*/"\1>=1.13",/g' \
|
||||
pyproject.toml
|
||||
|
||||
@@ -122,6 +124,12 @@ export SETUPTOOLS_SCM_PRETEND_VERSION="%{version}"
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
# Upstream requires virtualenv >= 20.31 for tests, and no longer sets VIRTUALENV_WHEEL.
|
||||
# To support environments with older virtualenv, we set it manually:
|
||||
%if v"%(%{python3} -c 'import importlib.metadata as im; print(im.version("virtualenv"))' 2>/dev/null || echo 0)" < v"20.31"
|
||||
export VIRTUALENV_WHEEL=bundle
|
||||
%endif
|
||||
|
||||
# Skipped tests use internal virtualenv functionality to
|
||||
# download wheels which does not work with "bundled" version of wheel in
|
||||
# the Fedora's virtualenv patch.
|
||||
@@ -135,23 +143,26 @@ k="${k-}${k+ and }not test_str_convert_ok_py39"
|
||||
%endif
|
||||
|
||||
# https://github.com/tox-dev/tox/commit/698f1dd663
|
||||
# Until we have setuptools 70.1+ we skip those
|
||||
# The tests fail with setuptools < 70.1
|
||||
%if v"%(%{python3} -c 'import importlib.metadata as im; print(im.version("setuptools"))' 2>/dev/null || echo 0)" < v"70.1"
|
||||
k="${k-}${k+ and }not test_result_json_sequential"
|
||||
k="${k-}${k+ and }not test_setuptools_package"
|
||||
k="${k-}${k+ and }not test_skip_develop_mode"
|
||||
k="${k-}${k+ and }not test_tox_install_pkg_sdist"
|
||||
%else
|
||||
# this test fails with virtualenv < 20.31 with bundled wheel
|
||||
test -z $VIRTUALENV_WHEEL || k="${k-}${k+ and }not test_result_json_sequential"
|
||||
%endif
|
||||
|
||||
# The following tests either need internet connection or installed tox
|
||||
# so we only run them on the CI.
|
||||
%if %{without ci_tests}
|
||||
k="${k-}${k+ and }not test_virtualenv_flipped_settings"
|
||||
k="${k-}${k+ and }not test_virtualenv_env_ignored_if_set"
|
||||
k="${k-}${k+ and }not test_virtualenv_env_used_if_not_set"
|
||||
k="${k-}${k+ and }not test_build_wheel_external"
|
||||
k="${k-}${k+ and }not keyboard_interrupt"
|
||||
k="${k-}${k+ and }not test_call_as_module"
|
||||
k="${k-}${k+ and }not test_call_as_exe"
|
||||
k="${k-}${k+ and }not test_run_installpkg_targz"
|
||||
test -z $VIRTUALENV_WHEEL && k="${k-}${k+ and }not test_result_json_sequential"
|
||||
%endif
|
||||
|
||||
%pytest -v -n auto -k "${k-}" --run-integration
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
Filters = [
|
||||
'spelling-error .* en_US [Vv]irtualenv ',
|
||||
]
|
||||
@@ -1 +1 @@
|
||||
SHA512 (tox-4.23.2.tar.gz) = 5008964ebed3c94a6ad5f0985150c7bf73fd3996b91171b16323d195bf0288102aac0dc38848bd4c63e5c5678ab1a82c170579139eda97132a4555eb11d381a0
|
||||
SHA512 (tox-4.26.0.tar.gz) = ad2e311cd63c45a079b8c230a2feb364270b7a8bcf44b626385f8e442c6683ae841b3f34417b504f927608685a254fef3767d832fb5cfcc324c9cbf6ff7ea997
|
||||
|
||||
+22
-17
@@ -30,33 +30,45 @@
|
||||
- all_supplementing_pythons:
|
||||
dir: tests
|
||||
run: ./all_supplementing_pythons.py
|
||||
- smoke38:
|
||||
- smoke27:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.8 ./venv.sh
|
||||
run: VERSION=2.7 INSTALL_OR_SKIP=true METHOD=virtualenv TOX_REQUIRES="virtualenv<20.22.0" ./venv.sh
|
||||
- smoke36:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.6 INSTALL_OR_SKIP=true TOX_REQUIRES="virtualenv<20.22.0" ./venv.sh
|
||||
- smoke39:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.9 ./venv.sh
|
||||
run: VERSION=3.9 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke310:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.10 ./venv.sh
|
||||
run: VERSION=3.10 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke311:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.11 ./venv.sh
|
||||
run: VERSION=3.11 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke312:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.12 ./venv.sh
|
||||
- smoke313:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.13 ./venv.sh
|
||||
run: VERSION=3.13 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke313t:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.13t INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke314:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.14 ./venv.sh
|
||||
run: VERSION=3.14 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke314t:
|
||||
dir: python/smoke
|
||||
run: VERSION=3.14t INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke_pypy39:
|
||||
dir: python/smoke
|
||||
run: PYTHON=pypy3.9 VERSION=3.9 ./venv.sh
|
||||
run: PYTHON=pypy3.9 VERSION=3.9 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke_pypy310:
|
||||
dir: python/smoke
|
||||
run: PYTHON=pypy3.10 VERSION=3.10 ./venv.sh
|
||||
run: PYTHON=pypy3.10 VERSION=3.10 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- smoke_pypy311:
|
||||
dir: python/smoke
|
||||
run: PYTHON=pypy3.11 VERSION=3.11 INSTALL_OR_SKIP=true ./venv.sh
|
||||
- pyproject_pytest:
|
||||
dir: pyproject-rpm-macros/tests
|
||||
run: ./mocktest.sh python-pytest
|
||||
@@ -69,15 +81,8 @@
|
||||
required_packages:
|
||||
- gcc
|
||||
- virtualenv
|
||||
- python3.8
|
||||
- python3.9
|
||||
- python3.10-devel
|
||||
- python3.11-devel
|
||||
- python3-devel
|
||||
- python3.12-devel
|
||||
- python3.13-devel
|
||||
- python3.14-devel
|
||||
- pypy3.9-devel
|
||||
- pypy3.10-devel
|
||||
- python3-tox
|
||||
- python3-dnf
|
||||
- mock
|
||||
|
||||
Reference in New Issue
Block a user