jenkinsci / jenkinsci/junit-plugin

[JENKINS-36819] Total suite duration is shown for subgroups of tests

Open
#1,035 11 comments 0 reactions 0 assignees View on GitHub
component:junit-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
87
Forks
351
Avg merge
1d 19h
Merged PRs (30d)
2

Description

Total suite duration is shown for subgroups of tests

Steps:



  1. Our test tool generates XML report in the following junit-like format:

    ```







    ```


  2. plugin parses it successfully

  3. open page like http://host/job/test-job/10/testReport -> see correct duration for tt.fixing.execution1.aaa1 package - 30s

  4. open page http://host/job/test-job/10/testReport/tt.fixing.execution1.aaa1/

Expected result:

See proper duration for subgroups like bbb1 and bbb2 - 10s and 20s. See before.png

Actual result:

See full suite (sum of tt.*) duration for subgroups like bbb1 and bbb2 - 1m50s and 1m50s. See after.png

Workaround:

downgrade junit plugin to 1.10 version

---
Originally reported by ausavchuk, imported from: Total suite duration is shown for subgroups of tests


  • status: Open
  • priority: Minor
  • component(s): junit-plugin
  • resolution: Unresolved
  • votes: 2
  • watchers: 7
  • imported: 2025-11-26

Raw content of original issue

Total suite duration is shown for subgroups of tests

Steps:



  1. Our test tool generates XML report in the following junit-like format:

    <?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
    
    <testsuite errors="0" failures="0" skipped="0" tests="6">
    <testcase name="test1" classname="tt.fixing.execution1.aaa1.bbb1" time="10" />
    <testcase name="test2" classname="tt.fixing.execution1.aaa1.bbb2" time="10" />
    <testcase name="test3" classname="tt.fixing.execution1.aaa1.bbb2" time="10" />

    <testcase name="test4" classname="tt.fixing.execution1.aaa2.bbb3" time="10" />
    <testcase name="test5" classname="tt.fixing.execution1.aaa2.bbb3" time="10" />

    <testcase name="test6" classname="tt.fixing.execution2.ccc1.ddd1" time="10" />
    <testcase name="test7" classname="tt.fixing.execution2.ccc1.ddd1" time="10" />

    <testcase name="test8" classname="tt.fixing.execution2.ccc2.ddd3" time="10" />
    <testcase name="test9" classname="tt.fixing.execution2.ccc2.ddd4" time="10" />

    <testcase name="t1" classname="tt.other.group" time="10" />
    <testcase name="t2" classname="tt.other.group" time="10" />
    </testsuite>



  2. plugin parses it successfully

  3. open page like http://host/job/test-job/10/testReport -> see correct duration for tt.fixing.execution1.aaa1 package - 30s

  4. open page http://host/job/test-job/10/testReport/tt.fixing.execution1.aaa1/

Expected result:
See proper duration for subgroups like bbb1 and bbb2 - 10s and 20s. See before.png

Actual result:
See full suite (sum of tt.*) duration for subgroups like bbb1 and bbb2 - 1m50s and 1m50s. See after.png

Workaround:
downgrade junit plugin to 1.10 version

environment

```
Jenkins 1.656

Junit plugin 1.15
```

2 attachments

- [after.png](https://issues.jenkins.io/secure/attachment/33380/after.png)
> ![after.png](https://issues.jenkins.io/secure/attachment/33380/after.png)
- [before.png](https://issues.jenkins.io/secure/attachment/33381/before.png)
> ![before.png](https://issues.jenkins.io/secure/attachment/33381/before.png)

Contributor guide

Open the contributing guide

Research direction

Reproduce the report using the JUnit-like XML example and inspect the JUnit plugin's testReport subgroup pages, especially the tt.fixing.execution1.aaa1 path. Compare the displayed durations for bbb1 and bbb2 with the testcase times; done means each subgroup shows its own summed duration rather than the full suite total.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.