From c30e22d18d69d1d74b2afe27a2c27b6de983f7f3 Mon Sep 17 00:00:00 2001 From: Nathan Daly Date: Thu, 17 Oct 2024 13:11:01 -0600 Subject: [PATCH] Fix TestEnv for subpackages: precompile only the new test Project --- src/julia-1.11/activate_set.jl | 5 +++++ src/julia-1.11/common.jl | 2 +- src/julia-1.9/activate_set.jl | 5 +++++ src/julia-1.9/common.jl | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/julia-1.11/activate_set.jl b/src/julia-1.11/activate_set.jl index 20cc47f..3d107f8 100644 --- a/src/julia-1.11/activate_set.jl +++ b/src/julia-1.11/activate_set.jl @@ -69,6 +69,11 @@ function activate(pkg::AbstractString=current_pkg_name(); allow_reresolve=true) @debug "Using _clean_ dep graph" end + # Now that we have set up the sandbox environment, precompile all its packages: + # (Reconnect the `io` back to the original context so the caller can see the + # precompilation progress.) + Pkg.precompile(temp_ctx; io=ctx.io) + write_env(temp_ctx.env; update_undo=false) return Base.active_project() diff --git a/src/julia-1.11/common.jl b/src/julia-1.11/common.jl index 3e5ccf5..96fa755 100644 --- a/src/julia-1.11/common.jl +++ b/src/julia-1.11/common.jl @@ -22,7 +22,7 @@ function ctx_and_pkgspec(pkg::AbstractString) pkgspec = deepcopy(PackageSpec(pkg)) ctx = Context() isinstalled!(ctx, pkgspec) || throw(TestEnvError("$pkg not installed 👻")) - Pkg.instantiate(ctx) + Pkg.instantiate(ctx; allow_autoprecomp = false) # do precomp later within sandbox return ctx, pkgspec end diff --git a/src/julia-1.9/activate_set.jl b/src/julia-1.9/activate_set.jl index 20cc47f..3d107f8 100644 --- a/src/julia-1.9/activate_set.jl +++ b/src/julia-1.9/activate_set.jl @@ -69,6 +69,11 @@ function activate(pkg::AbstractString=current_pkg_name(); allow_reresolve=true) @debug "Using _clean_ dep graph" end + # Now that we have set up the sandbox environment, precompile all its packages: + # (Reconnect the `io` back to the original context so the caller can see the + # precompilation progress.) + Pkg.precompile(temp_ctx; io=ctx.io) + write_env(temp_ctx.env; update_undo=false) return Base.active_project() diff --git a/src/julia-1.9/common.jl b/src/julia-1.9/common.jl index 3e5ccf5..96fa755 100644 --- a/src/julia-1.9/common.jl +++ b/src/julia-1.9/common.jl @@ -22,7 +22,7 @@ function ctx_and_pkgspec(pkg::AbstractString) pkgspec = deepcopy(PackageSpec(pkg)) ctx = Context() isinstalled!(ctx, pkgspec) || throw(TestEnvError("$pkg not installed 👻")) - Pkg.instantiate(ctx) + Pkg.instantiate(ctx; allow_autoprecomp = false) # do precomp later within sandbox return ctx, pkgspec end