Compare commits

...

1 Commits
i9ce ... i10ce

2
.gitignore vendored

@ -1 +1 @@
SOURCES/tox-3.28.0.tar.gz
SOURCES/tox-4.23.2.tar.gz

@ -1 +1 @@
7271fed6eacdb0f4bff92a464f8680295841975e SOURCES/tox-3.28.0.tar.gz
c3be617a46da9d2102795960ceb02f67e599e33e SOURCES/tox-4.23.2.tar.gz

@ -0,0 +1,124 @@
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
---
pyproject.toml | 8 --------
src/tox/pytest.py | 16 +++-------------
tests/test_provision.py | 18 ++----------------
3 files changed, 5 insertions(+), 37 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 74219b1..6cd2da8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -167,9 +167,6 @@ report.omit = [
"tests/type_check/*",
]
run.parallel = true
-run.plugins = [
- "covdefaults",
-]
[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
--- 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
import pytest
from _pytest.fixtures import SubRequest # noqa: PLC2701
-from devpi_process import IndexServer
from virtualenv.info import fs_supports_symlink
import tox.run
@@ -280,9 +279,9 @@ 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")
+ 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
monkeypatch.setenv("PIP_TIMEOUT", str(2))
-@pytest.fixture(scope="session")
-def pypi_server(tmp_path_factory: pytest.TempPathFactory) -> Iterator[IndexServer]:
- # takes around 2.5s
- path = tmp_path_factory.mktemp("pypi")
- with IndexServer(path) as server:
- server.create_index("empty", "volatile=False")
- yield server
-
-
@pytest.fixture(scope="session")
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
--- 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]
return result
-@pytest.fixture(scope="session")
-def pypi_index_self(pypi_server: IndexServer, tox_wheels: list[Path], demo_pkg_inline_wheel: Path) -> Index:
- with elapsed("start devpi and create index"): # takes around 1s
- self_index = pypi_server.create_index("self", "volatile=False")
- with elapsed("upload tox and its wheels to devpi"): # takes around 3.2s on build
- self_index.upload(*tox_wheels, demo_pkg_inline_wheel)
- return self_index
-
-
@pytest.fixture
-def _pypi_index_self(pypi_index_self: Index, monkeypatch: MonkeyPatch) -> None:
- pypi_index_self.use()
- monkeypatch.setenv("PIP_INDEX_URL", pypi_index_self.url)
- monkeypatch.setenv("PIP_RETRIES", str(2))
- monkeypatch.setenv("PIP_TIMEOUT", str(5))
-
+def _pypi_index_self():
+ pytest.skip("needs devpi-process")
def test_provision_requires_nok(tox_project: ToxProjectCreator) -> None:
ini = "[tox]\nrequires = pkg-does-not-exist\n setuptools==1\nskipsdist=true\n"
@@ -161,7 +148,6 @@ def test_provision_requires_ok(tox_project: ToxProjectCreator, tmp_path: Path) -
@pytest.mark.integration
-@pytest.mark.usefixtures("_pypi_index_self")
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})
--
2.47.0

