summary refs log tree commit diff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-03-14 23:09:10 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-03-14 23:29:02 +0000
commita862a99bb38b31178fcf53093973583e6d67d860 (patch)
tree67b58cfb53a2b9de54c2883bb32ec40ad807c833 /gnu/packages/python-web.scm
parent2187ac84d03f4c7ed1432e5ec88b37247d870f3b (diff)
downloadguix-a862a99bb38b31178fcf53093973583e6d67d860.tar.gz
gnu: python-pycurl: Enable tests.
* gnu/packages/python-web.scm (python-pycurl): Enable most of the tests.
[build-system]: Swap to pyproject-build-system.
[arguments] <#:tests?>: Enable them.
<#:test-arguments>: Disable some failing and hanging tests.
[native-inputs]: Add python-flaky, python-pytest, and
python-pytest-xdist.

Change-Id: Ie222aa1111720f2e39b950b79d9e707401be7e8f
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm50
1 files changed, 37 insertions, 13 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7a40b8402b..856f36ca0b 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -61,6 +61,7 @@
 ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
 ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1917,21 +1918,44 @@ Amazon S3 compatible object storage server.")
        (uri (pypi-uri "pycurl" version))
        (sha256
         (base32 "1ji46b924caa4saxvjxs9h673yy0kif297nxpnjn84r7w05mjc2p"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
-     ;; The tests attempt to access external web servers, so we cannot run
-     ;; them.  Furthermore, they are skipped altogether when using Python 2.
-     '(#:tests? #f
+     '(#:test-flags
+       (list "-n" "auto"
+             "-k" (string-append
+                   ;; Disable hanginging tests
+                   "not test_multi_socket_select"
+                   ;; E assert None is not None
+                   ;; E+ where None =
+                   ;; <tests.multi_callback_test.MultiCallbackTest
+                   ;; testMethod=test_easy_pause_unpause>.socket_result
+                   " and not test_easy_pause_unpause"
+                   " and not test_multi_socket_action"
+                   ;; E pycurl.error: (1, '')
+                   " and not test_http_version_3"
+                   ;; OSError: tests/fake-curl/libcurl/with_gnutls.so: cannot
+                   ;; open shared object file: No such file or directory
+                   " and not test_libcurl_ssl_gnutls"
+                   ;; OSError: tests/fake-curl/libcurl/with_nss.so: cannot
+                   ;; open shared object file: No such file or directory
+                   " and not test_libcurl_ssl_nss"
+                   ;; OSError: tests/fake-curl/libcurl/with_openssl.so: cannot
+                   ;; open shared object file: No such file or directory
+                   " and not test_libcurl_ssl_openssl"))
        #:phases (modify-phases %standard-phases
-                    (add-before 'build 'configure-tls-backend
-                      (lambda _
-                        ;; XXX: PycURL fails to automatically determine which TLS
-                        ;; backend to use when cURL is built with --disable-static.
-                        ;; See setup.py and <https://github.com/pycurl/pycurl/pull/147>.
-                        (setenv "PYCURL_SSL_LIBRARY" "gnutls")
-                        #t)))))
-    (native-inputs
-     (list python-nose python-bottle))
+                  (add-before 'build 'configure-tls-backend
+                    (lambda _
+                      ;; XXX: PycURL fails to automatically determine which
+                      ;; TLS backend to use when cURL is built with
+                      ;; --disable-static.  See setup.py and
+                      ;; <https://github.com/pycurl/pycurl/pull/147>.
+                      (setenv "PYCURL_SSL_LIBRARY" "gnutls"))))))
+    (native-inputs
+     (list python-bottle
+           python-flaky
+           python-nose
+           python-pytest
+           python-pytest-xdist))
     (inputs
      (list curl gnutls))
     (home-page "http://pycurl.io/")