JUnit XML Report

The JUnit XML build summary report is for continuous integration (CIcontinuous integration/CDcontinuous delivery). CI/CD tools read it to decide whether the tests passed, and many of them can display it. The HTML build summary report shows a superset of its information.

The report is <BuildName>/<BuildName>.xml, written next to the HTMLHyperText Markup Language build summary report by RUFF/osvvm/CreateBuildReports at the end of a build. RUFF/osvvm/Report2Junit creates it alone from the build’s YAMLYAML Ain't Markup Language file.

OSVVMOpen Source VHDL Verification Methodology runs its own regressions on GitHub and collects these files there.

build ../OsvvmLibraries/RunDemoTests.pro
# creates
#   OsvvmRunDemoTests/OsvvmRunDemoTests.xml

# again from the build's YAML file
set Build OsvvmRunDemoTests
Report2Junit $Build/$Build.yml

Structure

<testsuites>

The build: its name, start time, duration and the counts of test cases, failures, errors and skipped test cases. Its <properties> name the OSVVM version, the simulator and the simulator’s version.

<testsuite>

A test suite (TestSuite), with its counts.

<testcase>

A test case: its name, its test suite as classname, the number of checks as assertions, and its duration. Generics set with generic are <property name="generic"> entries.

<failure>, <skipped>

A failed test case, with the reason; a test case skipped with SkipTest.

<?xml version="1.0" encoding="utf-8"?>
<testsuites
   name="OsvvmLibraries_RunAllTests"
   timestamp="2026-10-10T16:50:50+00:00"
   time="99.883"
   tests="314"
   failures="0"
   errors="0"
   skipped="0"
>
<properties>
  <property name="OsvvmVersion" value="2026.09" />
  <property name="Simulator" value="NVC" />
  <property name="SimulatorVersion" value="1.23.0" />
</properties>
<testsuite
   name="StreamTransactionPkg"
   time="3.923"
   tests="15"
   failures="0"
   errors="0"
   skipped="0"
>
<testcase
   name="TbStream_SendGet1"
   classname="StreamTransactionPkg"
   assertions="1296"
   time="0.317"
>
</testcase>
...
</testsuite>
</testsuites>