gnu: curl: Run tests in parallel.

* gnu/packages/curl.scm (curl)[arguments]: Respect PARALLEL-TESTS? in check
phase, by setting TFLAGS (curl's test flags).

Change-Id: I54dfe32b757824fd3d2b89d10b88315c7e8b8d2a
This commit is contained in:
John Kehayias 2023-11-05 17:17:02 -05:00
parent 00442f15d4
commit d70f2b788e
No known key found for this signature in database
GPG key ID: 499097AE5EA815D9

View file

@ -118,15 +118,22 @@ (define-public curl
(rename-file (string-append #$output "/share/man/man3")
(string-append #$output:doc "/share/man/man3"))))
(replace 'check
(lambda* (#:key tests? make-flags #:allow-other-keys)
(lambda* (#:key tests? parallel-tests? make-flags #:allow-other-keys)
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
(when tests?
(let ((arguments `("-C" "tests" "test"
,@(if #$(system-hurd?)
(let* ((job-count (string-append
"-j"
(if parallel-tests?
(number->string (parallel-job-count))
"1")))
(arguments `("-C" "tests" "test"
,@make-flags
,(if #$(system-hurd?)
;; protocol FAIL
(list make-flags "TFLAGS=~1474")
make-flags))))
(string-append "TFLAGS=\"~1474 "
job-count "\"")
(string-append "TFLAGS=" job-count)))))
;; The top-level "make check" does "make -C tests quiet-test", which
;; is too quiet. Use the "test" target instead, which is more
;; verbose.