# Support testsets and tests with no duration

**URL:** <https://forum.buildkite.community/t/support-testsets-and-tests-with-no-duration/4309>\
**Category:** Test Analytics\
**Created:** [March 18, 2025, 6:12pm UTC](https://forum.buildkite.community/t/support-testsets-and-tests-with-no-duration/4309 "2025-03-18T18:12:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![IanButterworth](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/ianbutterworth/32/1599_2.png) [@IanButterworth](https://forum.buildkite.community/u/IanButterworth)\
**Post date:** [March 18, 2025, 6:12pm UTC](https://forum.buildkite.community/t/support-testsets-and-tests-with-no-duration/4309/1 "2025-03-18T18:12:09Z")

</div>

The julia Test.jl stdlib framework has the following type of common structure

```auto
@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:

1. Support grouping results into testsets and have those testsets have duration info
2. 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.

---

<div class="post-metadata">

**Author:** ![lizette](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/lizette/32/1161_2.png) [@lizette](https://forum.buildkite.community/u/lizette)\
**Post date:** [March 18, 2025, 10:56pm UTC](https://forum.buildkite.community/t/support-testsets-and-tests-with-no-duration/4309/2 "2025-03-18T22:56:49Z")

</div>

Hi @IanButterworth ,

Thanks for the above feedback. I’ll raise them to our product team!

Cheers!

---

<div class="post-metadata">

**Author:** ![IanButterworth](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/ianbutterworth/32/1599_2.png) [@IanButterworth](https://forum.buildkite.community/u/IanButterworth)\
**Post date:** [April 1, 2025, 2:54pm UTC](https://forum.buildkite.community/t/support-testsets-and-tests-with-no-duration/4309/3 "2025-04-01T14:54:07Z")

</div>

Thanks. For now we have worked around this by making all results 0s, but adding a single “unknown” result for each top-level group, with the real duration. We opted to not have them marked as pass/fail to avoid them showing up as specific failures on the jobs, as it’d just be noise ontop of the actual failing results.

> **[Test Suite · Buildkite](https://buildkite.com/organizations/julialang/analytics/suites/julialang-base/runs/78d2ffb4-f900-8553-9383-97d50360198a?branch=master)**
>
> Check out JuliaLang’s test suite on Buildkite Test Engine, an observability platform that helps you improve reliability and deploy with confidence.

---

<div class="post-metadata">

**Author:** ![amna](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@amna](https://forum.buildkite.community/u/amna)\
**Post date:** [April 1, 2025, 4:37pm UTC](https://forum.buildkite.community/t/support-testsets-and-tests-with-no-duration/4309/4 "2025-04-01T16:37:56Z")

</div>

Appreciate you sharing the approach; it gives us a good reference point as we think about better support for test grouping and duration reporting.
