diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index 1e8ecba80c..226688f2d2 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -193,6 +193,7 @@ (define* (go-build name inputs (build-flags ''()) (tests? #t) (parallel-build? #t) + (parallel-tests? #t) (allow-go-reference? #f) (system (%current-system)) (goarch #f) @@ -224,6 +225,7 @@ (define builder #:build-flags #$build-flags #:tests? #$tests? #:parallel-build? #$parallel-build? + #:parallel-tests? #$parallel-tests? #:allow-go-reference? #$allow-go-reference? #:inputs #$(input-tuples->gexp inputs))))) diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 160323b65e..8aa8a17495 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -279,9 +279,12 @@ (define* (build #:key import-path build-flags (parallel-build? #t) (invoke "go" "env")))) ;; Can this also install commands??? -(define* (check #:key tests? import-path #:allow-other-keys) +(define* (check #:key tests? import-path (parallel-tests? #t) + #:allow-other-keys) "Run the tests for the package named by IMPORT-PATH." (when tests? + (let* ((njobs (if parallel-tests? (parallel-job-count) 1))) + (setenv "GOMAXPROCS" (number->string njobs))) (invoke "go" "test" import-path)) #t)