From f99b09de3af98870b5899381201efe619cc0a8ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Thu, 14 Sep 2023 14:41:32 +0200 Subject: [PATCH] Move `test_save_load_roundtrip` to init file --- test/Serialization/basic_types.jl | 43 ----------------------------- test/init_tests.jl | 46 +++++++++++++++++++++++++++++++ test/runtests.jl | 2 +- 3 files changed, 47 insertions(+), 44 deletions(-) create mode 100644 test/init_tests.jl diff --git a/test/Serialization/basic_types.jl b/test/Serialization/basic_types.jl index f36fa320c9c4..349d3b069ceb 100644 --- a/test/Serialization/basic_types.jl +++ b/test/Serialization/basic_types.jl @@ -1,46 +1,3 @@ -function test_save_load_roundtrip(func, path, original::T; params=nothing) where T - # save and load from a file - filename = joinpath(path, "original.json") - save(filename, original) - loaded = load(filename; params=params) - if T <: Vector - @test loaded isa Vector - else - @test loaded isa T - end - func(loaded) - - # save and load from an IO buffer - io = IOBuffer() - save(io, original) - seekstart(io) - loaded = load(io; params=params) - - if T <: Vector - @test loaded isa Vector - else - @test loaded isa T - end - func(loaded) - - # save and load from an IO buffer, with prescribed type - io = IOBuffer() - save(io, original) - seekstart(io) - loaded = load(io, type=T, params=params) - if T <: Vector - @test loaded isa Vector - else - @test loaded isa T - end - func(loaded) - - # test loading on a empty state - save(filename, original) - reset_global_serializer_state() - loaded = load(filename; params=params) -end - @testset "basic_types" begin mktempdir() do path diff --git a/test/init_tests.jl b/test/init_tests.jl new file mode 100644 index 000000000000..1876387cfea4 --- /dev/null +++ b/test/init_tests.jl @@ -0,0 +1,46 @@ +# This file is dedicated for code that needs to be run on every worker before +# running the tests. This is useful for test-code that is called from multiple files +# that may run on different workers. + +function test_save_load_roundtrip(func, path, original::T; params=nothing) where T + # save and load from a file + filename = joinpath(path, "original.json") + save(filename, original) + loaded = load(filename; params=params) + if T <: Vector + @test loaded isa Vector + else + @test loaded isa T + end + func(loaded) + + # save and load from an IO buffer + io = IOBuffer() + save(io, original) + seekstart(io) + loaded = load(io; params=params) + + if T <: Vector + @test loaded isa Vector + else + @test loaded isa T + end + func(loaded) + + # save and load from an IO buffer, with prescribed type + io = IOBuffer() + save(io, original) + seekstart(io) + loaded = load(io, type=T, params=params) + if T <: Vector + @test loaded isa Vector + else + @test loaded isa T + end + func(loaded) + + # test loading on a empty state + save(filename, original) + reset_global_serializer_state() + loaded = load(filename; params=params) +end diff --git a/test/runtests.jl b/test/runtests.jl index 325a834eaa01..cec0e2cebe37 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -104,7 +104,7 @@ end Base.cumulative_compile_timing(true) end -println("Making test list") +@everywhere include("init_tests.jl") testlist = [