Compare commits

...

150 Commits

Author SHA1 Message Date
Tomáš Hrnčiar eeb73bfe13 CI: Test with pypy3.11, make pypy3.9 optional, as it was retired on Fedora 42+ 2025-03-28 12:38:54 +01:00
Tomáš Hrnčiar 0464e297ad Update to 4.25.0
Fixes: rhbz#2350693
2025-03-28 10:10:38 +01:00
Miro Hrončok 07d47763fe Python 3.14.0a6+ test fix
- Fixes: rhbz#2353145
2025-03-18 13:02:59 +01:00
Miro Hrončok 0c1e618f44 Update to 4.24.1
- Fixes: rhbz#2339185
2025-01-29 16:21:46 +01:00
Miro Hrončok 374d223f0a Conditionalize the Recommended Python versions based on Fedora version
See https://fedoraproject.org/wiki/Changes/RetirePython3.8

Eventually, we will get rid of this section and only use Supplements.

Also update the CI config to make 3.8 optional.

[skip changelog]
2025-01-29 16:21:32 +01:00
Fedora Release Engineering f7758c7fda Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 20:12:58 +00:00
Miro Hrončok f85007ad88 CI: Test tox provision with end-of-life Python versions
https://tox.wiki/en/4.23.0/faq.html#testing-end-of-life-python-versions

[skip changelog]
2024-12-03 18:43:41 +01:00
Miro Hrončok 9a5726b90a Update to 4.23.2
- Fixes: rhbz#2318843
2024-11-05 19:12:34 +01:00
Miro Hrončok 719b4b0f84 CI: Add Python 3.14 2024-10-29 18:23:58 +01:00
Miro Hrončok 6338097dbb Drop unneeded test dependency on diff-cover 2024-10-29 17:38:46 +01:00
Miro Hrončok 9c36dcf721 Stop recommending Pythons not supported by the latest virtualenv
Also, stop running the CI for them.

This is meant for Fedora 42+ only.
2024-10-14 14:38:26 +02:00
Miro Hrončok 1cc6c4bdef Update to 4.21.2
- Fixes: rhbz#2316220
2024-10-05 21:28:05 +02:00
Miro Hrončok 0351d13c2f Update to 4.21.0
- Fixes: rhbz#2315830
2024-10-01 11:13:39 +02:00
Charalampos Stratakis fc850ade5e Update to 4.20.0
- Fixes: rhbz#2302960
2024-10-01 03:34:39 +02:00
Miro Hrončok 90d4eb4cc6 Allow to use the bootstrap bcond to disable tests
This makes it possible to bootstrap the package in EPEL 10
without flipping the bcond in the spec.

[skip changelog]
2024-08-21 18:19:42 +02:00
Miro Hrončok daf03eccbb Do not Recommend python2.7 on Fedora 41+
- https://fedoraproject.org/wiki/Changes/RetirePython2.7

Also, make the CI test ready for the retirement.
2024-08-05 16:25:06 +02:00
Miro Hrončok b7f56e2c59 Update to 4.16.0
- https://tox.wiki/en/latest/changelog.html#v4-16-0-2024-07-02
- Fixes: rhbz#2277427
2024-07-26 17:02:24 +02:00
Fedora Release Engineering 8f8f276708 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 16:36:29 +00:00
Miro Hrončok f3490b2856 Remove no longer needed BuildRequires for python3.10 2024-07-04 17:22:55 +00:00
Miro Hrončok 5d1630d56d Fix CI confusion wrt tox %{release}
We were seeing:

    No match for argument: tox = 4.12.1-1.fc41

Apparently, standard-test-source does not handle the dist-git history.
Hence, when the SRPM is built in mocktest.sh, %autorelease is set to 1.
However, the available tox from the CI scratchbuild might have a greater Release.

We relax the BuildRequirement.
We assume mock will install the right build anyway.
The CI scratchbuild will either have a different (usually greater) Version
when the PR upgrades or downgrades tox
or a greater Release otherwise, thanks to %autorelease.
2024-07-04 17:22:55 +00:00
Lumir Balhar 3b88e4a3d5 Unskip working tests 2024-07-04 17:22:55 +00:00
Python Maint 53848e80a8 Rebuilt for Python 3.13 2024-06-08 16:06:48 +02:00
Python Maint 3a13bc1a31 Bootstrap for Python 3.13 2024-06-07 14:12:44 +02:00
Charalampos Stratakis 42727f7f23 Update to 4.14.2
- Resolves: rhbz#2264626
2024-04-11 02:48:52 +02:00
Miro Hrončok e8c52fe381 Update to 4.12.1 2024-01-26 11:28:09 +01:00
Miro Hrončok 867b65d1a1 CI: Update the list of Pythons
[skip changelog]
2024-01-26 11:28:09 +01:00
Miro Hrončok 920a8761e6 Remove old unneeded Obsoletes for python3-tox 2024-01-25 16:01:52 +01:00
Fedora Release Engineering fa73dff194 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 08:21:13 +00:00
Miro Hrončok f480c33d04 Convert to %autorelease and %autochangelog
Now when https://pagure.io/fedora-ci/general/issue/381 is fixed,
we don't need to preserve spec compatibility with RHEL 8.

[skip changelog]
2023-09-25 15:15:37 +02:00
Miro Hrončok 7739b63e7b Switch to the new, more understandable bcond syntax
Now when https://pagure.io/fedora-ci/general/issue/381 is fixed,
we don't need to preserve spec compatibility with RHEL 8.

[skip changelog]
2023-09-25 15:15:35 +02:00
Miro Hrončok 2e83f2e316 Stop needlessly enumerating sources and patches
Now when https://pagure.io/fedora-ci/general/issue/381 is fixed,
we don't need to preserve spec compatibility with RHEL 8.

