1 <?xml version="1.0" encoding="utf-8"?> 2 <xsl:stylesheet 3 version="1.0" 4 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 5 xmlns="http://www.w3.org/1999/xhtml"> 6 7 <xsl:output method="xml" indent="yes" encoding="UTF-8"/> 8 9 <xsl:template match="/"> 10 <xsl:apply-templates/> 11 </xsl:template> 12 13 <xsl:template match="BatchResult"> 14 <html> 15 <head> 16 <link href="testlog.css" rel="stylesheet" type="text/css"/> 17 <title><xsl:value-of select="@FileName"/></title> 18 </head> 19 <body> 20 <table class="Totals"> 21 <tr><td><b><xsl:text>Total cases</xsl:text></b></td><td><b><xsl:value-of select="ResultTotals/@All"/></b></td></tr> 22 <tr><td><xsl:text>Pass</xsl:text></td><td class="Pass"><xsl:value-of select="ResultTotals/@Pass"/></td></tr> 23 <tr><td><xsl:text>Fail</xsl:text></td><td class="Fail"><xsl:value-of select="ResultTotals/@Fail"/></td></tr> 24 <tr><td><xsl:text>Quality warning</xsl:text></td><td class="QualityWarning"><xsl:value-of select="ResultTotals/@QualityWarning"/></td></tr> 25 <tr><td><xsl:text>Compatibility warning</xsl:text></td><td class="CompatibilityWarning"><xsl:value-of select="ResultTotals/@CompatibilityWarning"/></td></tr> 26 <!-- <tr><td><xsl:text>Pending</xsl:text></td><td class="Pending"><xsl:value-of select="ResultTotals/@pending"/></td></tr> --> 27 <!-- <tr><td><xsl:text>Running</xsl:text></td><td class="Running"><xsl:value-of select="ResultTotals/@Running"/></td></tr> --> 28 <tr><td><xsl:text>Not supported</xsl:text></td><td class="NotSupported"><xsl:value-of select="ResultTotals/@NotSupported"/></td></tr> 29 <tr><td><xsl:text>Resource error</xsl:text></td><td class="ResourceError"><xsl:value-of select="ResultTotals/@ResourceError"/></td></tr> 30 <tr><td><xsl:text>Internal error</xsl:text></td><td class="InternalError"><xsl:value-of select="ResultTotals/@InternalError"/></td></tr> 31 <!-- <tr><td><xsl:text>Canceled</xsl:text></td><td class="Canceled"><xsl:value-of select="ResultTotals/@Canceled"/></td></tr> --> 32 <tr><td><xsl:text>Timeout</xsl:text></td><td class="Timeout"><xsl:value-of select="ResultTotals/@Timeout"/></td></tr> 33 <tr><td><xsl:text>Crash</xsl:text></td><td class="Crash"><xsl:value-of select="ResultTotals/@Crash"/></td></tr> 34 <tr><td><xsl:text>Disabled</xsl:text></td><td class="Disabled"><xsl:value-of select="ResultTotals/@Disabled"/></td></tr> 35 <!-- <tr><td><xsl:text>Terminated</xsl:text></td><td class="Terminated"><xsl:value-of select="ResultTotals/@Terminated"/></td></tr> --> 36 </table> 37 <xsl:apply-templates/> 38 </body> 39 </html> 40 </xsl:template> 41 42 <xsl:template match="/TestCaseResult"> 43 <html> 44 <head> 45 <link href="testlog.css" rel="stylesheet" type="text/css"/> 46 <title><xsl:value-of select="@CasePath"/></title> 47 </head> 48 <body> 49 <h1 class="{Result/@StatusCode}"><xsl:value-of select="@CasePath"/><xsl:text>: </xsl:text><xsl:value-of select="Result"/><xsl:text> (</xsl:text><xsl:value-of select="Result/@StatusCode"/><xsl:text>)</xsl:text></h1> 50 <xsl:apply-templates/> 51 </body> 52 </html> 53 </xsl:template> 54 55 <xsl:template match="BatchResult/TestCaseResult"> 56 <div class="TestCaseResult"> 57 <h1 class="{Result/@StatusCode}"><xsl:value-of select="@CasePath"/><xsl:text>: </xsl:text><xsl:value-of select="Result"/><xsl:text> (</xsl:text><xsl:value-of select="Result/@StatusCode"/><xsl:text>)</xsl:text></h1> 58 <xsl:apply-templates/> 59 </div> 60 </xsl:template> 61 62 <xsl:template match="Section"> 63 <div class="Section"> 64 <h2><xsl:value-of select="@Description"/></h2> 65 <xsl:apply-templates/> 66 </div> 67 </xsl:template> 68 69 <xsl:template match="ImageSet"> 70 <div class="ImageSet"> 71 <h3><xsl:value-of select="@Description"/></h3> 72 <xsl:apply-templates/> 73 </div> 74 </xsl:template> 75 76 <xsl:template match="Image"> 77 <div class="Image"> 78 <xsl:value-of select="@Description"/><br/> 79 <img src="data:image/png;base64,{.}"/> 80 </div> 81 </xsl:template> 82 83 <xsl:template match="CompileInfo"> 84 <div class="CompileInfo"> 85 <h3 class="{@CompileStatus}"><xsl:value-of select="@Description"/></h3> 86 <xsl:apply-templates/> 87 </div> 88 </xsl:template> 89 90 <xsl:template match="ShaderProgram"> 91 <div class="CompileInfo"> 92 <h3 class="{@LinkStatus}"><xsl:text>Shader Program</xsl:text></h3> 93 <xsl:apply-templates/> 94 </div> 95 </xsl:template> 96 97 <xsl:template match="VertexShader"> 98 <div class="Shader"> 99 <h3 class="{@CompileStatus}"><xsl:text>Vertex Shader</xsl:text></h3> 100 <xsl:apply-templates/> 101 </div> 102 </xsl:template> 103 104 <xsl:template match="FragmentShader"> 105 <div class="Shader"> 106 <h3 class="{@CompileStatus}"><xsl:text>Fragment Shader</xsl:text></h3> 107 <xsl:apply-templates/> 108 </div> 109 </xsl:template> 110 111 <xsl:template match="Number"> 112 <xsl:value-of select="@Description"/><xsl:text>: </xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Unit"/><br/> 113 </xsl:template> 114 115 <xsl:template match="Result"> 116 </xsl:template> 117 118 <xsl:template match="Text"> 119 <xsl:value-of select="."/><br/> 120 </xsl:template> 121 122 <xsl:template match="KernelSource"> 123 <pre class="KernelSource"><xsl:value-of select="."/></pre> 124 </xsl:template> 125 126 <xsl:template match="ShaderSource"> 127 <pre class="ShaderSource"><xsl:value-of select="."/></pre> 128 </xsl:template> 129 130 <xsl:template match="InfoLog"> 131 <pre class="InfoLog"><xsl:value-of select="."/></pre> 132 </xsl:template> 133 134 <xsl:template match="EglConfigSet"> 135 <div class="Section"> 136 <h2><xsl:value-of select="@Description"/></h2> 137 <table class="EglConfigList"> 138 <tr> 139 <td class="ConfigListTitle"><xsl:text>ID</xsl:text></td> 140 <td class="ConfigListTitle"><xsl:text>R</xsl:text></td> 141 <td class="ConfigListTitle"><xsl:text>G</xsl:text></td> 142 <td class="ConfigListTitle"><xsl:text>B</xsl:text></td> 143 <td class="ConfigListTitle"><xsl:text>A</xsl:text></td> 144 <td class="ConfigListTitle"><xsl:text>D</xsl:text></td> 145 <td class="ConfigListTitle"><xsl:text>S</xsl:text></td> 146 <td class="ConfigListTitle"><xsl:text>mS</xsl:text></td> 147 </tr> 148 <xsl:apply-templates/> 149 </table> 150 </div> 151 </xsl:template> 152 153 <xsl:template match="EglConfig"> 154 <tr> 155 <td class="ConfigListValue"><xsl:value-of select="@ConfigID"/></td> 156 <td class="ConfigListValue"><xsl:value-of select="@RedSize"/></td> 157 <td class="ConfigListValue"><xsl:value-of select="@GreenSize"/></td> 158 <td class="ConfigListValue"><xsl:value-of select="@BlueSize"/></td> 159 <td class="ConfigListValue"><xsl:value-of select="@AlphaSize"/></td> 160 <td class="ConfigListValue"><xsl:value-of select="@DepthSize"/></td> 161 <td class="ConfigListValue"><xsl:value-of select="@StencilSize"/></td> 162 <td class="ConfigListValue"><xsl:value-of select="@Samples"/></td> 163 </tr> 164 </xsl:template> 165 166 </xsl:stylesheet> 167