@ -1,34 +1,54 @@
# Tests are disbaled by default, they require:
# a) tested tox to be installed
## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 1;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
%bcond bootstrap 0
# Many tests are enabled by default, unless bootstrapping
%bcond tests %{without bootstrap}
# However, some tests are disabled by default, becasue they require:
# a) tested tox to be installed and/or
# b) internet connection
# To test, do the following:
# 1) Build --without tests (the default)
# (e.g. fedpkg mockbuild)
# To run them, do the following:
# 1) Build --without ci_tests (the default) and optionally --without tests
# (e.g. fedpkg mockbuild --without tests)
# 2) Install the built package
# (e.g. mock install ./results_python-tox/.../tox-...rpm)
# 3) Build again --with tests (and internet connection)
# (e.g. fedpkg mockbuild --enable-network --no-clean-all --with tests)
# 3) Build again --with ci_tests (and internet connection)
# (e.g. fedpkg mockbuild --no-clean-all --enable-network --with ci_tests)
# The Fedora CI tests do this.
%bcond_with tests
%bcond ci_tests 0
# Unset -s on python shebang - ensure that extensions installed with pip
# to user locations are seen and properly loaded
# Fixes https://bugzilla.redhat.com/2057015
%global py3_shebang_flags %(echo %py3_shebang_flags | sed s/s//)
%undefine _py3_shebang_s
Name: python-tox
Version: 3.28.0
Release: 1%{?dist}
Version: 4.23.2
Release: %autorelease
Summary: Virtualenv-based automation of test activities
License: MIT
URL: https://tox.readthedocs.io/
Source0: %{pypi_source tox}
Source: %{pypi_source tox}
# Remove dependency on devpi-process.
# Remove dependency on detect-test-pollution.
# Remove coverage-related dependencies.
# Adjust virtualenv environment variables to make it work with our patched virtualenv.
Patch: fix-tests.patch
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: pyproject-rpm-macros
# for dependency-groups support:
BuildRequires: pyproject-rpm-macros >= 1.16
%if %{with tests}
BuildRequires: /usr/bin/gcc
@ -39,8 +59,11 @@ BuildRequires: /usr/bin/python
BuildRequires: libffi-devel
# xdist is not used upstream, but we use it to speed up the %%check
BuildRequires: python3-pytest-xdist
# The tests only work if the tested tox is installed :(
BuildRequires: tox = %{version}-%{release}
%if %{with ci_tests}
# The CI tests only work if the tested tox is installed :(
# This should technically be the same V-R, but the CI does not handle %%autorelease well
BuildRequires: tox = %{version}
%endif
%endif
%global _description %{expand:
@ -68,22 +91,15 @@ 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: python2.7
Recommends: python3.6
Recommends: python3.7
Recommends: python3.8
Recommends: python3.9
Recommends: python3.10
Recommends: pypy2-devel
Recommends: pypy3-devel
Recommends: python2-devel
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/
%py_provides python3-tox
# Remove this once Fedora 36 goes EOL:
Obsoletes: python3-tox < 3.24.4-2
%description -n tox %_description
@ -91,12 +107,21 @@ Obsoletes: python3-tox < 3.24.4-2
%prep
%autosetup -p1 -n tox-%{version}
# Upstream updates dependencies too aggressively
# 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/"(hatchling)>=.*/"\1>=1.13",/g' \
pyproject.toml
%generate_buildrequires
%pyproject_buildrequires -r %{?with_tests:-x testing}
export SETUPTOOLS_SCM_PRETEND_VERSION="%{version}"
%pyproject_buildrequires -r %{?with_tests:-g test}
%build
export SETUPTOOLS_SCM_PRETEND_VERSION="%{version}"
%pyproject_wheel
@ -107,18 +132,166 @@ Obsoletes: python3-tox < 3.24.4-2
%if %{with tests}
%check
%pytest -n auto
# Skipped tests use internal virtualenv functionality to
# download wheels which does not work with "bundled" version of wheel in
# the Fedora's virtualenv patch.
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"
# https://github.com/tox-dev/tox/issues/3290
%if v"0%{?python3_version}" >= v"3.13"
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
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"
# 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"
%endif
%pytest -v -n auto -k "${k-}" --run-integration
%endif
%files -n tox -f %{pyproject_files}
%{_bindir}/tox
%{_bindir}/tox-quickstart
%changelog
* Wed Oct 23 2024 Sergey Cherevko <s.cherevko@msvsphere-os.ru> - 3.28.0-1
- Rebuilt for MSVSphere 9.4
* Tue Dec 17 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 4.23.2-1
- Rebuilt for MSVSphere 10
## START: Generated by rpmautospec
* Tue Nov 05 2024 Miro Hrončok <miro@hroncok.cz> - 4.23.2-1
- Update to 4.23.2
- Fixes: rhbz#2318843
* Tue Oct 29 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-4
- CI: Add Python 3.14
* Tue Oct 29 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-3
- Drop unneeded test dependency on diff-cover
* Mon Oct 14 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-2
- Stop recommending Pythons not supported by the latest virtualenv
* Sat Oct 05 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.2-1
- Update to 4.21.2
- Fixes: rhbz#2316220
* Tue Oct 01 2024 Miro Hrončok <miro@hroncok.cz> - 4.21.0-1
- Update to 4.21.0
- Fixes: rhbz#2315830
* Tue Oct 01 2024 Charalampos Stratakis <cstratak@redhat.com> - 4.20.0-1
- Update to 4.20.0
- Fixes: rhbz#2302960
* Mon Aug 05 2024 Miro Hrončok <miro@hroncok.cz> - 4.16.0-2
- Do not Recommend python2.7 on Fedora 41+
- https://fedoraproject.org/wiki/Changes/RetirePython2.7
* Fri Jul 26 2024 Miro Hrončok <miro@hroncok.cz> - 4.16.0-1
- Update to 4.16.0
- https://tox.wiki/en/latest/changelog.html#v4-16-0-2024-07-02
- Fixes: rhbz#2277427
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.14.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jul 04 2024 Miro Hrončok <miro@hroncok.cz> - 4.14.2-6
- Remove no longer needed BuildRequires for python3.10
* Thu Jul 04 2024 Miro Hrončok <miro@hroncok.cz> - 4.14.2-5
- Fix CI confusion wrt tox %%{release}
* Thu Jul 04 2024 Lumir Balhar <lbalhar@redhat.com> - 4.14.2-4
- Unskip working tests
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 4.14.2-3
- Rebuilt for Python 3.13
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 4.14.2-2
- Bootstrap for Python 3.13
* Thu Apr 11 2024 Charalampos Stratakis <cstratak@redhat.com> - 4.14.2-1
- Update to 4.14.2
- Resolves: rhbz#2264626
* Fri Jan 26 2024 Miro Hrončok <miro@hroncok.cz> - 4.12.1-1
- Update to 4.12.1
* Thu Jan 25 2024 Miro Hrončok <miro@hroncok.cz> - 4.11.1-6
- Remove old unneeded Obsoletes for python3-tox
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.11.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Sep 06 2023 Miro Hrončok <mhroncok@redhat.com> - 4.11.1-1
- Update to 4.11.1 (rhbz#2236871)
* Wed Aug 30 2023 Miro Hrončok <mhroncok@redhat.com> - 4.11.0-1
- Update to 4.11.0 (rhbz#2189321)
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.12-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 4.4.12-3
- Rebuilt for Python 3.12
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 4.4.12-2
- Bootstrap for Python 3.12
* Thu Apr 13 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.12-1
- Update to 4.4.12 (rhbz#2186618)
* Wed Apr 12 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.11-1
- Update to 4.4.11 (rhbz#2184726)
* Wed Mar 29 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.8-1
- Update to 4.4.8 (rhbz#2177519)
* Tue Feb 28 2023 Miro Hrončok <mhroncok@redhat.com> - 4.4.6-1
- Update to 4.4.6 (rhbz#2164640)
* Tue Jan 24 2023 Miro Hrončok <mhroncok@redhat.com> - 4.3.5-1
- Update to 4.3.5 (rhbz#2161692)
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Miro Hrončok <mhroncok@redhat.com> - 4.3.3-1
- Update to 4.3.3 (rhbz#2161429)
* Mon Jan 16 2023 Miro Hrončok <mhroncok@redhat.com> - 4.3.2-1
- Update to 4.3.2 (rhbz#2161388)
* Mon Jan 16 2023 Lumír Balhar <lbalhar@redhat.com> - 4.3.1-1
- Update to 4.3.1 (rhbz#2161119)
* Thu Jan 12 2023 Miro Hrončok <mhroncok@redhat.com> - 4.2.8-1
- Update to 4.2.8 (rhbz#2160315)
* Wed Jan 11 2023 Miro Hrončok <mhroncok@redhat.com> - 4.2.7-1
- Update to 4.2.7 (rhbz#2160186)
* Tue Jan 3 2023 Lumír Balhar <lbalhar@redhat.com> - 4.2.6-1
- Update to 4.2.6 (rhbz#1914413)
* Sun Dec 18 2022 Miro Hrončok <mhroncok@redhat.com> - 3.28.0-1
- Update to 3.28.0
@ -129,9 +302,15 @@ Obsoletes: python3-tox < 3.24.4-2
* Wed Sep 14 2022 Miro Hrončok <mhroncok@redhat.com> - 3.26.0-1
- Update to 3.26.0
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.25.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 13 2022 Lumír Balhar <lbalhar@redhat.com> - 3.25.1-1
- Update to 3.25.1
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.25.0-2
- Rebuilt for Python 3.11
* Mon May 09 2022 Miro Hrončok <mhroncok@redhat.com> - 3.25.0-1
- Update to 3.25.0
@ -404,3 +583,5 @@ Obsoletes: python3-tox < 3.24.4-2
* Tue Oct 09 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-1
- initial packaging
## END: Generated by rpmautospec

Loading…
Cancel
Save