1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3# drawElements Quality Program utilities 4# -------------------------------------- 5# 6# Copyright 2015 The Android Open Source Project 7# 8# Licensed under the Apache License, Version 2.0 (the "License"); 9# you may not use this file except in compliance with the License. 10# You may obtain a copy of the License at 11# 12# http://www.apache.org/licenses/LICENSE-2.0 13# 14# Unless required by applicable law or agreed to in writing, software 15# distributed under the License is distributed on an "AS IS" BASIS, 16# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17# See the License for the specific language governing permissions and 18# limitations under the License. 19# 20#------------------------------------------------------------------------- 21--> 22<xsl:stylesheet 23 version="1.0" 24 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 25 xmlns="http://www.w3.org/1999/xhtml"> 26 27 <xsl:output method="xml" indent="yes" encoding="UTF-8"/> 28 29 <xsl:template match="/"> 30 <xsl:apply-templates/> 31 </xsl:template> 32 33 <xsl:template match="BatchResult"> 34 <html> 35 <head> 36 <link href="testlog.css" rel="stylesheet" type="text/css"/> 37 <title><xsl:value-of select="@FileName"/></title> 38 </head> 39 <body> 40 <table class="Totals"> 41 <tr><td><b><xsl:text>Total cases</xsl:text></b></td><td><b><xsl:value-of select="ResultTotals/@All"/></b></td></tr> 42 <tr><td><xsl:text>Pass</xsl:text></td><td class="Pass"><xsl:value-of select="ResultTotals/@Pass"/></td></tr> 43 <tr><td><xsl:text>Fail</xsl:text></td><td class="Fail"><xsl:value-of select="ResultTotals/@Fail"/></td></tr> 44 <tr><td><xsl:text>Quality warning</xsl:text></td><td class="QualityWarning"><xsl:value-of select="ResultTotals/@QualityWarning"/></td></tr> 45 <tr><td><xsl:text>Compatibility warning</xsl:text></td><td class="CompatibilityWarning"><xsl:value-of select="ResultTotals/@CompatibilityWarning"/></td></tr> 46 <!-- <tr><td><xsl:text>Pending</xsl:text></td><td class="Pending"><xsl:value-of select="ResultTotals/@pending"/></td></tr> --> 47 <!-- <tr><td><xsl:text>Running</xsl:text></td><td class="Running"><xsl:value-of select="ResultTotals/@Running"/></td></tr> --> 48 <tr><td><xsl:text>Not supported</xsl:text></td><td class="NotSupported"><xsl:value-of select="ResultTotals/@NotSupported"/></td></tr> 49 <tr><td><xsl:text>Resource error</xsl:text></td><td class="ResourceError"><xsl:value-of select="ResultTotals/@ResourceError"/></td></tr> 50 <tr><td><xsl:text>Internal error</xsl:text></td><td class="InternalError"><xsl:value-of select="ResultTotals/@InternalError"/></td></tr> 51 <!-- <tr><td><xsl:text>Canceled</xsl:text></td><td class="Canceled"><xsl:value-of select="ResultTotals/@Canceled"/></td></tr> --> 52 <tr><td><xsl:text>Timeout</xsl:text></td><td class="Timeout"><xsl:value-of select="ResultTotals/@Timeout"/></td></tr> 53 <tr><td><xsl:text>Crash</xsl:text></td><td class="Crash"><xsl:value-of select="ResultTotals/@Crash"/></td></tr> 54 <tr><td><xsl:text>Disabled</xsl:text></td><td class="Disabled"><xsl:value-of select="ResultTotals/@Disabled"/></td></tr> 55 <!-- <tr><td><xsl:text>Terminated</xsl:text></td><td class="Terminated"><xsl:value-of select="ResultTotals/@Terminated"/></td></tr> --> 56 </table> 57 <xsl:apply-templates/> 58 </body> 59 </html> 60 </xsl:template> 61 62 <xsl:template match="/TestCaseResult"> 63 <html> 64 <head> 65 <link href="testlog.css" rel="stylesheet" type="text/css"/> 66 <title><xsl:value-of select="@CasePath"/></title> 67 </head> 68 <body> 69 <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> 70 <xsl:apply-templates/> 71 </body> 72 </html> 73 </xsl:template> 74 75 <xsl:template match="BatchResult/TestCaseResult"> 76 <div class="TestCaseResult"> 77 <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> 78 <xsl:apply-templates/> 79 </div> 80 </xsl:template> 81 82 <xsl:template match="Section"> 83 <div class="Section"> 84 <h2><xsl:value-of select="@Description"/></h2> 85 <xsl:apply-templates/> 86 </div> 87 </xsl:template> 88 89 <xsl:template match="ImageSet"> 90 <div class="ImageSet"> 91 <h3><xsl:value-of select="@Description"/></h3> 92 <xsl:apply-templates/> 93 </div> 94 </xsl:template> 95 96 <xsl:template match="Image"> 97 <div class="Image"> 98 <xsl:value-of select="@Description"/><br/> 99 <img src="data:image/png;base64,{.}"/> 100 </div> 101 </xsl:template> 102 103 <xsl:template match="CompileInfo"> 104 <div class="CompileInfo"> 105 <h3 class="{@CompileStatus}"><xsl:value-of select="@Description"/></h3> 106 <xsl:apply-templates/> 107 </div> 108 </xsl:template> 109 110 <xsl:template match="ShaderProgram"> 111 <div class="CompileInfo"> 112 <h3 class="{@LinkStatus}"><xsl:text>Shader Program</xsl:text></h3> 113 <xsl:apply-templates/> 114 </div> 115 </xsl:template> 116 117 <xsl:template match="VertexShader"> 118 <div class="Shader"> 119 <h3 class="{@CompileStatus}"><xsl:text>Vertex Shader</xsl:text></h3> 120 <xsl:apply-templates/> 121 </div> 122 </xsl:template> 123 124 <xsl:template match="FragmentShader"> 125 <div class="Shader"> 126 <h3 class="{@CompileStatus}"><xsl:text>Fragment Shader</xsl:text></h3> 127 <xsl:apply-templates/> 128 </div> 129 </xsl:template> 130 131 <xsl:template match="Number"> 132 <xsl:value-of select="@Description"/><xsl:text>: </xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Unit"/><br/> 133 </xsl:template> 134 135 <xsl:template match="Result"> 136 </xsl:template> 137 138 <xsl:template match="Text"> 139 <xsl:value-of select="."/><br/> 140 </xsl:template> 141 142 <xsl:template match="KernelSource"> 143 <pre class="KernelSource"><xsl:value-of select="."/></pre> 144 </xsl:template> 145 146 <xsl:template match="ShaderSource"> 147 <pre class="ShaderSource"><xsl:value-of select="."/></pre> 148 </xsl:template> 149 150 <xsl:template match="InfoLog"> 151 <pre class="InfoLog"><xsl:value-of select="."/></pre> 152 </xsl:template> 153 154 <xsl:template match="EglConfigSet"> 155 <div class="Section"> 156 <h2><xsl:value-of select="@Description"/></h2> 157 <table class="EglConfigList"> 158 <tr> 159 <td class="ConfigListTitle"><xsl:text>ID</xsl:text></td> 160 <td class="ConfigListTitle"><xsl:text>R</xsl:text></td> 161 <td class="ConfigListTitle"><xsl:text>G</xsl:text></td> 162 <td class="ConfigListTitle"><xsl:text>B</xsl:text></td> 163 <td class="ConfigListTitle"><xsl:text>A</xsl:text></td> 164 <td class="ConfigListTitle"><xsl:text>D</xsl:text></td> 165 <td class="ConfigListTitle"><xsl:text>S</xsl:text></td> 166 <td class="ConfigListTitle"><xsl:text>mS</xsl:text></td> 167 </tr> 168 <xsl:apply-templates/> 169 </table> 170 </div> 171 </xsl:template> 172 173 <xsl:template match="EglConfig"> 174 <tr> 175 <td class="ConfigListValue"><xsl:value-of select="@ConfigID"/></td> 176 <td class="ConfigListValue"><xsl:value-of select="@RedSize"/></td> 177 <td class="ConfigListValue"><xsl:value-of select="@GreenSize"/></td> 178 <td class="ConfigListValue"><xsl:value-of select="@BlueSize"/></td> 179 <td class="ConfigListValue"><xsl:value-of select="@AlphaSize"/></td> 180 <td class="ConfigListValue"><xsl:value-of select="@DepthSize"/></td> 181 <td class="ConfigListValue"><xsl:value-of select="@StencilSize"/></td> 182 <td class="ConfigListValue"><xsl:value-of select="@Samples"/></td> 183 </tr> 184 </xsl:template> 185 186</xsl:stylesheet> 187