SHA256
1
0
forked from pool/python-tox

Accepting request 486540 from devel:languages:python:singlespec

- update for singlespec
- improve test runner, drop tox-disable-env-tests.patch
- split off common python-tox-doc subpackage
- update to 2.7.0
  * improve environment information for users
  * add "alwayscopy" config option
  * slightly backwards-incompatible fix for {posargs} substitution
  * add Python 3.6 and 3.7 support
  * more bugfixes, see CHANGELOG for more details

OBS-URL: https://build.opensuse.org/request/show/486540
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-tox?expand=0&rev=31
This commit is contained in:
Jan Matejek
2017-04-07 17:25:54 +00:00
committed by Git OBS Bridge
parent b938e56cfa
commit efcced236b
5 changed files with 75 additions and 929 deletions

View File

@@ -16,40 +16,34 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-tox
Version: 2.3.1
Version: 2.7.0
Release: 0
Summary: Virtualenv-based automation of test activities
License: MIT
Group: Development/Languages/Python
Url: http://tox.testrun.org/
Source: http://pypi.python.org/packages/source/t/tox/tox-%{version}.tar.gz
# PATCH-FIX-OPENSUSE speilicke@suse.com -- Due to update-alternative usage, some bianries aren't available at build-time
Patch0: tox-disable-env-tests.patch
BuildRequires: python-devel
# Documentation requirements:
BuildRequires: python-Sphinx
Source: https://files.pythonhosted.org/packages/source/t/tox/tox-%{version}.tar.gz
# Test requirements:
BuildRequires: python-pip
BuildRequires: python-pluggy >= 0.3.0
BuildRequires: python-py >= 1.4.17
BuildRequires: python-pytest >= 2.3.5
BuildRequires: python-virtualenv >= 1.11.2
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pluggy >= 0.3.0}
BuildRequires: %{python_module py >= 1.4.17}
BuildRequires: %{python_module pytest >= 2.3.5}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module virtualenv >= 1.11.2}
BuildRequires: python-rpm-macros
BuildRequires: python3-Sphinx
BuildRequires: unzip
Provides: tox = %{version}
Requires: python-pluggy >= 0.3.0
Requires: python-py >= 1.4.17
Requires: python-virtualenv >= 1.11.2
Requires(post): update-alternatives
Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: tox = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
BuildRequires: python-argparse
Requires: python-argparse
%else
BuildArch: noarch
%endif
%python_subpackages
%description
Tox as is a generic virtualenv management and test command line tool you can
@@ -65,48 +59,68 @@ use for:
servers, greatly reducing boilerplate and merging
CI and shell-based testing.
%package -n %{name}-doc
Summary: Documentation for tox, a virtualenv-based test automation
Group: Development/Languages/Python
Recommends: %{python_module tox = %{version}}
Provides: %{python_module tox-doc = %{version}}
%description -n %{name}-doc
Tox as is a generic virtualenv management and test command line tool you can
use for:
* 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.
This is the HTML documentation for tox package.
%prep
%setup -q -n tox-%{version}
%patch0 -p1
sed -i -e "/^\\[testenv\\]/ a\\sitepackages = True" tox.ini
sed -i -e "s/tox=tox:cmdline/tox-%{py_ver}=tox:cmdline/" \
-e "s/tox-quickstart=tox._quickstart:main/tox-quickstart-%{py_ver}=tox._quickstart:main/" setup.py
%build
python setup.py build
%python_build
cd doc && make html && rm -r _build/html/.buildinfo # Generate HTML documentation
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
%python_install
for B in tox tox-quickstart ; do
touch %{buildroot}%{_sysconfdir}/alternatives/$B
ln -sf %{_sysconfdir}/alternatives/$B %{buildroot}/%{_bindir}/$B
%python_clone -a %{buildroot}%{_bindir}/$B
done
%check
PATH=%{buildroot}%{_bindir}:$PATH PYTHONPATH=%{buildroot}%{python_sitelib}/ py.test
%{python_expand # okay
$python -m virtualenv env-%{$python_bin_suffix} --system-site-packages
. env-%{$python_bin_suffix}/bin/activate
$python setup.py install
# run test_config separately because it does something to other tests
$python -m pytest tests/test_config.py
# skip also cmdline tests, they are slow and mostly broken in our environment
$python -m pytest tests -k "not test_config and not test_z_cmdline"
deactivate
}
%post
update-alternatives \
--install %{_bindir}/tox tox %{_bindir}/tox-%{py_ver} 20 \
--slave %{_bindir}/tox-quickstart tox-quickstart %{_bindir}/tox-quickstart-%{py_ver}
%python_install_alternative tox tox-quickstart
%postun
if [ $1 -eq 0 ] ; then
update-alternatives --remove tox %{_bindir}/tox-%{py_ver}
fi
%python_uninstall_alternative tox
%files
%files %{python_files}
%defattr(-,root,root,-)
%doc LICENSE README.rst doc/_build/html
%{_bindir}/tox
%{_bindir}/tox-%{py_ver}
%ghost %{_sysconfdir}/alternatives/tox
%{_bindir}/tox-quickstart
%{_bindir}/tox-quickstart-%{py_ver}
%ghost %{_sysconfdir}/alternatives/tox-quickstart
%{python_sitelib}/tox-%{version}-py%{py_ver}.egg-info
%doc LICENSE README.rst CHANGELOG
%python_alternative %{_bindir}/tox
%python_alternative %{_bindir}/tox-quickstart
%{python_sitelib}/tox-%{version}-py%{python_version}.egg-info
%{python_sitelib}/tox
%files -n %{name}-doc
%doc LICENSE README.rst doc/_build/html
%changelog