~ruther/guix-local

6312c68f706eff5f950adcfe73d6d2cb6b757118 — zimoun 4 years ago 87e96b6
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>
3 files changed, 34 insertions(+), 1 deletions(-)

M gnu/local.mk
M gnu/packages/julia.scm
A gnu/packages/patches/julia-allow-parallel-build.patch
M gnu/local.mk => gnu/local.mk +2 -0
@@ 46,6 46,7 @@
# Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
# Copyright © 2021 Andrew Tropin <andrew@trop.in>
# Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
#
# This file is part of GNU Guix.
#


@@ 1296,6 1297,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/jfsutils-include-systypes.patch		\
  %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.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/libffi-3.3-powerpc-fixes.patch		\
  %D%/packages/patches/libffi-float128-powerpc64le.patch	\

M gnu/packages/julia.scm => gnu/packages/julia.scm +2 -1
@@ 145,7 145,8 @@ libraries.  It is also a bit like @code{ldd} and @code{otool -L}.")
               (base32
                "1515x8fs25l3f9csbmd1v4nm041zvjnvigy6s5iidy4yrkwdx4r5"))
              (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)
    (arguments
     `(#:test-target "test"

A gnu/packages/patches/julia-allow-parallel-build.patch => gnu/packages/patches/julia-allow-parallel-build.patch +30 -0
@@ 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")