summaryrefslogtreecommitdiff
path: root/tools/regression/xsl_reports/test_results.xsd
blob: bd54208488a913feec343c11bc1aa0ce59e792bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <!-- 
    The following online services can be used to validate collected test results:

        - http://apps.gotdotnet.com/xmltools/xsdvalidator/
        - http://tools.decisionsoft.com/schemaValidate.html
    -->

    <xs:simpleType name="test_result">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="fail"/>
            <xs:enumeration value="succeed"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="run_test_result">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="fail"/>
            <xs:enumeration value="succeed"/>
            <xs:enumeration value="note"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="test_type">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="compile"/>
            <xs:enumeration value="compile_fail"/>
            <xs:enumeration value="lib"/>
            <xs:enumeration value="pyd"/>
            <xs:enumeration value="run"/>
            <xs:enumeration value="run_fail"/>
            <xs:enumeration value="run_pyd"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="compile">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="result" type="test_result" use="required"/>
                    <xs:attribute name="timestamp" type="xs:string" use="required"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="link">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="result" type="test_result" use="required"/>
                    <xs:attribute name="timestamp" type="xs:string" use="required"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="lib">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="result" type="test_result" use="required"/>
                    <xs:attribute name="timestamp" type="xs:string" use="required"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="run">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="result" type="run_test_result" use="required"/>
                    <xs:attribute name="timestamp" type="xs:string" use="required"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="test-log">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="compile" minOccurs="0"/>
                <xs:element ref="link" minOccurs="0"/>
                <xs:element ref="run" minOccurs="0"/>
                <xs:element ref="lib" minOccurs="0"/>
            </xs:sequence>
            <xs:attribute name="library" type="xs:string" use="required"/>
            <xs:attribute name="test-name" type="xs:string" use="required"/>
            <xs:attribute name="test-type" type="test_type" use="required"/>
            <xs:attribute name="test-program" type="xs:string" use="required"/>
            <xs:attribute name="target-directory" type="xs:string" use="required"/>
            <xs:attribute name="toolset" type="xs:string" use="required"/>
            <xs:attribute name="show-run-output" type="xs:boolean" use="required"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="tests">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="test-log" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>