[skip changelog]
2023-09-25 15:15:32 +02:00
Miro Hrončok f1b52407fa Update to 4.11.1 (rhbz#2236871) 2023-09-06 21:14:37 +02:00
Miro Hrončok 2e5ee9fbed CI: Add PyPy 3.10 2023-08-31 20:52:42 +02:00
Miro Hrončok 9ec60fcdb5 Update to 4.11.0 (rhbz#2189321) 2023-08-31 20:52:42 +02:00
Fedora Release Engineering 6e1c15c976 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 14:52:48 +00:00
Miro Hrončok 47a95338c9 Use dnf-3 on the CI to workaround https://bugzilla.redhat.com/2223347 2023-07-17 14:19:45 +02:00
Miro Hrončok 4d75123998 Enumerate patches to workaround CI's old RPM version
See https://pagure.io/fedora-ci/general/issue/381
2023-07-17 13:39:05 +02:00
Miro Hrončok d8295e20cb Update a test regex to work with Python 3.12+ 2023-07-17 11:37:55 +02:00
Python Maint 404f2b434c Rebuilt for Python 3.12 2023-06-29 20:10:58 +02:00
Python Maint 74fbe969cd Bootstrap for Python 3.12 2023-06-14 07:03:00 +02:00
Miro Hrončok 342aea9ec7 Update to 4.4.12, fix race conditions in tests 2023-04-14 05:08:17 +02:00
Miro Hrončok 24ef320ae9 Update to 4.4.11 (rhbz#2184726) 2023-04-12 19:23:15 +02:00
Miro Hrončok 4934b26492 Acknowledge the license is SPDX
$ askalono identify tox-4.4.8/LICENSE
    License: MIT (original text)
    Score: 1.000
2023-03-29 15:26:35 +02:00
Miro Hrončok fac05c2144 Update to 4.4.8 (rhbz#2177519) 2023-03-29 15:25:25 +02:00
Miro Hrončok 26d70dc88e CI: Make pypy3.8 optional, as it was retired on Fedora 38+ 2023-02-28 16:52:08 +01:00
Miro Hrončok 8699ee1196 Update to 4.4.6 (rhbz#2164640) 2023-02-28 16:08:19 +01:00
Miro Hrončok 8650fa20ae Update to 4.3.5 (rhbz#2161692) 2023-01-24 12:13:52 +01:00
Fedora Release Engineering 3d907599d9 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 17:59:54 +00:00
Miro Hrončok b445b57792 Update to 4.3.3 2023-01-17 00:27:25 +01:00
Miro Hrončok 901fa6c1f2 Update to 4.3.2 2023-01-16 20:44:56 +01:00
Lumir Balhar 3863b87a21 Update to 4.3.1 (rhbz#2161119) 2023-01-16 06:01:20 +01:00
Miro Hrončok 7fffca7cd7 Update to 4.2.8 2023-01-12 11:22:19 +01:00
Miro Hrončok 120940119b Use the documented way to unset -s from Python shebangs 2023-01-11 22:22:56 +01:00
Miro Hrončok 4109755a9a CI: Actually run the build --with ci_tests 2023-01-11 22:22:56 +01:00
Miro Hrončok 157d42caac Update to 4.2.7 2023-01-11 22:22:56 +01:00
Lumir Balhar b0d91f94dd Update to 4.2.6 2023-01-11 14:35:28 +01:00
Miro Hrončok e2ec7b8b81 Update to 3.28.0 2022-12-18 15:17:56 +01:00
Miro Hrončok fbeaddaea8 CI: Make pypy3.7 optional, as it was retired on Fedora 37+ 2022-11-25 13:23:32 +01:00
Miro Hrončok 7c86179926 CI: Add Python 3.12 2022-11-25 12:53:14 +01:00
Miro Hrončok d6ac38c0a6 Update to 3.27.1 2022-11-25 12:25:25 +01:00
Miro Hrončok 83c7b43fe1 Update the test comment: the package name is different for a long time 2022-11-25 12:25:25 +01:00
Miro Hrončok 9100fc98b1 Relax the minimal tomli version to support Fedora 35 and 36 2022-09-14 16:08:44 +02:00
Miro Hrončok 066e7174f8 Update to 3.26.0 2022-09-14 14:52:45 +02:00
Fedora Release Engineering b1d265dfe5 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 23:01:41 +00:00
Lumir Balhar 95d829b80a Fix names of dependencies for tests in CI 2022-07-14 09:05:36 +02:00
Lumir Balhar fc33709c23 Update to 3.25.1 2022-07-13 10:49:15 +02:00
Python Maint 3646d9e27b Rebuilt for Python 3.11 2022-06-13 19:56:57 +02:00
Miro Hrončok ef76b4eeb6 /usr/bin/poetry is not needed for tests, poetry is pip-installed as a build backend 2022-05-09 13:03:09 +02:00
Miro Hrončok cbec16b980 Update to 3.25.0 2022-05-09 12:37:30 +02:00
Miro Hrončok 97ce88bf7b Prepare spec for multiple flags in %py3_shebang_flags
See the relevant change of packaging guidelines:
https://pagure.io/packaging-committee/pull-request/1165

tl;dr If we ever add more flags, we want to remove s here, not all flags.
2022-03-23 12:31:47 +01:00
Miro Hrončok cc6fb71c00 CI: Test PyPys 2022-03-20 16:15:06 +01:00
Miro Hrončok 0a9fe2fa07 Add Python 3.11 CI test and assert all packages that supplement tox are tested 2022-03-20 13:50:23 +00:00
Rich Megginson 455a6d994d Set py3_shebang_flags to nil so tox will not have -s in shebang line
This way, it can see user-installed plugins.

Fixes https://bugzilla.redhat.com/2057015
"Tox cannot use user installed plugins, as it has -s in the shebang"
2022-02-23 10:32:08 +01:00
Miro Hrončok 5591696515 Update to 3.24.5 2022-01-25 16:41:41 +01:00
Fedora Release Engineering a509cb804f - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 16:06:42 +00:00
Miro Hrončok 0e1b27dd8f Add a comment about recommending new Pythons 2021-12-13 12:59:02 +01:00
Miro Hrončok 667844d3b0 Hardcoded the obsoleted python3-tox version, as Fedora 33 is no more 2021-12-13 12:57:01 +01:00
Miro Hrončok e398b79264 Remove no longer needed obsoletes of python3-detox 2021-12-13 12:56:06 +01:00
Miro Hrončok 3b05ca432b Always BuildRequire runtime dependencies to avoid non-installable builds 2021-12-13 12:53:38 +01:00
Tomáš Hrnčiar ce51ff31fb Update to 3.24.4 2021-10-13 16:04:53 +02:00
Miro Hrončok 576c760753 Update to 3.24.3 2021-08-31 13:49:44 +02:00
Miro Hrončok b6b37aeed5 Obsolete newer versions of python3-tox 2021-08-04 12:16:12 +02:00
Miro Hrončok 0d724156e9 Update to 3.24.1 2021-08-03 13:30:33 +02:00
Miro Hrončok 7220117b81 Remove Recommends Python 3.5, add Recommends for Python 3.10
- https://fedoraproject.org/wiki/Changes/RetirePython3.5
- https://fedoraproject.org/wiki/Changes/Python3.10
2021-08-02 14:08:50 +02:00
Miro Hrončok 04c9269866 Update to 3.24.0 2021-07-26 12:28:42 +02:00
Fedora Release Engineering c48b048f2f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 10:01:01 +00:00
Python Maint 5f0b848a6a Rebuilt for Python 3.10 2021-06-02 13:58:53 +02:00
Miro Hrončok f0abbe2cbc Fedora CI: Cleanup for Fedora 32 EOL and prepare for Python 3.5 retirement
Fedora 32 was the last one to include Python 3.4
https://fedoraproject.org/wiki/Changes/RetirePython34

Fedora 35 will be the first one not to include Python 3.5
https://fedoraproject.org/wiki/Changes/RetirePython3.5
2021-05-25 00:40:24 +02:00
Miro Hrončok e06327a4fc Allow building with setuptools_scm 6+ 2021-03-30 13:24:07 +02:00
Miro Hrončok 38b887f490 Update to 3.23.0 2021-03-17 13:41:22 +01:00
Miro Hrončok 7e75ae2dcd Update to 3.21.4 2021-02-02 22:57:02 +01:00
Fedora Release Engineering c2cf7e2e87 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 13:53:43 +00:00
Miro Hrončok e2c1378f46 Convert to pyproject-rpm-macros, rename the installable package to "tox"
Remove old obsoletes.
Pathlib2 is now only imported on old Pythons.
2021-01-11 13:55:23 +01:00
Miro Hrončok 4bd496ae58 Update to 3.21.0 2021-01-08 22:59:34 +01:00
Miro Hrončok d26876d9ad Add Python 3.10 to the CI tests 2020-12-30 10:19:22 +01:00
Tomas Hrnciar 3d1b4d74bc Update to 3.20.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1874601
2020-09-08 13:15:38 +02:00
Miro Hrončok 3219259dc0 Update to 3.19.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1861313
2020-08-07 21:03:10 +02:00
Miro Hrončok cfee9c0b17 Run Python 3.4 tests optionally
https://fedoraproject.org/wiki/Changes/RetirePython34
2020-08-04 20:43:37 +02:00
Fedora Release Engineering b231b676ad - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 04:20:59 +00:00
Miro Hrončok cbe4f3a6b8 Update to 3.18.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1859875
2020-07-23 18:36:37 +02:00
Miro Hrončok 6c2ec881c3 Update to 3.17.0
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1856985
2020-07-15 12:11:22 +02:00
Miro Hrončok b0cb698c46 Simplify the %check section, we cannot reasonably test without tox installed 2020-07-09 12:05:00 +02:00
Miro Hrončok d154cf5aab Update to 3.16.1
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1851519
2020-07-09 11:47:17 +02:00
Miro Hrončok f18e06aaf4 Update to 3.15.2
Resolves https://bugzilla.redhat.com/1844689
2020-06-08 14:33:39 +02:00
Miro Hrončok e20f7b254b Fedora CI: Run rpmbuild --with internet 2020-06-03 11:34:04 +02:00
Miro Hrončok 9533571c2c Allow to run the tests with pip 19.3.1 2020-06-02 19:40:28 +02:00
Miro Hrončok 3fff713f26 Add missing test BRs 2020-06-02 14:41:40 +02:00
Charalampos Stratakis b5021c52af Update to 3.15.1 (#1838137) 2020-06-01 22:34:06 +02:00
Miro Hrončok ee641c06d9 Rebuilt for Python 3.9 2020-05-23 20:39:53 +02:00
Miro Hrončok b680470056 Stop recommending Python 3.4, use pythonX.Y names for recommends
See https://fedoraproject.org/wiki/Changes/RetirePython34
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/VIUS7WMQMDX6H2WEIH7TVTMBB6SUHY7E/
2020-05-14 17:36:55 +02:00
Tomas Hrnciar 74d980a69d Update to 3.15.0 2020-05-13 11:13:12 +02:00
Tomas Hrnciar c347739df6 Update to 3.14.6 2020-03-25 15:22:06 +00:00
Miro Hrončok 3f3d092b74 Fedora CI: Test pyproject-rpm-macros (for %tox) 2020-03-25 12:08:33 +01:00
Miro Hrončok 502656b77b Add Python 3.9 to the CI 2020-02-06 13:18:01 +01:00
Miro Hrončok bde7ce687a Update to 3.14.3 (#1725939)
- Fix invocation with Python 3.9 (#1798929)
- Recommend Python 3.9
2020-02-06 12:31:58 +01:00
Fedora Release Engineering 7dd27a8770 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 15:50:38 +00:00
Miro Hrončok 21f3945b3b Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 14:33:49 +02:00
Miro Hrončok 39e36355f8 Rebuilt for Python 3.8 2019-08-17 01:11:24 +02:00
Michel Alexandre Salim cbb1e4c150 python-tox: update URL
The old URL (tox.testrun.org) points to a page that does not mention tox at all and has an SSL cert only for hq5.merlinux.eu, merlinux.eu, www.merlinux.eu. Update the URL
2019-08-10 08:15:13 +00:00
Fedora Release Engineering 119eb1eba0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 16:45:22 +00:00
Miro Hrončok 745bdd1bfb Make sure directories in %files stay that way 2019-07-08 20:11:13 +02:00
Miro Hrončok 224c79a35f Fedora CI: Update the test image before running tests
See https://pagure.io/fedora-ci/general/issue/20
2019-07-08 20:09:44 +02:00
Miro Hrončok 80602e339d Use importlib.metadata from stdlib on Python 3.8 2019-07-08 20:04:26 +02:00
Miro Hrončok 4e85c05c34 Update to 3.13.2 (#1699032) 2019-07-08 19:40:53 +02:00
Miro Hrončok cb1dcfef37 Update to 3.9.0, obsolete detox, fix license, fix tests (almost) 2019-04-30 16:53:17 +02:00
Miro Hrončok 1380a99f6e Fedora CI: Workaround No group usr/bin/virtualenv available
See https://pagure.io/fedora-ci/general/issue/31
2019-04-30 13:59:20 +02:00
Miro Hrončok c1c8c91355 Install Python 3.8 on the CI 2019-04-30 13:31:51 +02:00
Lumir Balhar 130c199691 Recommend Python 3.8 2019-02-15 12:48:16 +01:00
Fedora Release Engineering 138cc6b75e - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 09:44:23 +00:00
Artem Goncharov 4f5a2fef3e Upgrade to 3.5.3
Merges https://src.fedoraproject.org/rpms/python-tox/pull-request/7
2018-11-23 10:04:23 +01:00
Artem Goncharov 5f6beb2377 Upgrade to 3.4.0 version (#1652657) 2018-11-22 16:58:55 +01:00
Petr Viktorin c286211cdb Elaborate why Tox recommends all the Pythons
https://bugzilla.redhat.com/show_bug.cgi?id=1645025
2018-11-02 17:45:23 +01:00
Matthias Runge 1581084f65 Revert the previous change and re-add
recommends: python27.
Bump release and rebuild
2018-11-01 12:02:46 +01:00
Matthias Runge ee3f83475f Revert "Remove remaining python2 bits"
This reverts commit 131621c865.
2018-11-01 12:00:21 +01:00
Matthias Runge 131621c865 Remove remaining python2 bits
Resolves: rhbz#1645025
2018-11-01 10:30:23 +01:00
Miro Hrončok 5d575fab31 Enable basic venv smoke test in the CI 2018-09-04 12:06:45 +02:00
Miro Hrončok 9325be7452 Don't recommend Python 2.6, it doesn't work with tox 3 2018-08-28 19:13:25 +02:00
Fedora Release Engineering 0a9a1e13fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 02:24:01 +00:00
Miro Hrončok 95f4a83ad1 Rebuilt for Python 3.7 2018-07-02 18:23:57 +02:00
Matthias Runge 2419c84d4c Upgrade to tox-3.0.0 2018-07-02 09:27:42 +02:00
Miro Hrončok cdbf10a574 Rebuilt for Python 3.7 2018-06-17 21:31:17 +02:00
Miro Hrončok 21a8dfc39d Stop recommending python33
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/VTOQDUSGTMGOZOJHK4Y6GNVVLHA36QEC/
2018-05-15 13:31:11 +02:00
Miro Hrončok 3014377f18 Remove the python2 version once again
- everybody just uses the tox command, this is no library
- python2-detox was replaced by python3-detox, nothing requires python2-tox
- finally a proper fix for [1]
- several PRs to packages bogusly buildrequiring python2-tox were merged [2]

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1366193#c8
[2] https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/RELZ7RA5DXGZYXSAGJ7RRONUN2ECJQH4/
2018-05-15 13:27:23 +02:00
Miro Hrončok 03fb4aeaf5 Revert "Remove the python2 version", Python 2 is needed
See https://bugzilla.redhat.com/show_bug.cgi?id=1575667

This reverts commit 0f06d08a6c.
2018-05-07 18:39:08 +02:00
Miro Hrončok 0f06d08a6c Remove the python2 version
- everybody just uses the tox command, this is no library
- python2-detox was replaced by python3-detox, nothing requires python2-tox
- finally a proper fix for [1]

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1366193#c8
2018-04-30 12:13:38 +02:00
Miro Hrončok 7ab1656082 Switch to automatic dependency generator (also fixes #1556164)
- Recommend python37
2018-03-15 16:05:35 +01:00
Fedora Release Engineering ff2180b68e - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 11:19:17 +00:00
Matthias Runge c25a770438 Update to 2.9.1 2018-01-29 11:08:43 +01:00
Fedora Release Engineering efaaaa73ec - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 12:04:20 +00:00
Matthias Runge 32f19627ca update to 2.7.0 2017-04-25 14:25:41 +02:00
7 changed files with 827 additions and 196 deletions
+2 -6
View File
@@ -1,6 +1,2 @@
/tox-1.4.2.zip /tox-*.tar.gz
/tox-1.6.1.tar.gz /tox-*/
/tox-1.7.1.tar.gz
/tox-1.8.1.tar.gz
/tox-2.1.1.tar.gz
/tox-2.3.1.tar.gz
+341
View File
@@ -0,0 +1,341 @@
* 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
* Fri Nov 25 2022 Miro Hrončok <mhroncok@redhat.com> - 3.27.1-1
- Update to 3.27.1
* 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
* Tue Feb 22 2022 Rich Megginson <rmeggins@redhat.com> - 3.24.5-2
- Remove -s flag from tox shebang, make tox see user-installed plugins
- Fixes: rhbz#2057015
* Tue Jan 25 2022 Miro Hrončok <mhroncok@redhat.com> - 3.24.5-1
- Update to 3.24.5
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 13 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.4-2
- Always BuildRequire runtime dependencies to avoid non-installable builds
- Remove no longer needed obsoletes of python3-detox
* Wed Oct 13 2021 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.24.4-1
- Update to 3.24.4
* Tue Aug 31 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.3-1
- Update to 3.24.3
* Wed Aug 04 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.1-2
- Obsolete newer versions of python3-tox
* Tue Aug 03 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.1-1
- Update to 3.24.1
* Mon Aug 02 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.0-2
- Remove Recommends Python 3.5
- Add Recommends for Python 3.10
- https://fedoraproject.org/wiki/Changes/RetirePython3.5
- https://fedoraproject.org/wiki/Changes/Python3.10
* Mon Jul 26 2021 Miro Hrončok <mhroncok@redhat.com> - 3.24.0-1
- Update to 3.24.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.23.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 3.23.0-3
- Rebuilt for Python 3.10
* Tue Mar 30 2021 Miro Hrončok <mhroncok@redhat.com> - 3.23.0-2
- Allow building with setuptools_scm 6+
* Wed Mar 17 2021 Miro Hrončok <mhroncok@redhat.com> - 3.23.0-1
- Update to 3.23.0
* Tue Feb 02 2021 Miro Hrončok <mhroncok@redhat.com> - 3.21.4-1
- Update to 3.21.4
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.21.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 08 2021 Miro Hrončok <mhroncok@redhat.com> - 3.21.0-2
- Rename the installable package to "tox"
* Fri Jan 08 2021 Miro Hrončok <mhroncok@redhat.com> - 3.21.0-1
- Update to 3.21.0
* Mon Sep 07 2020 Tomas Hrnciar <thrnciar@redhat.com> - 3.20.0-1
- Update to 3.20.0
- Fixes rhbz#1874601
* Fri Aug 07 2020 Miro Hrončok <mhroncok@redhat.com> - 3.19.0-1
- Update to 3.19.0
- Fixes rhbz#1861313
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 23 2020 Miro Hrončok <mhroncok@redhat.com> - 3.18.0-1
- Update to 3.18.0
- Fixes rhbz#1859875
* Tue Jul 14 2020 Miro Hrončok <mhroncok@redhat.com> - 3.17.0-1
- Update to 3.17.0
- Fixes rhbz#1856985
* Thu Jul 09 2020 Miro Hrončok <mhroncok@redhat.com> - 3.16.1-1
- Update to 3.16.1
- Fixes rhbz#1851519
* Mon Jun 08 2020 Miro Hrončok <mhroncok@redhat.com> - 3.15.2-1
- Update to 3.15.2 (#1844689)
* Mon Jun 01 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.15.1-1
- Update to 3.15.1 (#1838137)
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 3.15.0-2
- Rebuilt for Python 3.9
* Wed May 13 2020 Tomas Hrnciar <thrnciar@redhat.com> - 3.15.0-1
- Update to 3.15.0
- Stop recommending Python 3.4
* Thu Mar 19 2020 Tomas Hrnciar <thrnciar@redhat.com> - 3.14.6-1
- Update to 3.14.6
* Thu Feb 06 2020 Miro Hrončok <mhroncok@redhat.com> - 3.14.3-1
- Update to 3.14.3 (#1725939)
- Fix invocation with Python 3.9 (#1798929)
- Recommend Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.13.2-4
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Fri Aug 16 2019 Miro Hrončok <mhroncok@redhat.com> - 3.13.2-3
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 08 2019 Miro Hrončok <mhroncok@redhat.com> - 3.13.2-1
- Update to 3.13.2 (#1699032)
* Tue Apr 30 2019 Miro Hrončok <mhroncok@redhat.com> - 3.9.0-1
- Update to 3.9.0
- Obsolete detox
- License is MIT
* Fri Feb 15 2019 Lumír Balhar <lbalhar@redhat.com> - 3.5.3-3
- Recommend Python 3.8
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Nov 22 2018 Artem Goncharov <artem.goncharov@gmail.com> - 3.5.3-1
- Upgrade to 3.5.3 version
* Mon Nov 19 2018 Artem Goncharov <artem.goncharov@gmail.com> - 3.4.0-1
- Upgrade to 3.4.0 version (#1652657)
* Thu Nov 01 2018 Matthias Runge <mrunge@redhat.com> - 3.0.0-6
- remove and revert the change to recommend python 2.7 (rhbz#1645025)
* Tue Aug 28 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-4
- Don't recommend Python 2.6, it doesn't work with tox 3
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-2
- Rebuilt for Python 3.7
* Mon Jul 02 2018 Matthias Runge <mrunge@redhat.com> - 3.0.0-1
- upgrade to 3.0.0
* Sun Jun 17 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-7
- Rebuilt for Python 3.7
* Tue May 15 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-6
- Remove the python2 version once again
- Stop recommending python33 (it's retired)
* Mon May 07 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-5
- Add python2 back, see #1575667
* Mon Apr 30 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-4
- Remove the python2 version
* Thu Mar 15 2018 Miro Hrončok <mhroncok@redhat.com> - 2.9.1-3
- Switch to automatic dependency generator (also fixes #1556164)
- Recommend python37
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 29 2018 Matthias Runge <mrunge@redhat.com> - 2.9.1-1
- update to 2.9.1
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Apr 25 2017 Matthias Runge <mrunge@redhat.com> - 2.7.0-1
- upgrade to 2.7.0
* Sun Apr 09 2017 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-8
- Recommend the devel subpackages of Pythons (so tox works with extension modules)
* Tue Feb 14 2017 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-7
- Recommend python36
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-5
- Rebuild for Python 3.6
* Mon Oct 10 2016 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-4
- Recommend "all the Pythons"
* Thu Aug 11 2016 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-3
- /usr/bin/tox is Python3
- Python 2 subpackage is python2-tox
- Run the tests also on Python 3
- Update Source URL and URL
- Use modern macros
- Get rid of Fedora 17 checks
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Mon Feb 29 2016 Matthias Runge <mrunge@redhat.com> - 2.3.1-1
- update to 2.3.1
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Nov 12 2015 Kalev Lember <klember@redhat.com> - 2.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Tue Aug 25 2015 Matthias Runge <mrunge@redhat.com> - 2.1.1-2
- add requirement: python-pluggy
* Tue Aug 18 2015 Matthias Runge <mrunge@redhat.com> - 2.1.1-1
- update to 2.1.1
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Dec 16 2014 Matthias Runge <mrunge@redhat.com> - 1.8.1-1
- update to 1.8.1
* Wed Aug 13 2014 Matthias Runge <mrunge@redhat.com> - 1.7.1-3
- Fix ConfigError: ConfigError: substitution key 'posargs' not found
(rhbz#1127961, rhbz#1128562)
* Wed Jul 30 2014 Matthias Runge <mrunge@redhat.com> - 1.7.1-2
- require virtualenv >= 1.11.2 (rhbz#1122603)
* Tue Jul 08 2014 Matthias Runge <mrunge@redhat.com> - 1.7.1-1
- update to 1.7.1 (rhbz#111797)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue Sep 24 2013 Matthias Runge <mrunge@redhat.com> - 1.6.1-1
- update to 1.6.1
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Nov 14 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-7
- add requires python-py, python-virtualenv (rhbz#876246)
* Thu Oct 18 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-6
- change license to GPLv2+ and MIT
* Tue Oct 16 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-5
- totally disable python3 support for now
* Fri Oct 12 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-4
- conditionalize checks, as internet connection required, not available on koji
* Thu Oct 11 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-3
- buildrequirement: virtualenv
- disable python3-tests because of missing build-requirement python3-virtualenv
* Wed Oct 10 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-2
- include tests
* Tue Oct 09 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-1
- initial packaging
+166
View File
@@ -0,0 +1,166 @@
From b8024813cb3e477a4ada44c5835e9f62ecda79bd 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 | 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 9c1116c..e499874 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -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
-run.plugins = [
- "covdefaults",
-]
[tool.towncrier]
name = "tox"
diff --git a/src/tox/pytest.py b/src/tox/pytest.py
index 72f410b..48cf9bc 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 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]
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})
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.48.1
+130 -185
View File
@@ -1,49 +1,63 @@
# Tests requiring Internet connections are disabled by default %bcond bootstrap 0
# pass --with internet to run them (e.g. when doing a local rebuild # Many tests are enabled by default, unless bootstrapping
# for sanity checks before committing) %bcond tests %{without bootstrap}
%bcond_with internet # However, some tests are disabled by default, becasue they require:
# a) tested tox to be installed and/or
# b) internet connection
# 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 ci_tests (and internet connection)
# (e.g. fedpkg mockbuild --no-clean-all --enable-network --with ci_tests)
# The Fedora CI tests do this.
%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
%undefine _py3_shebang_s
%global pypiname tox Name: python-tox
Name: python-%{pypiname} Version: 4.25.0
Version: 2.3.1 Release: %autorelease
Release: 8%{?dist}
Summary: Virtualenv-based automation of test activities Summary: Virtualenv-based automation of test activities
# file toxbootstrap.py is licensed under MIT License License: MIT
License: GPLv2+ and MIT URL: https://tox.readthedocs.io/
URL: http://tox.testrun.org/ Source: %{pypi_source tox}
Source0: https://files.pythonhosted.org/packages/source/t/%{pypiname}/%{pypiname}-%{version}.tar.gz
# 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.
# Adjust setuptools-version specific ifs to check for setuptools version rather than Python version.
Patch: fix-tests.patch
BuildArch: noarch BuildArch: noarch
%description BuildRequires: python3-devel
Tox as is a generic virtualenv management and test command line tool you # for dependency-groups support:
can use for: BuildRequires: pyproject-rpm-macros >= 1.16
- checking your package installs correctly with different Python versions %if %{with tests}
and interpreters BuildRequires: /usr/bin/gcc
- running your tests in each of the environments, configuring your test tool BuildRequires: /usr/bin/git
of choice BuildRequires: /usr/bin/pip
- acting as a frontend to Continuous Integration servers, greatly reducing BuildRequires: /usr/bin/pytest
boilerplate and merging CI and shell-based testing. BuildRequires: /usr/bin/python
BuildRequires: libffi-devel
%package -n python2-%{pypiname} # xdist is not used upstream, but we use it to speed up the %%check
Summary: %{summary} BuildRequires: python3-pytest-xdist
%{?python_provide:%python_provide python2-%{pypiname}} %if %{with ci_tests}
BuildRequires: python2-devel # The CI tests only work if the tested tox is installed :(
BuildRequires: python2-setuptools # This should technically be the same V-R, but the CI does not handle %%autorelease well
Requires: python2-py BuildRequires: tox = %{version}
Requires: python2-virtualenv >= 1.11.2 %endif
Requires: python-pluggy
%if %{with internet}
# for tests
BuildRequires: python2-py
BuildRequires: python2-pytest
BuildRequires: python2-virtualenv >= 1.11.2
%endif %endif
%description -n python2-%{pypiname} %global _description %{expand:
Tox as is a generic virtualenv management and test command line tool you Tox as is a generic virtualenv management and test command line tool you
can use for: can use for:
@@ -52,175 +66,106 @@ can use for:
- running your tests in each of the environments, configuring your test tool - running your tests in each of the environments, configuring your test tool
of choice of choice
- acting as a frontend to Continuous Integration servers, greatly reducing - acting as a frontend to Continuous Integration servers, greatly reducing
boilerplate and merging CI and shell-based testing. boilerplate and merging CI and shell-based testing.}
This package contains just the module you can import from Python 2, %description %_description
for the actual command line utility, dnf install tox.
%package -n python3-%{pypiname}
%package -n tox
Summary: %{summary} Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypiname}}
Provides: %{pypiname} = %{version}-%{release}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
Requires: python3-py
Requires: python3-pluggy
Requires: python3-virtualenv
# Recommend "all the Pythons" # Recommend "all the Pythons"
Recommends: python26 # Why? Tox exists to enable developers to test libraries against various Python
Recommends: python27 # versions, with just "dnf install tox" and a config file.
Recommends: python33 # See: https://developer.fedoraproject.org/tech/languages/python/python-installation.html#using-virtualenv
Recommends: python34 # Tox itself runs on the system python3 (i.e. %%{python3_version},
Recommends: python35 # however it launches other Python versions as subprocesses.
Recommends: python36 # It recommends all Python versions it supports. (This is an exception to
Recommends: pypy-devel # the rule that Fedora packages may not require the alternative interpreters.)
Recommends: pypy3-devel %if 0%{?fedora}
Recommends: python2-devel %if 0%{?fedora} < 42
Recommends: python3-devel Recommends: python3.8
%if %{with internet}
# for tests
BuildRequires: python3-py
BuildRequires: python3-pytest
BuildRequires: python3-virtualenv
%endif %endif
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/
%description -n python3-%{pypiname} %py_provides python3-tox
Tox as is a generic virtualenv management and test command line tool you
can use for: %description -n tox %_description
- checking your package installs correctly with different Python versions
and interpreters
- running your tests in each of the environments, configuring your test tool
of choice
- acting as a frontend to Continuous Integration servers, greatly reducing
boilerplate and merging CI and shell-based testing.
%prep %prep
%setup -q -n %{pypiname}-%{version} %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
export SETUPTOOLS_SCM_PRETEND_VERSION="%{version}"
%pyproject_buildrequires -r %{?with_tests:-g test}
# remove bundled egg-info
rm -rf %{pypiname}.egg-info
%build %build
%py2_build export SETUPTOOLS_SCM_PRETEND_VERSION="%{version}"
%py3_build %pyproject_wheel
%install %install
%py2_install %pyproject_install
rm %{buildroot}%{_bindir}/%{pypiname}* %pyproject_save_files tox
%py3_install
# if internet connection available, run tests %if %{with tests}
%if %{with internet}
%check %check
TOXENV=py27 %{__python2} setup.py test # Skipped tests use internal virtualenv functionality to
TOXENV=py%{python3_version_nodots} %{__python3} setup.py test # 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 %endif
%files -n python2-%{pypiname} # https://github.com/tox-dev/tox/commit/698f1dd663
%doc ISSUES.txt doc # Until we have setuptools 70.1+ we skip those
%license LICENSE k="${k-}${k+ and }not test_result_json_sequential"
%{python2_sitelib}/%{pypiname} k="${k-}${k+ and }not test_setuptools_package"
%{python2_sitelib}/%{pypiname}-%{version}-py2.?.egg-info 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
%files -n python3-%{pypiname}
%{_bindir}/%{pypiname}
%{_bindir}/%{pypiname}-quickstart
%{python3_sitelib}/%{pypiname}
%{python3_sitelib}/%{pypiname}-%{version}-py%{python3_version}.egg-info
%changelog %changelog
* Sun Apr 09 2017 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-8 %autochangelog
- Recommend the devel subpackages of Pythons (so tox works with extension modules)
* Tue Feb 14 2017 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-7
- Recommend python36
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-5
- Rebuild for Python 3.6
* Mon Oct 10 2016 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-4
- Recommend "all the Pythons"
* Thu Aug 11 2016 Miro Hrončok <mhroncok@redhat.com> - 2.3.1-3
- /usr/bin/tox is Python3
- Python 2 subpackage is python2-tox
- Run the tests also on Python 3
- Update Source URL and URL
- Use modern macros
- Get rid of Fedora 17 checks
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Mon Feb 29 2016 Matthias Runge <mrunge@redhat.com> - 2.3.1-1
- update to 2.3.1
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Nov 12 2015 Kalev Lember <klember@redhat.com> - 2.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Tue Aug 25 2015 Matthias Runge <mrunge@redhat.com> - 2.1.1-2
- add requirement: python-pluggy
* Tue Aug 18 2015 Matthias Runge <mrunge@redhat.com> - 2.1.1-1
- update to 2.1.1
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Dec 16 2014 Matthias Runge <mrunge@redhat.com> - 1.8.1-1
- update to 1.8.1
* Wed Aug 13 2014 Matthias Runge <mrunge@redhat.com> - 1.7.1-3
- Fix ConfigError: ConfigError: substitution key 'posargs' not found
(rhbz#1127961, rhbz#1128562)
* Wed Jul 30 2014 Matthias Runge <mrunge@redhat.com> - 1.7.1-2
- require virtualenv >= 1.11.2 (rhbz#1122603)
* Tue Jul 08 2014 Matthias Runge <mrunge@redhat.com> - 1.7.1-1
- update to 1.7.1 (rhbz#111797)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue Sep 24 2013 Matthias Runge <mrunge@redhat.com> - 1.6.1-1
- update to 1.6.1
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Nov 14 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-7
- add requires python-py, python-virtualenv (rhbz#876246)
* Thu Oct 18 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-6
- change license to GPLv2+ and MIT
* Tue Oct 16 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-5
- totally disable python3 support for now
* Fri Oct 12 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-4
- conditionalize checks, as internet connection required, not available on koji
* Thu Oct 11 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-3
- buildrequirement: virtualenv
- disable python3-tests because of missing build-requirement python3-virtualenv
* Wed Oct 10 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-2
- include tests
* Tue Oct 09 2012 Matthias Runge <mrunge@redhat.com> - 1.4.2-1
- initial packaging
+1 -1
View File
@@ -1 +1 @@
9371b3d3e25c03751a0372e19602dfb9 tox-2.3.1.tar.gz SHA512 (tox-4.25.0.tar.gz) = 3560b667af03ca41c1bd8fa9eaa90f8c988b7f946498f3bc2d0a4dfa3a481d8ada27acb6201bde284a2bcfe14b86ee409a3ce8e875531423862d1af88e6248fb
+88
View File
@@ -0,0 +1,88 @@
#!/usr/bin/python3
"""
Several packages with various Python interpreters *Supplement* tox.
*Supplements* is a reverse dependency to *Recommends*.
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/NVVUXSVSPFQOWIGBE2JNI67HEO7R63ZQ/
This script:
1) figures out all packages in the enabled repositories supplementing tox
2) ensures there is a venv.sh test for each of them in tests.yml
That way, when we change tox (update, patch, etc.),
we will always test it with all Pythons that supplement it.
"""
import shlex
import subprocess
import sys
import yaml
def parse_python_test_arg(command):
tokens = shlex.split(command)
for token in tokens:
if token.startswith('PYTHON='):
return token.removeprefix('PYTHON=')
# only check VERSION if PYTHON was not found
for token in tokens:
if token.startswith('VERSION='):
return 'python' + token.removeprefix('VERSION=')
raise RuntimeError(f'Could not determine the Python version from `{command}`')
# First, construct a set of various Pythons we test, e.g. {python3.10, python3.7, pypy3.6, ...}
tested_pythons = set()
with open('tests.yml') as f:
tests_yml = yaml.safe_load(f)
# this nested structure access is quite fragile,
# but at least it should fail the test if we reach to a wrong place
for test in tests_yml[-1]['roles'][0]['tests']:
for value in test.values():
run = value['run']
if run.endswith('./venv.sh'):
tested_pythons.add(parse_python_test_arg(run))
print('Tested Pythons found in tests.yml:', file=sys.stderr)
for python in sorted(tested_pythons):
print(' ', python, file=sys.stderr)
# Get all packages that supplement tox,
# no repo explicitly specified means we use the enabled repos on the CI system which should be what we want
repoquery_result = subprocess.check_output(['dnf-3', 'repoquery', '--whatsupplements', 'tox'], text=True)
supplementing_pkgs = set(repoquery_result.splitlines())
# It gets quite tricky, since packages like "pypy" can supplement tox, we get a set of provides for all of them
supplementing_pkgs_provides = {}
for nvra in supplementing_pkgs:
repoquery_result = subprocess.check_output(['dnf-3', '-q', 'repoquery', '--provides', nvra], text=True)
provides = set(repoquery_result.splitlines())
unversioned_provides = {provide.split(' ')[0] for provide in provides}
supplementing_pkgs_provides[nvra.rsplit('-', 2)[0]] = unversioned_provides
# We use this hack to treat -devel and -libs packages as if they were not such
def normalize_name(pkgname):
for suffix in '-devel', '-libs':
if pkgname.endswith(suffix):
return pkgname.removesuffix(suffix)
return pkgname
# Now, for each package that supplements tox, we check if there is a tested Python that *is* it
exit_code = 0
for pkg, provides in supplementing_pkgs_provides.items():
if normalize_name(pkg) in tested_pythons:
print(f'{pkg} is tested', file=sys.stderr)
continue
for provide in provides:
if normalize_name(provide) in tested_pythons:
print(f'{pkg} is tested (via {provide})', file=sys.stderr)
break
else:
print(f'{pkg} is NOT tested', file=sys.stderr)
exit_code = 1
sys.exit(exit_code)
+95
View File
@@ -0,0 +1,95 @@
---
- hosts: localhost
tags:
- classic
tasks:
- dnf:
name: "*"
state: latest
- hosts: localhost
tags:
- classic
pre_tasks:
- import_role:
name: standard-test-source
vars:
fetch_only: True
roles:
- role: standard-test-basic
repositories:
- repo: "https://src.fedoraproject.org/tests/python.git"
dest: "python"
- repo: "https://src.fedoraproject.org/rpms/pyproject-rpm-macros.git"
dest: "pyproject-rpm-macros"
tests:
- mock_with_tests:
dir: .
run: pyproject-rpm-macros/tests/mocktest.sh python-tox --enable-network --with ci_tests
- all_supplementing_pythons:
dir: tests
run: ./all_supplementing_pythons.py
- smoke27_optional:
dir: python/smoke
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 TOX_REQUIRES="virtualenv<20.22.0" ./venv.sh
- smoke38_optional:
dir: python/smoke
run: VERSION=3.8 INSTALL_OR_SKIP=true ./venv.sh
- smoke39:
dir: python/smoke
run: VERSION=3.9 ./venv.sh
- smoke310:
dir: python/smoke
run: VERSION=3.10 ./venv.sh
- smoke311:
dir: python/smoke
run: VERSION=3.11 ./venv.sh
- smoke312:
dir: python/smoke
run: VERSION=3.12 ./venv.sh
- smoke313:
dir: python/smoke
run: VERSION=3.13 ./venv.sh
- smoke314:
dir: python/smoke
run: VERSION=3.14 ./venv.sh
- smoke_pypy39_optional:
dir: python/smoke
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
- smoke_pypy311:
dir: python/smoke
run: PYTHON=pypy3.11 VERSION=3.11 ./venv.sh
- pyproject_pytest:
dir: pyproject-rpm-macros/tests
run: ./mocktest.sh python-pytest
- pyproject_pluggy:
dir: pyproject-rpm-macros/tests
run: ./mocktest.sh python-pluggy
- pyproject_openqa_client:
dir: pyproject-rpm-macros/tests
run: ./mocktest.sh python-openqa_client
required_packages:
- gcc
- virtualenv
- python3.6
- python3.9
- python3.10-devel
- python3.11-devel
- python3.12-devel
- python3.13-devel
- python3.14-devel
- pypy3.10-devel
- pypy3.11-devel
- python3-tox
- python3-dnf
- mock
- rpmdevtools
- rpm-build
- python3-pyyaml