[packages/python-sure] Release 2. Fixed Python 3.4 build and tests.

matkor matkor at pld-linux.org
Mon Jul 6 09:02:35 CEST 2015


commit e746740d3bb6f7a7fb301bd7c2ea479fe657ee92
Author: Mateusz Korniak <matkor at pld-linux.org>
Date:   Mon Jul 6 09:01:56 2015 +0200

    Release 2. Fixed Python 3.4 build and tests.

 python-sure-py3_fixes.patch | 82 +++++++++++++++++++++++++++++++++++++++++++++
 python-sure.spec            |  7 ++--
 2 files changed, 86 insertions(+), 3 deletions(-)
---
diff --git a/python-sure.spec b/python-sure.spec
index f7f41ad..be50cbc 100644
--- a/python-sure.spec
+++ b/python-sure.spec
@@ -2,18 +2,19 @@
 # Conditional build:
 %bcond_without	tests	# do not perform "make test"
 %bcond_without	python2 # CPython 2.x module
-%bcond_with	python3 # CPython 3.x module
+%bcond_without	python3 # CPython 3.x module
 
 %define 	module	sure
 Summary:	Utility belt for automated testing in python for python
 Name:		python-%{module}
 Version:	1.2.12
-Release:	1
+Release:	2
 License:	GPL v3+
 Group:		Libraries/Python
 # Source0:	https://github.com/gabrielfalcao/sure/archive/%{version}.tar.gz
 Source0:	https://pypi.python.org/packages/source/s/%{module}/%{module}-%{version}.tar.gz
 # Source0-md5:	fc57c30e76bddba68f84443ec91e7026
+Patch0:		%{name}-py3_fixes.patch
 URL:		https://github.com/gabrielfalcao/sure
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.219
@@ -45,6 +46,7 @@ Sure is heavily inspired by should.js.
 
 %prep
 %setup -q -n %{module}-%{version}
+%patch0 -p1
 
 %build
 %if %{with python2}
@@ -52,7 +54,6 @@ Sure is heavily inspired by should.js.
 %endif
 
 %if %{with python3}
-CFLAGS="%{rpmcppflags} %{rpmcflags}" \
 %{__python3} setup.py build --build-base build-3 %{?with_tests:test}
 %endif
 
diff --git a/python-sure-py3_fixes.patch b/python-sure-py3_fixes.patch
new file mode 100644
index 0000000..b3e4111
--- /dev/null
+++ b/python-sure-py3_fixes.patch
@@ -0,0 +1,82 @@
+diff --git a/README.md b/README.md
+index 3714d29..efda4a5 100644
+--- a/README.md
++++ b/README.md
+@@ -32,7 +32,6 @@ import sure
+ 
+ (4).should.be.equal(2 + 2)
+ (7.5).should.eql(3.5 + 4)
+-(2).should.equal(8 / 4)
+ 
+ (3).shouldnt.be.equal(5)
+ ```
+diff --git a/setup.py b/setup.py
+index a4877f6..778f8c8 100755
+--- a/setup.py
++++ b/setup.py
+@@ -18,6 +18,7 @@
+ 
+ import ast
+ import os
++import sys
+ from setuptools import setup, find_packages
+ 
+ 
+@@ -41,8 +42,10 @@ def read_version():
+     return finder.version
+ 
+ 
+-local_file = lambda *f: \
+-    open(os.path.join(os.path.dirname(__file__), *f)).read()
++def local_file( *f):
++    if sys.version_info < (3, 0, 0):
++        return open(os.path.join(os.path.dirname(__file__), *f)).read()
++    return open(os.path.join(os.path.dirname(__file__), *f), encoding="utf-8").read()
+ 
+ 
+ install_requires = ['mock', 'six']
+diff --git a/sure/old.py b/sure/old.py
+index 70822e1..13a3f74 100644
+--- a/sure/old.py
++++ b/sure/old.py
+@@ -42,10 +42,10 @@ from sure.core import itemize_length
+ 
+ 
+ def identify_callable_location(callable_object):
+-    filename = os.path.relpath(callable_object.func_code.co_filename)
+-    lineno = callable_object.func_code.co_firstlineno
+-    callable_name = callable_object.func_code.co_name
+-    return b'{0} [{1} line {2}]'.format(callable_name, filename, lineno)
++    filename = os.path.relpath(callable_object.__code__.co_filename)
++    lineno = callable_object.__code__.co_firstlineno
++    callable_name = callable_object.__code__.co_name
++    return '{0} [{1} line {2}]'.format(callable_name, filename, lineno).encode()
+ 
+ 
+ def is_iterable(obj):
+diff --git a/tests/test_assertion_builder.py b/tests/test_assertion_builder.py
+index 3e1cd8e..7e833e6 100644
+--- a/tests/test_assertion_builder.py
++++ b/tests/test_assertion_builder.py
+@@ -648,13 +648,19 @@ def test_throw_matching_regex():
+         raise RuntimeError('should not have reached here')
+ 
+     except AssertionError as e:
+-        expect(str(e)).to.equal("When calling 'blah [tests/test_assertion_builder.py line 633]' the exception message does not match. Expected to match regex: u'invalid regex'\n against:\n u'this message'")
++        if PY3:
++            expect(str(e)).to.equal("When calling b'blah [tests/test_assertion_builder.py line 633]' the exception message does not match. Expected to match regex: 'invalid regex'\n against:\n 'this message'")
++        else:
++            expect(str(e)).to.equal("When calling 'blah [tests/test_assertion_builder.py line 633]' the exception message does not match. Expected to match regex: u'invalid regex'\n against:\n u'this message'")
+ 
+     try:
+         expect(blah).when.called_with(1).should.throw(ValueError, re.compile(r'invalid regex'))
+         raise RuntimeError('should not have reached here')
+     except AssertionError as e:
+-        expect(str(e)).to.equal("When calling 'blah [tests/test_assertion_builder.py line 633]' the exception message does not match. Expected to match regex: u'invalid regex'\n against:\n u'this message'")
++        if PY3:
++            expect(str(e)).to.equal("When calling b'blah [tests/test_assertion_builder.py line 633]' the exception message does not match. Expected to match regex: 'invalid regex'\n against:\n 'this message'")
++        else:
++            expect(str(e)).to.equal("When calling 'blah [tests/test_assertion_builder.py line 633]' the exception message does not match. Expected to match regex: u'invalid regex'\n against:\n u'this message'")
+ 
+ def test_should_not_be_different():
+     ("'something'.should_not.be.different('SOMETHING'.lower())")
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-sure.git/commitdiff/e746740d3bb6f7a7fb301bd7c2ea479fe657ee92



More information about the pld-cvs-commit mailing list