gnu: julia: Allow parallel tests.

* gnu/packages/julia.scm (julia)[origin]<patches>: New patch.
* gnu/packages/patches/julia-allow-parallel-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
zimoun 2021-11-25 02:24:42 +01:00 committed by Maxim Cournoyer
parent 87e96b69aa
commit 6312c68f70
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 34 additions and 1 deletions

View file

@ -46,6 +46,7 @@
# Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> # Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz> # Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
# Copyright © 2021 Andrew Tropin <andrew@trop.in> # Copyright © 2021 Andrew Tropin <andrew@trop.in>
# Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -1296,6 +1297,7 @@ dist_patch_DATA = \
%D%/packages/patches/jfsutils-include-systypes.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-tracker-16-compat.patch \ %D%/packages/patches/julia-tracker-16-compat.patch \
%D%/packages/patches/julia-allow-parallel-build.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \ %D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
%D%/packages/patches/libffi-float128-powerpc64le.patch \ %D%/packages/patches/libffi-float128-powerpc64le.patch \

View file

@ -145,7 +145,8 @@ (define-public julia
(base32 (base32
"1515x8fs25l3f9csbmd1v4nm041zvjnvigy6s5iidy4yrkwdx4r5")) "1515x8fs25l3f9csbmd1v4nm041zvjnvigy6s5iidy4yrkwdx4r5"))
(patches (patches
(search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch"
"julia-allow-parallel-build.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"

View file

@ -0,0 +1,30 @@
diff --git a/test/runtests.jl b/test/runtests.jl
index 2f9cd058bb..150395e78c 100644
--- a/test/runtests.jl
+++ b/test/runtests.jl
@@ -4,7 +4,7 @@ using Test
using Distributed
using Dates
import REPL
-using Printf: @sprintf
+using Printf: @sprintf, @printf
using Base: Experimental
include("choosetests.jl")
@@ -83,11 +83,15 @@ prepend!(tests, linalg_tests)
import LinearAlgebra
cd(@__DIR__) do
n = 1
- if net_on
+ # Allow parallel tests with isolated environment
+ # https://github.com/JuliaLang/julia/issues/43205
+ # https://github.com/JuliaLang/julia/pull/43211
+ if net_on || haskey(ENV, "JULIA_CPU_THREADS")
n = min(Sys.CPU_THREADS, length(tests))
n > 1 && addprocs_with_testenv(n)
LinearAlgebra.BLAS.set_num_threads(1)
end
+ @printf("Number of threads: %i\n", n)
skipped = 0
@everywhere include("testdefs.jl")