gnu: python-pycurl: Fix build by running the tests single-threaded.

* 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
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Attila Lendvai 2024-11-24 12:28:17 +01:00 committed by Sharlatan Hellseher
parent 79510f5e62
commit 851f0662a5
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -68,6 +68,7 @@
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com>
;;; Copyright © 2024 Attila Lendvai <attila@lendvai.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2026,15 +2027,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 +2050,8 @@ (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 _