Files
julia-runtest/test_harness.jl
Mateusz Jakub Fila df0572688c allow passing multiple arguments in test_args (#118)
Co-authored-by: Markus Hauru <markus@mhauru.org>
Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
2024-10-18 21:04:44 +00:00

52 lines
1.6 KiB
Julia

import Pkg
include("kwargs.jl")
kwargs = Kwargs.kwargs(; coverage=ENV["COVERAGE"],
force_latest_compatible_version=ENV["FORCE_LATEST_COMPATIBLE_VERSION"],
allow_reresolve=ENV["ALLOW_RERESOLVE"],
julia_args=[string("--check-bounds=", ENV["CHECK_BOUNDS"]),
string("--compiled-modules=", ENV["COMPILED_MODULES"])],
test_args=ARGS,
)
kwargs_reprs = map(kv -> string(kv[1], "=", repr(kv[2])), collect(kwargs))
kwargs_repr = join(kwargs_reprs, ", ")
print("""
│ To reproduce this CI run locally run the following from the same repository state on julia version $VERSION:
│ `import Pkg; Pkg.test(;$kwargs_repr)`
""")
if parse(Bool, ENV["ANNOTATE"]) && v"1.8pre" < VERSION < v"1.9.0-beta3"
push!(LOAD_PATH, "@tests-logger-env") # access dependencies
using GitHubActions, Logging
global_logger(GitHubActionsLogger())
include("test_logger.jl")
pop!(LOAD_PATH)
try
TestLogger.test(; kwargs...)
catch e
if e isa Pkg.Types.PkgError
# don't show the stacktrace of the test harness because it's not useful
showerror(stderr, e)
exit(1)
else
rethrow()
end
end
else
try
Pkg.test(; kwargs...)
catch e
if e isa Pkg.Types.PkgError
# don't show the stacktrace of the test harness because it's not useful
showerror(stderr, e)
exit(1)
else
rethrow()
end
end
end