M gnu/packages/julia.scm => gnu/packages/julia.scm +2 -5
@@ 315,11 315,8 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(substitute* (jlpath "Zlib")
(((from "libz")) (to "zlib" "libz"))))))
(add-after 'unpack 'enable-parallel-tests
- ;; FIXME: julia fails at networking in the container and falls back
- ;; to a single worker, which causes the tests to not run in
- ;; parallel (see: https://github.com/JuliaLang/julia/issues/43205).
- (lambda* (#:key parallel-build? #:allow-other-keys)
- (setenv "JULIA_CPU_THREADS" (if parallel-build?
+ (lambda* (#:key parallel-tests? #:allow-other-keys)
+ (setenv "JULIA_CPU_THREADS" (if parallel-tests?
(number->string (parallel-job-count))
"1"))
(format #t "JULIA_CPU_THREADS environment variable set to ~a~%"
M gnu/packages/patches/julia-allow-parallel-build.patch => gnu/packages/patches/julia-allow-parallel-build.patch +6 -4
@@ 1,3 1,8 @@
+Allow parallel tests with isolated environment.
+
+See https://github.com/JuliaLang/julia/issues/43205 and
+https://github.com/JuliaLang/julia/pull/43211.
+
diff --git a/test/runtests.jl b/test/runtests.jl
index 2f9cd058bb..150395e78c 100644
--- a/test/runtests.jl
@@ 11,14 16,11 @@ index 2f9cd058bb..150395e78c 100644
using Base: Experimental
include("choosetests.jl")
-@@ -83,11 +83,15 @@ prepend!(tests, linalg_tests)
+@@ -83,11 +83,12 @@ 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)