M gnu/local.mk => gnu/local.mk +1 -0
@@ 1036,6 1036,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \
+ %D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-paste-remove-website-test.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pygit2-disable-network-tests.patch \
M gnu/packages/openstack.scm => gnu/packages/openstack.scm +12 -11
@@ 21,6 21,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages openstack)
+ #:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
@@ 156,31 157,31 @@ guidelines}.")
(define-public python-mox3
(package
(name "python-mox3")
- (version "0.14.0")
+ (version "0.24.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mox3" version))
+ (patches (search-patches "python-mox3-python3.6-compat.patch"))
(sha256
(base32
- "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx"))))
+ "0w58adwv7q9wzvmq9mlrk2asfk73myq9fpwy7mjkzsz3baa95zf5"))))
(build-system python-build-system)
- (arguments
- ;; TODO: Resolve dependency cycle and re-enable.
- '(#:tests? #f))
+ (propagated-inputs
+ `(("python-fixtures" ,python-fixtures)
+ ("python-pbr" ,python-pbr)))
(native-inputs
- `(("python-fixtures" ,python-fixtures)
- ; TODO re-add ("python-oslosphinx" ,python-oslosphinx)
- ("python-pbr" ,python-pbr)
- ("python-sphinx" ,python-sphinx)
+ `(("python-openstackdocstheme" ,python-openstackdocstheme)
+ ("python-sphinx" ,python-sphinx-1.6)
+ ("python-subunit" ,python-subunit)
+ ("python-testrepository" ,python-testrepository)
("python-testtools" ,python-testtools)))
(home-page "https://www.openstack.org/")
(synopsis "Mock object framework for Python")
(description
"Mox3 is an unofficial port of the @uref{https://code.google.com/p/pymox/,
Google mox framework} to Python 3. It was meant to be as compatible
-with mox as possible, but small enhancements have been made. The library was
-tested on Python versions 3.2, 2.7, and 2.6.")
+with mox as possible, but small enhancements have been made.")
(license asl2.0)))
(define-public python2-mox3
A gnu/packages/patches/python-mox3-python3.6-compat.patch => gnu/packages/patches/python-mox3-python3.6-compat.patch +43 -0
@@ 0,0 1,43 @@
+Fix regex so that it works with Python 3.6.
+
+See <https://docs.python.org/3/library/re.html#re.LOCALE>.
+
+Copied from upstream bug report:
+https://bugs.launchpad.net/python-mox3/+bug/1665266
+
+From 05064cdb6ea7a16450c6beae2b6f7c6074212a69 Mon Sep 17 00:00:00 2001
+From: Zac Medico <zmedico@gentoo.org>
+Date: Thu, 16 Feb 2017 00:24:10 -0800
+Subject: [PATCH] RegexTest: python3.6 compatibility
+
+These fixes are backward-compatible with older python versions:
+
+* raw strings fix invalid escape sequences
+* flags=8 fixes ValueError: cannot use LOCALE flag with a str pattern
+---
+ mox3/tests/test_mox.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mox3/tests/test_mox.py b/mox3/tests/test_mox.py
+index 15ac565..3a1af17 100644
+--- a/mox3/tests/test_mox.py
++++ b/mox3/tests/test_mox.py
+@@ -312,12 +312,12 @@ class RegexTest(testtools.TestCase):
+ def testReprWithoutFlags(self):
+ """repr should return the regular expression pattern."""
+ self.assertTrue(
+- repr(mox.Regex(r"a\s+b")) == "<regular expression 'a\s+b'>")
++ repr(mox.Regex(r"a\s+b")) == r"<regular expression 'a\s+b'>")
+
+ def testReprWithFlags(self):
+ """repr should return the regular expression pattern and flags."""
+- self.assertTrue(repr(mox.Regex(r"a\s+b", flags=4)) ==
+- "<regular expression 'a\s+b', flags=4>")
++ self.assertTrue(repr(mox.Regex(r"a\s+b", flags=8)) ==
++ r"<regular expression 'a\s+b', flags=8>")
+
+
+ class IsTest(testtools.TestCase):
+--
+2.10.2
+