summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-waitress-fix-tests.patch29
-rw-r--r--gnu/packages/python.scm5
3 files changed, 33 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 846de07a5d..19062df6a2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1041,6 +1041,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python2-subprocess32-disable-input-test.patch	\
   %D%/packages/patches/python-unittest2-python3-compat.patch	\
   %D%/packages/patches/python-unittest2-remove-argparse.patch	\
+  %D%/packages/patches/python-waitress-fix-tests.patch		\
   %D%/packages/patches/qemu-CVE-2017-15038.patch		\
   %D%/packages/patches/qemu-CVE-2017-15289.patch		\
   %D%/packages/patches/qt4-ldflags.patch			\
diff --git a/gnu/packages/patches/python-waitress-fix-tests.patch b/gnu/packages/patches/python-waitress-fix-tests.patch
new file mode 100644
index 0000000000..110492a604
--- /dev/null
+++ b/gnu/packages/patches/python-waitress-fix-tests.patch
@@ -0,0 +1,29 @@
+Skip test that requires getaddrinfo(), which is not available in the build
+environment.  This package uses a regexp for finding tests (see runner.py),
+so using @unittest.skip does not work.
+
+--- a/waitress/tests/test_adjustments.py
++++ b/waitress/tests/test_adjustments.py
+@@ -185,22 +185,6 @@
+     def test_bad_port(self):
+         self.assertRaises(ValueError, self._makeOne, listen='127.0.0.1:test')
+ 
+-    def test_service_port(self):
+-        if WIN and PY2: # pragma: no cover
+-            # On Windows and Python 2 this is broken, so we raise a ValueError
+-            self.assertRaises(
+-                ValueError,
+-                self._makeOne,
+-                listen='127.0.0.1:http',
+-            )
+-            return
+-
+-        inst = self._makeOne(listen='127.0.0.1:http 0.0.0.0:https')
+-
+-        bind_pairs = [sockaddr[:2] for (_, _, _, sockaddr) in inst.listen]
+-
+-        self.assertEqual(bind_pairs, [('127.0.0.1', 80), ('0.0.0.0', 443)])
+-
+     def test_dont_mix_host_port_listen(self):
+         self.assertRaises(
+             ValueError,
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6e5e804c34..257489d09b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -7550,14 +7550,15 @@ templates into Python modules.")
 (define-public python-waitress
   (package
     (name "python-waitress")
-    (version "0.8.10")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "waitress" version))
+       (patches (search-patches "python-waitress-fix-tests.patch"))
        (sha256
         (base32
-         "017n9ra6vvmq9d5sfhdzyzr1mg15x2hj2dhm4pdlw98c1ypw2h3w"))))
+         "1a85gyji0kajc3p0s1pwwfm06w4wfxjkvvl4rnrz3h164kbd6g6k"))))
     (build-system python-build-system)
     (home-page "https://github.com/Pylons/waitress")
     (synopsis "Waitress WSGI server")