diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 912f0c5..9728974 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -19,7 +19,7 @@ jobs: version: - '1.8' - '1.10' - - '~1.12.0-rc1' + - '1.12' os: - ubuntu-latest - macOS-latest diff --git a/Project.toml b/Project.toml index fa44066..0953b1a 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ReTestItems" uuid = "817f1d60-ba6b-4fd5-9520-3cf149f6a823" -version = "1.35.1" +version = "1.35.2" [deps] Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" diff --git a/src/workers.jl b/src/workers.jl index 4625be4..458a549 100644 --- a/src/workers.jl +++ b/src/workers.jl @@ -84,7 +84,14 @@ function terminate!(w::Worker, from::Symbol=:manual) end signal = Base.SIGTERM while true - kill(w.process, signal) + try + kill(w.process, signal) + catch e + # Windows: TerminateProcess on a process that is currently exiting + # fails with ERROR_ACCESS_DENIED before the process object is + # signaled; libuv surfaces that as EACCES instead of ESRCH. + (Sys.iswindows() && e isa Base.IOError && e.code == Base.UV_EACCES) || rethrow() + end signal = signal == Base.SIGTERM ? Base.SIGINT : Base.SIGKILL process_exited(w.process) && break sleep(0.1) diff --git a/test/junit_xml.jl b/test/junit_xml.jl index a7b2b4b..a82a105 100644 --- a/test/junit_xml.jl +++ b/test/junit_xml.jl @@ -50,6 +50,7 @@ function test_reference(reference, comparison) end a = remove_variables(read(reference, String)) b = remove_variables(read(comparison, String)) + b = VERSION >= v"1.12" ? replace(b, r" *Suggestion: check for spelling errors or missing imports. *\n" => "") : b if a == b @test true return nothing