summary refs log tree commit diff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2017-05-12 22:05:18 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2017-05-25 11:37:26 +0200
commit8ed128893881137cd9f6a8690b6737749a0ac1eb (patch)
tree611efe677c40a0dc449a9050b270e7bb7aca1bbd /gnu/packages/python.scm
parent77c729baf2eee1b6ea0b764519c684f1eab18400 (diff)
downloadguix-8ed128893881137cd9f6a8690b6737749a0ac1eb.tar.gz
gnu: Enable python-parse-type tests.
Fixes <http://bugs.gnu.org/26900>.

* gnu/packages/python.scm (python-parse-type)[arguments]: Enable tests.
Add phase "patch-tests".
[native-inputs]: Add python-pytest, python-pytest-runner.
[properties]: Add python2-variant.
(python2-parse-type): New variable.
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm24
1 files changed, 23 insertions, 1 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index dc1efd62a4..2c95539b35 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1487,16 +1487,38 @@ backported for previous versions of Python from 2.4 to 3.3.")
        (base32
         "0iv1c34npr4iynwpgv1vkjx9rjd18a85ir8c01gc5f7wp8iv7l1x"))))
     (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-tests
+           (lambda _
+             (substitute* "tests/test_parse_type_parse.py"
+               ;; Newer Python versions don't have the problem this test tests.
+               (("self[.]assertRaises[(]parse.TooManyFields, p.parse, ''[)]")
+                ""))
+             #t)))))
     (propagated-inputs
      `(("python-six" ,python-six)
        ("python-parse" ,python-parse)))
-    (arguments '(#:tests? #f))            ;TODO: tests require pytest
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-runner" ,python-pytest-runner)))
     (home-page "https://github.com/jenisys/parse_type")
     (synopsis "Extended parse module")
     (description
      "Parse_type extends the python parse module.")
+    (properties
+     `((python2-variant . ,(delay python2-parse-type))))
     (license license:bsd-3)))
 
+(define-public python2-parse-type
+  (let ((base (package-with-python2
+                (strip-python2-variant python-parse-type))))
+    (package (inherit base)
+      (propagated-inputs
+       `(("python2-enum34" ,python2-enum34)
+         ,@(package-propagated-inputs base))))))
+
 (define-public python-parse
   (package
     (name "python-parse")