From a4c2b0169b3d4cfb23a74e2a7b90cbb73d825b1f Mon Sep 17 00:00:00 2001 From: Florian Atteneder Date: Thu, 20 Jun 2024 20:38:20 +0200 Subject: [PATCH] only check error msg contained in thrown SystemError --- test/loading.jl | 16 ++++++++++++++-- test/precompile.jl | 34 ++++++++++++++++++++++++++++++---- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/test/loading.jl b/test/loading.jl index 1cd9154d587d10..72589d4210adc7 100644 --- a/test/loading.jl +++ b/test/loading.jl @@ -1549,7 +1549,13 @@ end end file = joinpath(depot, "dev", "non-existent.jl") - @test_throws SystemError("opening file $(repr(file))") include(file) + @test try + include(file); false + catch e + @test e isa SystemError + @test e.prefix == "opening file $(repr(file))" + true + end touch(file) @test include_dependency(file) === nothing chmod(file, 0x000) @@ -1559,7 +1565,13 @@ end @test include_dependency(dir) === nothing dir end - @test_throws SystemError("opening file or folder $(repr(dir))") include_dependency(dir) + @test try + include_dependency(dir); false + catch e + @test e isa SystemError + @test e.prefix == "opening file or folder $(repr(dir))" + true + end end end diff --git a/test/precompile.jl b/test/precompile.jl index d25519cbb5ec6d..c5a418a5e87ae9 100644 --- a/test/precompile.jl +++ b/test/precompile.jl @@ -2003,18 +2003,44 @@ end precompile_test_harness("Issue #52063") do load_path fname = joinpath(load_path, "i_do_not_exist.jl") - @test_throws SystemError("opening file or folder $(repr(fname))") include_dependency(fname) + @test try + include_dependency(fname); false + catch e + @test e isa SystemError + @test e.prefix == "opening file or folder $(repr(fname))" + true + end touch(fname) @test include_dependency(fname) === nothing chmod(fname, 0x000) - @test_throws SystemError("opening file or folder $(repr(fname))", Libc.ENOENT) include_dependency(fname) + @test try + include_dependency(fname); false + catch e + @test e isa SystemError + @test e.prefix == "opening file or folder $(repr(fname))" + true + end dir = mktempdir() do dir @test include_dependency(dir) === nothing chmod(dir, 0x000) - @test_throws SystemError("opening file or folder $(repr(dir))", Libc.ENOENT) include_dependency(dir) + if !Sys.iswindows() + @test try + include_dependency(dir); false + catch e + @test e isa SystemError + @test e.prefix == "opening file or folder $(repr(dir))" + true + end + end dir end - @test_throws SystemError("opening file or folder $(repr(dir))") include_dependency(dir) + @test try + include_dependency(dir); false + catch e + @test e isa SystemError + @test e.prefix == "opening file or folder $(repr(dir))" + true + end end finish_precompile_test!()