jenkinsci / jenkinsci/junit-plugin
[JENKINS-51790] Support GTest Disabled Tests in Junit Plugin
- Dominant language
- Java
- Stars
- 87
- Forks
- 351
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 2
Description
GTest has the notion of disabled tests. It shows them in xml with a summation of disabled tests in the testsuite section and a status="notrun" attribute on each test case. It would be very nice either a disabled tests (similar to pass, fail, skip) was aded or disabled tests were marked as skipped tests. Below is an example of some disabled tests and how the xml format of GTest would show them in version 1.8.0 of the GTest library.
"1.0" encoding="UTF-8"?>
"33" failures="0" disabled="26" errors="0" timestamp="2018-06-07T17:05:18" time="0.002" name="AllTests">
"Object" tests="15" failures="0" disabled="15" errors="0" time="0">
"DISABLED_Attribute" status="notrun" time="0" classname="Object" />
"DISABLED_ObjectConstructor" status="notrun" time="0" classname="Object" />
"DISABLED_SetClassification" status="notrun" time="0" classname="Object" />
"DISABLED_SetMultipleClassification" status="notrun" time="0" classname="Object" />
"DISABLED_GetAttributeNames" status="notrun" time="0" classname="Object" />
"DISABLED_AddAttribute" status="notrun" time="0" classname="Object" />
"DISABLED_AttributeLimitNumber" status="notrun" time="0" classname="Object" />
"DISABLED_UpdateAttribute" status="notrun" time="0" classname="Object" />
"DISABLED_GetAttribute" status="notrun" time="0" classname="Object" />
"DISABLED_RemoveAttribute" status="notrun" time="0" classname="Object" />
"DISABLED_GetSetPose" status="notrun" time="0" classname="Object" />
"DISABLED_GetSetVelocity" status="notrun" time="0" classname="Object" />
"DISABLED_GetSetAcceleration" status="notrun" time="0" classname="Object" />
"DISABLED_GetSet3DBoundingBox" status="notrun" time="0" classname="Object" />
"DISABLED_GetSet2DBoundingBox" status="notrun" time="0" classname="Object" />"Roadgraph" tests="18" failures="0" disabled="11" errors="0" time="0.002">
"DISABLED_GetSetSpeedLimit" status="notrun" time="0" classname="Roadgraph" />
"DeleteSpeedLimit" status="run" time="0.001" classname="Roadgraph" />
"GetSetMinSpeedLimit" status="run" time="0" classname="Roadgraph" />
"DeleteMinSpeedLimit" status="run" time="0" classname="Roadgraph" />
"GetSetRoadAccessType" status="run" time="0" classname="Roadgraph" />
"DISABLED_DeleteRoadAccessType" status="notrun" time="0" classname="Roadgraph" />
"GetSetCenterLine" status="run" time="0" classname="Roadgraph" />
"DISABLED_DeleteCenterLine" status="notrun" time="0" classname="Roadgraph" />
"DISABLED_GetSetLeftLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
"DISABLED_DeleteLeftLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
"DISABLED_GetSetLeftLaneBoundsMeaning" status="notrun" time="0" classname="Roadgraph" />
"DISABLED_DeleteLeftLaneBoundsMeaning" status="notrun" time="0" classname="Roadgraph" />
"DISABLED_GetSetRightLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
"DISABLED_DeleteRightLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
"DISABELD_GetSetRightLaneBoundsMeaning" status="run" time="0" classname="Roadgraph" />
"DISABLED_DeleteRightLaneBoundsMeaning" status="notrun" time="0" classname="Roadgraph" />
"GetLaneWidth" status="run" time="0.001" classname="Roadgraph" />
"DISABLED_RoadgraphTypes" status="notrun" time="0" classname="Roadgraph" />
---
Originally reported by spenser309, imported from: Support GTest Disabled Tests in Junit Plugin
Raw content of original issue
GTest has the notion of disabled tests. It shows them in xml with a summation of disabled tests in the testsuite section and a status="notrun" attribute on each test case. It would be very nice either a disabled tests (similar to pass, fail, skip) was aded or disabled tests were marked as skipped tests. Below is an example of some disabled tests and how the xml format of GTest would show them in version 1.8.0 of the GTest library.
<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="33" failures="0" disabled="26" errors="0" timestamp="2018-06-07T17:05:18" time="0.002" name="AllTests">
<testsuite name="Object" tests="15" failures="0" disabled="15" errors="0" time="0">
<testcase name="DISABLED_Attribute" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_ObjectConstructor" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_SetClassification" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_SetMultipleClassification" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_GetAttributeNames" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_AddAttribute" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_AttributeLimitNumber" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_UpdateAttribute" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_GetAttribute" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_RemoveAttribute" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_GetSetPose" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_GetSetVelocity" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_GetSetAcceleration" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_GetSet3DBoundingBox" status="notrun" time="0" classname="Object" />
<testcase name="DISABLED_GetSet2DBoundingBox" status="notrun" time="0" classname="Object" />
</testsuite>
<testsuite name="Roadgraph" tests="18" failures="0" disabled="11" errors="0" time="0.002">
<testcase name="DISABLED_GetSetSpeedLimit" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DeleteSpeedLimit" status="run" time="0.001" classname="Roadgraph" />
<testcase name="GetSetMinSpeedLimit" status="run" time="0" classname="Roadgraph" />
<testcase name="DeleteMinSpeedLimit" status="run" time="0" classname="Roadgraph" />
<testcase name="GetSetRoadAccessType" status="run" time="0" classname="Roadgraph" />
<testcase name="DISABLED_DeleteRoadAccessType" status="notrun" time="0" classname="Roadgraph" />
<testcase name="GetSetCenterLine" status="run" time="0" classname="Roadgraph" />
<testcase name="DISABLED_DeleteCenterLine" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DISABLED_GetSetLeftLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DISABLED_DeleteLeftLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DISABLED_GetSetLeftLaneBoundsMeaning" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DISABLED_DeleteLeftLaneBoundsMeaning" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DISABLED_GetSetRightLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DISABLED_DeleteRightLaneBoundsGeometry" status="notrun" time="0" classname="Roadgraph" />
<testcase name="DISABELD_GetSetRightLaneBoundsMeaning" status="run" time="0" classname="Roadgraph" />
<testcase name="DISABLED_DeleteRightLaneBoundsMeaning" status="notrun" time="0" classname="Roadgraph" />
<testcase name="GetLaneWidth" status="run" time="0.001" classname="Roadgraph" />
<testcase name="DISABLED_RoadgraphTypes" status="notrun" time="0" classname="Roadgraph" />
</testsuite>
</testsuites>
2 attachments
- [JenkinsUIReport.JPG](https://issues.jenkins.io/secure/attachment/44754/JenkinsUIReport.JPG)
> 
- [UnitTestResults-OutFile.xml](https://issues.jenkins.io/secure/attachment/44760/UnitTestResults-OutFile.xml)
Contributor guide
Research direction
The issue names the JUnit plugin but no source file or test entry point. Start by locating the plugin's handling of GTest XML, focusing on the disabled count and testcase status="notrun" fields. Done means disabled tests are represented consistently as disabled or skipped in the published results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100