The julia Test.jl stdlib framework has the following type of common structure
@testset "Package" begin
# some setup code to produce x. Any errors are reported as errors in the testset
@test x == 1 # test some variable value
# more setup code to produce y
@test y == 2
@testset "module" begin
# more setup code to produce z
@test z == 3
end
end
With this model, testsets have meaningful duration, but tests do not, as they’re often just checking boolean comparisons.
There’s also so many of them that it would be inefficient to record their duration, but that’s a lesser point.
It would be good for the buildkite test engine to:
- Support grouping results into testsets and have those testsets have duration info
- Support results with no duration. You can set the duration to 0.0 but it reports in the UI as
0 us
and contributes to headers like total test suite duration, which is not representative.