Compare commits

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

4 commits

Author SHA1 Message Date
Miro Hrončok
4c1aa8b294 Fedora CI: Workaround No group usr/bin/virtualenv available
See https://pagure.io/fedora-ci/general/issue/31
2020-02-06 19:03:41 +01:00
Miro Hrončok
dd54a7207e Add Python 3.9 to the CI 2020-02-06 13:18:48 +01:00
Miro Hrončok
559695054a Backport %check section from master 2020-02-06 13:04:36 +01:00
Miro Hrončok
19c55ef01a Fix invocation with Python 3.9 (#1798929)
- Recommend Python 3.9
2020-02-06 13:04:17 +01:00
3 changed files with 53 additions and 4 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..e1b7c3f 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)]
PYPY_VERSION_TUPLES = [(2, 7), (3, 5)]
OTHER_PYTHON_INTERPRETERS = ["jython"]
DEFAULT_FACTORS = _construct_default_factors(

View file

@ -7,13 +7,18 @@
%global pypiname tox
Name: python-%{pypiname}
Version: 3.5.3
Release: 3%{?dist}
Release: 4%{?dist}
Summary: Virtualenv-based automation of test activities
# 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
# Run py39 env with Python 3.9
# https://bugzilla.redhat.com/show_bug.cgi?id=1798929
Patch1: py39.patch
BuildArch: noarch
%description
@ -50,6 +55,7 @@ Recommends: python35
Recommends: python36
Recommends: python37
Recommends: python38
Recommends: python39
Recommends: pypy-devel
Recommends: pypy3-devel
Recommends: python2-devel
@ -62,6 +68,8 @@ Obsoletes: python2-tox < 2.9.1-4
# for tests
BuildRequires: python3-py
BuildRequires: python3-pytest
BuildRequires: python3-pytest-mock
BuildRequires: python3-pytest-xdist
BuildRequires: python3-virtualenv
%endif
@ -79,7 +87,7 @@ can use for:
boilerplate and merging CI and shell-based testing.
%prep
%setup -q -n %{pypiname}-%{version}
%autosetup -p1 -n %{pypiname}-%{version}
# remove bundled egg-info
rm -rf %{pypiname}.egg-info
@ -94,7 +102,26 @@ rm -rf %{pypiname}.egg-info
# if internet connection available, run tests
%if %{with internet}
%check
TOXENV=py%{python3_version_nodots} %{__python3} setup.py test
# there will be failures like
# ModuleNotFoundError: tox
# or InterpreterNotFound: python
# We juggle the environment variables as much as we can, but it's not perfect.
# To workaround this:
# 1. build --without internet
# 2. install the new python3-tox
# 3. build --with internet
mkdir .path
ln -s %{__python3} .path/python
ln -s /usr/bin/easy_install-%{python3_version} .path/easy_install
ln -s /usr/bin/pytest-%{python3_version} .path/pytest
ln -s /usr/bin/pip3 .path/pip
export PATH=$(pwd)/.path:%{buildroot}%{_bindir}:$PATH
export PYTHONPATH=%{buildroot}%{python3_sitelib}
export TOXENV=py%{python3_version_nodots}
export TOX_TESTENV_PASSENV="PATH TOX_TESTENV_PASSENV"
# TODO figure out why PEP517/518 tests and test_provision_cli_args_ignore won't pass
pytest-3 -n auto -k "not test_verbose_isolated_build and not test_dist_exists_version_change and not test_alwayscopy"
rm -rf .path
%endif
%files -n python3-%{pypiname}
@ -104,6 +131,10 @@ TOXENV=py%{python3_version_nodots} %{__python3} setup.py test
%{python3_sitelib}/%{pypiname}-%{version}-py%{python3_version}.egg-info
%changelog
* Thu Feb 06 2020 Miro Hrončok <mhroncok@redhat.com> - 3.5.3-4
- Fix invocation with Python 3.9 (#1798929)
- Recommend Python 3.9
* Fri Feb 15 2019 Lumír Balhar <lbalhar@redhat.com> - 3.5.3-3
- Recommend Python 3.8

View file

@ -26,14 +26,19 @@
- smoke38:
dir: python/smoke
run: VERSION=3.8 ./venv.sh
- smoke39:
dir: python/smoke
run: VERSION=3.9 ./venv.sh
required_packages:
- gcc
- /usr/bin/virtualenv
- virtualenv
- python27
- python34
- python35
- python36
- python37
- python38
- python39
- python2-devel
- python3-devel
- python3-tox