Subject: [PATCH v2 1/2] gnu: python-pycurl: Fix build by running the tests single-threaded.

From: [email-masked]
Date: Sun, 24 Nov 2024 12:28:17 +0100

From: Attila Lendvai <[email-masked]>

* gnu/packages/python-web.scm (python-pycurl): Make test run single-threaded.
Reenable some tests that used to fail due to threading.
[test_request_without_certinfo]: Disable test/timebomb that probably uses an
expired CA.

Change-Id: I62bc60757cf2e005ed55768c84d8c178f63c35ec
---
 gnu/packages/python-web.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index cf3c15857c..2270ccdd14 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2026,15 +2026,17 @@ (define-public python-pycurl
     (build-system pyproject-build-system)
     (arguments
      '(#:test-flags
-       (list "--n" (number->string (parallel-job-count))
+       ;; The test suite is not thread safe, therefore --numprocesses 1:
+       ;; - some tests want to use the same port: address already in use
+       ;; - some tests use signal.Signal, i.e. main-thread only
+       (list "--numprocesses" "1" ; (number->string (parallel-job-count))
              "-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"
+                   ;; testMethod=test_multi_socket_action>.timer_result
                    " and not test_multi_socket_action"
                    ;; E pycurl.error: (1, '')
                    " and not test_http_version_3"
@@ -2047,9 +2049,9 @@ (define-public python-pycurl
                    ;; OSError: tests/fake-curl/libcurl/with_openssl.so: cannot
                    ;; open shared object file: No such file or directory
                    " and not test_libcurl_ssl_openssl"
-                   ;; pycurl.error: (56, 'Recv failure: Connection reset by
-                   ;; peer')
-                   " and not test_post_with_read_callback"))
+                   ;; Probably due to an expired CA
+                   " and not test_request_without_certinfo"
+                   ))
        #:phases (modify-phases %standard-phases
                   (add-before 'build 'configure-tls-backend
                     (lambda _

base-commit: 047967c42f237695d5af2af53321c70f157685a3
-- 
2.46.0