commit d6de6d278c85ffab0d7f5ef7209d91dfb2543f35 Author: ultra_planet Date: Sat Nov 30 14:29:26 2019 +0800 package init diff --git a/python-testtools.spec b/python-testtools.spec new file mode 100644 index 0000000..ea74a69 --- /dev/null +++ b/python-testtools.spec @@ -0,0 +1,90 @@ +Name: python-testtools +Version: 2.3.0 +Release: 10 +Summary: Extensions to the Python unit testing framework +License: MIT +URL: https://launchpad.net/testtools +Source0: https://pypi.io/packages/source/t/testtools/testtools-%{version}.tar.gz + +Patch0001: testtools-1.8.0-py3.patch +Patch0002: testtools-2.3.0-py37.patch + +BuildRequires: python2-devel python2-extras python2-mimeparse >= 0.1.4 python2-pbr python2-setuptools +BuildRequires: python2-unittest2 >= 1.0.0 python2-traceback2 python2-testscenarios python3-devel +BuildRequires: python3-extras python3-mimeparse python3-pbr python3-setuptools python3-unittest2 +BuildRequires: python3-traceback2 python3-testscenarios python2-sphinx +BuildArch: noarch + +%description +Testtools is a set of extensions to the Python standard library's unit testing framework. These +extensions have been derived from years of experience with unit testing in Python and come from +many different sources. + +%package -n python2-testtools +Summary: Extensions to the Python unit testing framework +Requires: python2-extras python2-mimeparse python2-pbr python2-unittest2 >= 1.0.0 python2-traceback2 +%{?python_provide:%python_provide python2-testtools} + +%description -n python2-testtools +Testtools is a set of extensions to the Python standard library's unit testing framework. These +extensions have been derived from years of experience with unit testing in Python and come from +many different sources. + +%package -n python3-testtools +Summary: Extensions to the Python unit testing framework +Requires: python3-extras python3-mimeparse python3-pbr python3-unittest2 >= 1.0.0 python3-traceback2 + +%description -n python3-testtools +Testtools is a set of extensions to the Python standard library's unit testing framework. These +extensions have been derived from years of experience with unit testing in Python and come from +many different sources. + +%package help +Summary: Documentation for python-testtools +Requires: python2-testtools = %{version}-%{release} +Provides: bundled(jquery) %{name}-doc = %{version}-%{release} +Obsoletes: %{name}-doc < %{version}-%{release} + +%description help +This package contains HTML documentation for python-testtools. + +%prep +%setup -q -n testtools-%{version} +%patch0002 -p1 +rm -rf %{py3dir} +cp -a . %{py3dir} +cd %{py3dir} +%patch0001 -p1 +find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' +rm -f %{py3dir}/testtools/_compat2x.py %{_builddir}/testtools-%{version}/testtools/_compat3x.py + +%build +%{__python2} setup.py build +PYTHONPATH=$PWD make -C doc html +cd %{py3dir} +%{__python3} setup.py build + +%install +%{__python2} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT +cd %{py3dir} +%{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT + +%check +make PYTHON=%{__python2} check +cd %{py3dir} +make PYTHON=%{__python3} check + +%files -n python2-testtools +%doc LICENSE NEWS README.rst +%{python2_sitelib}/* + +%files -n python3-testtools +%doc LICENSE NEWS README.rst +%{python3_sitelib}/* + +%files help +%doc doc/_build/html/* + +%changelog +* Wed Nov 27 2019 lingsheng - 2.3.0-10 +- Package init diff --git a/testtools-1.8.0-py3.patch b/testtools-1.8.0-py3.patch new file mode 100644 index 0000000..e97e5ac --- /dev/null +++ b/testtools-1.8.0-py3.patch @@ -0,0 +1,14 @@ +--- testtools-1.8.0/testtools/compat.py.py3 2015-03-11 04:19:19.000000000 +0700 ++++ testtools-1.8.0/testtools/compat.py 2015-07-28 22:54:02.537568121 +0700 +@@ -32,10 +32,7 @@ + # To let setup.py work, make this a conditional import. + linecache = try_import('linecache2') + +-try: +- from testtools import _compat2x as _compat +-except SyntaxError: +- from testtools import _compat3x as _compat ++from testtools import _compat3x as _compat + + reraise = _compat.reraise + diff --git a/testtools-2.3.0-py37.patch b/testtools-2.3.0-py37.patch new file mode 100644 index 0000000..2241c83 --- /dev/null +++ b/testtools-2.3.0-py37.patch @@ -0,0 +1,54 @@ +From 29004731f9c480b7c44a9c2605513d50d372898f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Thu, 17 May 2018 17:52:26 +0200 +Subject: [PATCH] Fix the tests on Python 3.7 + +Exception's repr got changed not to include trailing comma + +Fixes https://github.com/testing-cabal/testtools/issues/270 +--- + .travis.yml | 1 + + testtools/tests/matchers/test_exception.py | 11 +++++++++-- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/.travis.yml b/.travis.yml +index 7f1f4db7..784608e0 100644 +--- a/.travis.yml ++++ b/.travis.yml +@@ -5,6 +5,7 @@ python: + - "3.4" + - "3.5" + - "3.6" ++ - "3.7-dev" + - "pypy" + + install: +diff --git a/testtools/tests/matchers/test_exception.py b/testtools/tests/matchers/test_exception.py +index 6cd80af1..acd39252 100644 +--- a/testtools/tests/matchers/test_exception.py ++++ b/testtools/tests/matchers/test_exception.py +@@ -32,15 +32,22 @@ class TestMatchesExceptionInstanceInterface(TestCase, TestMatchersInterface): + matches_matches = [error_foo] + matches_mismatches = [error_bar, error_base_foo] + ++ if sys.version_info >= (3, 7): ++ # exception's repr has changed ++ _e = '' ++ else: ++ _e = ',' ++ + str_examples = [ +- ("MatchesException(Exception('foo',))", ++ ("MatchesException(Exception('foo'%s))" % _e, + MatchesException(Exception('foo'))) + ] + describe_examples = [ + ("%r is not a %r" % (Exception, ValueError), + error_base_foo, + MatchesException(ValueError("foo"))), +- ("ValueError('bar',) has different arguments to ValueError('foo',).", ++ ("ValueError('bar'%s) has different arguments to ValueError('foo'%s)." ++ % (_e, _e), + error_bar, + MatchesException(ValueError("foo"))), + ] diff --git a/testtools-2.3.0.tar.gz b/testtools-2.3.0.tar.gz new file mode 100644 index 0000000..9939e0c Binary files /dev/null and b/testtools-2.3.0.tar.gz differ