~ruther/guix-local

941f776fce7d1edef8a7c8c98022c4187400fc51 — zimoun 4 years ago d508c5b
gnu: julia: Correctly test using '#:parallel-tests?'.

* gnu/packages/julia.scm (julia)[phases]{enable-parallel-tests}: Use
PARALLEL-TESTS?, not PARALLEL-BUILD?.  Remove comment.
* gnu/packages/patches/julia-allow-parallel-build.patch: Move explanatory
comment to the top of the patch.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2 files changed, 8 insertions(+), 9 deletions(-)

M gnu/packages/julia.scm
M gnu/packages/patches/julia-allow-parallel-build.patch
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)