ReTest.jl icon indicating copy to clipboard operation
ReTest.jl copied to clipboard

failing `@test_logs` hits method error for `record`

Open kleinschmidt opened this issue 2 years ago • 1 comments

When using @test_logs, if there is a test failure, ReTest throws a method error:

  Got exception outside of a @test
  MethodError: no method matching record(::ReTest.Testset.ReTestSet, ::Test.LogTestFailure)
  Closest candidates are:
    record(::ReTest.Testset.ReTestSet, ::Test.AbstractTestSet) at ~/.julia/packages/ReTest/WnRIG/src/testset.jl:100
    record(::ReTest.Testset.ReTestSet, ::Union{Test.Broken, Test.Error, Test.Fail}) at ~/.julia/packages/ReTest/WnRIG/src/testset.jl:93
    record(::Test.FallbackTestSet, ::Test.LogTestFailure) at ~/.julia/juliaup/julia-1.8.2+0.aarch64/share/julia/stdlib/v1.8/Test/src/logging.jl:143
    ...
  Stacktrace:

kleinschmidt avatar Oct 05 '22 15:10 kleinschmidt

As far as I can tell, fixing this would involve updating testset.jl to treat LogTestFailure the same as Test.Fail; should be pretty straightforward unless I'm missing something, since it does not appear that ReTest is actually using anything about the contents of Fail, just the existence in .results...

kleinschmidt avatar Oct 05 '22 16:10 kleinschmidt