Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
Miro Hrončok
341cb9cf4b Fix invocation with Python 3.9 (#1798929)
Backported from Fedora 31:
https://src.fedoraproject.org/rpms/python-tox/c/aa466cd2d67b5ca7e5f4f58d0fbc704b38c97d94?branch=f31

Added 3.10 and 3.11 as well.

With this tox.ini:

    [tox]
    skipsdist = True
    [testenv]
    commands = python -c 'import sys; print(sys.version)'

Before:

    $ tox -e py39
    ...
    3.6.8 (default, Aug 24 2020, 17:57:11)
    ...
      py39: commands succeeded
      congratulations :)

After:

    $ tox -e py39
    ...
    3.9.1 (default, Jan 18 2021, 16:14:01)
    ...
      py39: commands succeeded
      congratulations :)

The Python 3.10+ addition remains untested, as I have no Python 3.10+ build for EL 8 available.
2021-01-19 17:03:05 +01:00
Miro Hrončok
28e0811301 Fedora CI: Add tests for Python 3.8 2020-07-24 12:02:35 +02:00
Gris Ge
b3a2fec504 Initial build for EPEL8
The RHEL/CentOS 8.1 is shipping python3-setuptools_scm-1.15.7-4.el8
which limit us to use tox 3.4(as 3.5.0 need setuptools_scm > 2).

Signed-off-by: Gris Ge <cnfourt@gmail.com>
2020-03-10 19:36:00 +08:00
3 changed files with 44 additions and 73 deletions

13
py39.patch Normal file
View file

@ -0,0 +1,13 @@
diff --git a/src/tox/constants.py b/src/tox/constants.py
index bd21562..3b5e57f 100644
--- a/src/tox/constants.py
+++ b/src/tox/constants.py
@@ -28,7 +28,7 @@ def _construct_default_factors(cpython_versions, pypy_versions, other_interprete
class PYTHON:
PY_FACTORS_RE = re.compile("^(?!py$)(py|pypy|jython)([2-9][0-9]?)?$")
PY_FACTORS_MAP = {"py": "python", "pypy": "pypy", "jython": "jython"}
- CPYTHON_VERSION_TUPLES = [(2, 7), (3, 4), (3, 5), (3, 6), (3, 7), (3, 8)]
+ CPYTHON_VERSION_TUPLES = [(2, 7), (3, 4), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9), (3, 10), (3, 11)]
PYPY_VERSION_TUPLES = [(2, 7), (3, 5)]
OTHER_PYTHON_INTERPRETERS = ["jython"]
DEFAULT_FACTORS = _construct_default_factors(

View file

@ -1,19 +1,17 @@
# Tests requiring Internet connections are disabled by default
# pass --with internet to run them (e.g. when doing a local rebuild
# for sanity checks before committing)
%bcond_with internet
%global srcname tox
%global pypiname tox
Name: python-%{pypiname}
Name: python-%{srcname}
Version: 3.4.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Virtualenv-based automation of test activities
License: MIT
URL: https://tox.readthedocs.io
Source0: %{pypi_source}
# Run py39 env with Python 3.9
# https://bugzilla.redhat.com/show_bug.cgi?id=1798929
Patch1: py39.patch
# file toxbootstrap.py is licensed under MIT License
License: GPLv2+ and MIT
URL: http://tox.testrun.org/
Source0: https://files.pythonhosted.org/packages/source/t/%{pypiname}/%{pypiname}-%{version}.tar.gz
BuildArch: noarch
%description
@ -28,45 +26,20 @@ can use for:
boilerplate and merging CI and shell-based testing.
%package -n python3-%{pypiname}
%package -n python3-%{srcname}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypiname}}
Provides: %{pypiname} = %{version}-%{release}
%{?python_provide:%python_provide python3-%{srcname}}
Provides: %{srcname} = %{version}-%{release}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-setuptools_scm
# Recommend "all the Pythons"
# Why? Tox exists to enable developers to test libraries against various Python
# versions, with just "dnf install tox" and a config file.
# See: https://developer.fedoraproject.org/tech/languages/python/python-installation.html#using-virtualenv
# Tox itself runs on the system python3 (i.e. %%{python3_version},
# 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: python27
Recommends: python34
Recommends: python35
Recommends: python36
Recommends: python37
Recommends: pypy-devel
Recommends: pypy3-devel
Recommends: python2-devel
Recommends: python3-devel
# Replace the python2 version
Obsoletes: python2-tox < 2.9.1-4
%if %{with internet}
# for tests
BuildRequires: python3-py
BuildRequires: python3-pytest
BuildRequires: python3-virtualenv
%endif
%?python_enable_dependency_generator
%description -n python3-%{pypiname}
%description -n python3-%{srcname}
Tox as is a generic virtualenv management and test command line tool you
can use for:
@ -78,10 +51,10 @@ can use for:
boilerplate and merging CI and shell-based testing.
%prep
%setup -q -n %{pypiname}-%{version}
%autosetup -p1 -n %{srcname}-%{version}
# remove bundled egg-info
rm -rf %{pypiname}.egg-info
rm -rf %{srcname}.egg-info
%build
%py3_build
@ -90,19 +63,19 @@ rm -rf %{pypiname}.egg-info
%install
%py3_install
# if internet connection available, run tests
%if %{with internet}
%check
TOXENV=py%{python3_version_nodots} %{__python3} setup.py test
%endif
%files -n python3-%{pypiname}
%{_bindir}/%{pypiname}
%{_bindir}/%{pypiname}-quickstart
%{python3_sitelib}/%{pypiname}
%{python3_sitelib}/%{pypiname}-%{version}-py%{python3_version}.egg-info
%files -n python3-%{srcname}
%{_bindir}/%{srcname}
%{_bindir}/%{srcname}-quickstart
%{python3_sitelib}/%{srcname}
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info
%changelog
* Tue Jan 19 2021 Miro Hrončok <mhroncok@redhat.com> - 3.4.0-2
- Fix invocation with Python 3.9 (#1798929)
* Tue Feb 25 2020 Gris Ge <fge@redhat.com> - 3.4.0-1
- Port to EPEL8
* Mon Nov 19 2018 Artem Goncharov <artem.goncharov@gmail.com> - 3.4.0-1
- Upgrade to 3.4.0 version (#1652657)

View file

@ -8,29 +8,14 @@
- repo: "https://src.fedoraproject.org/tests/python.git"
dest: "python"
tests:
- smoke27:
dir: python/smoke
run: VERSION=2.7 METHOD=virtualenv ./venv.sh
- smoke34:
dir: python/smoke
run: VERSION=3.4 ./venv.sh
- smoke35:
dir: python/smoke
run: VERSION=3.5 ./venv.sh
- smoke36:
dir: python/smoke
run: VERSION=3.6 ./venv.sh
- smoke37:
- smoke38:
dir: python/smoke
run: VERSION=3.7 ./venv.sh
run: VERSION=3.8 ./venv.sh
required_packages:
- gcc
- /usr/bin/virtualenv
- python27
- python34
- python35
- python36
- python37
- python2-devel
- python3-devel
- python36-devel
- python38-devel
- python3-tox