mirror of
https://github.com/mesonbuild/meson.git
synced 2026-06-24 08:48:03 +00:00
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
97 lines
4.3 KiB
XML
97 lines
4.3 KiB
XML
<?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>
|