Skip to content

Commit

Permalink
move out Test from the sysimage
Browse files Browse the repository at this point in the history
  • Loading branch information
KristofferC authored and IanButterworth committed Apr 5, 2023
1 parent 4134e93 commit 5e36a3b
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 36 deletions.
1 change: 0 additions & 1 deletion base/sysimg.jl
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ let
:REPL,
:SharedArrays,
:TOML,
:Test,

# 4-depth packages
:LibCURL,
Expand Down
33 changes: 0 additions & 33 deletions contrib/generate_precompile.jl
Original file line number Diff line number Diff line change
Expand Up @@ -199,39 +199,6 @@ if Libdl !== nothing
"""
end

Test = get(Base.loaded_modules,
Base.PkgId(Base.UUID("8dfed614-e22c-5e08-85e1-65c5234f0b40"), "Test"),
nothing)
if Test !== nothing
hardcoded_precompile_statements *= """
precompile(Tuple{typeof(Test.do_test), Test.ExecutionResult, Any})
precompile(Tuple{typeof(Test.testset_beginend_call), Tuple{String, Expr}, Expr, LineNumberNode})
precompile(Tuple{Type{Test.DefaultTestSet}, String})
precompile(Tuple{Type{Test.DefaultTestSet}, AbstractString})
precompile(Tuple{Core.kwftype(Type{Test.DefaultTestSet}), Any, Type{Test.DefaultTestSet}, AbstractString})
precompile(Tuple{typeof(Test.finish), Test.DefaultTestSet})
precompile(Tuple{typeof(Test.eval_test), Expr, Expr, LineNumberNode, Bool})
precompile(Tuple{typeof(Test._inferred), Expr, Module})
precompile(Tuple{typeof(Test.push_testset), Test.DefaultTestSet})
precompile(Tuple{typeof(Test.get_alignment), Test.DefaultTestSet, Int})
precompile(Tuple{typeof(Test.get_test_result), Any, Any})
precompile(Tuple{typeof(Test.do_test_throws), Test.ExecutionResult, Any, Any})
precompile(Tuple{typeof(Test.print_counts), Test.DefaultTestSet, Int, Int, Int, Int, Int, Int, Int})
precompile(Tuple{typeof(Test._check_testset), Type, Expr})
precompile(Tuple{typeof(Test.test_expr!), Any, Any})
precompile(Tuple{typeof(Test.test_expr!), Any, Any, Vararg{Any, 100}})
precompile(Tuple{typeof(Test.pop_testset)})
precompile(Tuple{typeof(Test.match_logs), Function, Tuple{Symbol, Regex}})
precompile(Tuple{typeof(Test.match_logs), Function, Tuple{String, Regex}})
precompile(Tuple{typeof(Base.CoreLogging.shouldlog), Test.TestLogger, Base.CoreLogging.LogLevel, Module, Symbol, Symbol})
precompile(Tuple{typeof(Base.CoreLogging.handle_message), Test.TestLogger, Base.CoreLogging.LogLevel, String, Module, Symbol, Symbol, String, Int})
precompile(Tuple{typeof(Test.detect_ambiguities), Any})
precompile(Tuple{typeof(Test.collect_test_logs), Function})
precompile(Tuple{typeof(Test.do_broken_test), Test.ExecutionResult, Any})
precompile(Tuple{typeof(Test.record), Test.DefaultTestSet, Union{Test.Error, Test.Fail}})
precompile(Tuple{typeof(Test.filter_errors), Test.DefaultTestSet})
"""
end

const JULIA_PROMPT = "julia> "
const PKG_PROMPT = "pkg> "
Expand Down
2 changes: 1 addition & 1 deletion pkgimage.mk
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ $(eval $(call pkgimg_builder,LibCURL_jll,LibSSH2_jll nghttp2_jll MbedTLS_jll Zli
$(eval $(call sysimg_builder,REPL,InteractiveUtils Markdown Sockets Unicode))
$(eval $(call sysimg_builder,SharedArrays,Distributed Mmap Random Serialization))
$(eval $(call sysimg_builder,TOML,Dates))
$(eval $(call sysimg_builder,Test,Logging Random Serialization InteractiveUtils))
$(eval $(call pkgimg_builder,Test,Logging Random Serialization InteractiveUtils))

# 4-depth packages
$(eval $(call sysimg_builder,LibCURL,LibCURL_jll MozillaCACerts_jll))
Expand Down
1 change: 1 addition & 0 deletions stdlib/Test/src/Test.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2096,5 +2096,6 @@ function _check_bitarray_consistency(B::BitArray{N}) where N
end

include("logging.jl")
include("precompile.jl")

end # module
31 changes: 31 additions & 0 deletions stdlib/Test/src/precompile.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
precompile(Tuple{typeof(Test.do_test), Test.ExecutionResult, Any})
precompile(Tuple{typeof(Test.testset_beginend_call), Tuple{String, Expr}, Expr, LineNumberNode})
precompile(Tuple{Type{Test.DefaultTestSet}, String})
precompile(Tuple{Type{Test.DefaultTestSet}, AbstractString})
precompile(Tuple{Core.kwftype(Type{Test.DefaultTestSet}), Any, Type{Test.DefaultTestSet}, AbstractString})
precompile(Tuple{typeof(Test.finish), Test.DefaultTestSet})
precompile(Tuple{typeof(Test.eval_test), Expr, Expr, LineNumberNode, Bool})
precompile(Tuple{typeof(Test._inferred), Expr, Module})
precompile(Tuple{typeof(Test.push_testset), Test.DefaultTestSet})
precompile(Tuple{typeof(Test.get_alignment), Test.DefaultTestSet, Int})
precompile(Tuple{typeof(Test.get_test_result), Any, Any})
precompile(Tuple{typeof(Test.do_test_throws), Test.ExecutionResult, Any, Any})
precompile(Tuple{typeof(Test.print_counts), Test.DefaultTestSet, Int, Int, Int, Int, Int, Int, Int})
precompile(Tuple{typeof(Test._check_testset), Type, Expr})
precompile(Tuple{typeof(Test.test_expr!), Any, Any})
precompile(Tuple{typeof(Test.test_expr!), Any, Any, Vararg{Any, 100}})
precompile(Tuple{typeof(Test.pop_testset)})
precompile(Tuple{typeof(Test.match_logs), Function, Tuple{Symbol, Regex}})
precompile(Tuple{typeof(Test.match_logs), Function, Tuple{String, Regex}})
precompile(Tuple{typeof(Base.CoreLogging.shouldlog), Test.TestLogger, Base.CoreLogging.LogLevel, Module, Symbol, Symbol})
precompile(Tuple{typeof(Base.CoreLogging.handle_message), Test.TestLogger, Base.CoreLogging.LogLevel, String, Module, Symbol, Symbol, String, Int})
precompile(Tuple{typeof(Test.detect_ambiguities), Any})
precompile(Tuple{typeof(Test.collect_test_logs), Function})
precompile(Tuple{typeof(Test.do_broken_test), Test.ExecutionResult, Any})
precompile(Tuple{typeof(Test.record), Test.DefaultTestSet, Union{Test.Error, Test.Fail}})
precompile(Tuple{typeof(Test.filter_errors), Test.DefaultTestSet})
# TODO: Check which of the explicit precompile statments above are still needed
# with the workload below active.
@testset "example" begin
@test 1 == 1
end
2 changes: 1 addition & 1 deletion test/precompile.jl
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ precompile_test_harness(false) do dir
:LazyArtifacts, :LibCURL, :LibCURL_jll, :LibGit2, :Libdl, :LinearAlgebra,
:Logging, :Markdown, :Mmap, :MozillaCACerts_jll, :NetworkOptions, :OpenBLAS_jll, :Pkg, :Printf,
:p7zip_jll, :REPL, :Random, :SHA, :Serialization, :SharedArrays, :Sockets,
:TOML, :Tar, :Test, :UUIDs, :Unicode,
:TOML, :Tar, :UUIDs, :Unicode,
:nghttp2_jll]
),
)
Expand Down

0 comments on commit 5e36a3b

Please sign in to comment.