-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mtest: Generate a JUnit xml result file
JUnit is pretty ubiquitous, lots of services and results viewers understand it, in particular gitlab and jenkins know how to consume JUnit xml. This means projects using CI services can have their test results consumed automatically. Fixes: #6972
- Loading branch information
Showing
4 changed files
with
238 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<!-- from https://svn.jenkins-ci.org/trunk/hudson/dtkit/dtkit-format/dtkit-junit-model/src/main/resources/com/thalesgroup/dtkit/junit/model/xsd/junit-4.xsd --> | ||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> | ||
|
||
<xs:element name="failure"> | ||
<xs:complexType mixed="true"> | ||
<xs:attribute name="type" type="xs:string" use="optional"/> | ||
<xs:attribute name="message" type="xs:string" use="optional"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:element name="error"> | ||
<xs:complexType mixed="true"> | ||
<xs:attribute name="type" type="xs:string" use="optional"/> | ||
<xs:attribute name="message" type="xs:string" use="optional"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:element name="properties"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element ref="property" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:element name="property"> | ||
<xs:complexType> | ||
<xs:attribute name="name" type="xs:string" use="required"/> | ||
<xs:attribute name="value" type="xs:string" use="required"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:element name="skipped"> | ||
<xs:complexType mixed="true"> | ||
<xs:attribute name="message" type="xs:string" use="optional"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:element name="system-err" type="xs:string"/> | ||
<xs:element name="system-out" type="xs:string"/> | ||
|
||
<xs:element name="testcase"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element ref="skipped" minOccurs="0" maxOccurs="1"/> | ||
<xs:element ref="error" minOccurs="0" maxOccurs="unbounded"/> | ||
<xs:element ref="failure" minOccurs="0" maxOccurs="unbounded"/> | ||
<xs:element ref="system-out" minOccurs="0" maxOccurs="unbounded"/> | ||
<xs:element ref="system-err" minOccurs="0" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
<xs:attribute name="name" type="xs:string" use="required"/> | ||
<xs:attribute name="assertions" type="xs:string" use="optional"/> | ||
<xs:attribute name="time" type="xs:string" use="optional"/> | ||
<xs:attribute name="classname" type="xs:string" use="optional"/> | ||
<xs:attribute name="status" type="xs:string" use="optional"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:element name="testsuite"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element ref="properties" minOccurs="0" maxOccurs="1"/> | ||
<xs:element ref="testcase" minOccurs="0" maxOccurs="unbounded"/> | ||
<xs:element ref="system-out" minOccurs="0" maxOccurs="1"/> | ||
<xs:element ref="system-err" minOccurs="0" maxOccurs="1"/> | ||
</xs:sequence> | ||
<xs:attribute name="name" type="xs:string" use="required"/> | ||
<xs:attribute name="tests" type="xs:string" use="required"/> | ||
<xs:attribute name="failures" type="xs:string" use="optional"/> | ||
<xs:attribute name="errors" type="xs:string" use="optional"/> | ||
<xs:attribute name="time" type="xs:string" use="optional"/> | ||
<xs:attribute name="disabled" type="xs:string" use="optional"/> | ||
<xs:attribute name="skipped" type="xs:string" use="optional"/> | ||
<xs:attribute name="timestamp" type="xs:string" use="optional"/> | ||
<xs:attribute name="hostname" type="xs:string" use="optional"/> | ||
<xs:attribute name="id" type="xs:string" use="optional"/> | ||
<xs:attribute name="package" type="xs:string" use="optional"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
<xs:element name="testsuites"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element ref="testsuite" minOccurs="0" maxOccurs="unbounded"/> | ||
</xs:sequence> | ||
<xs:attribute name="name" type="xs:string" use="optional"/> | ||
<xs:attribute name="time" type="xs:string" use="optional"/> | ||
<xs:attribute name="tests" type="xs:string" use="optional"/> | ||
<xs:attribute name="failures" type="xs:string" use="optional"/> | ||
<xs:attribute name="disabled" type="xs:string" use="optional"/> | ||
<xs:attribute name="errors" type="xs:string" use="optional"/> | ||
</xs:complexType> | ||
</xs:element> | ||
|
||
</xs:schema> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
## Meson test now produces JUnit xml from results | ||
|
||
Meson will now generate a JUnit compatible XML file from test results. it | ||
will be in the meson-logs directory and is called testlog.junit.xml. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters