Home | History | Annotate | Download | only in result
      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!-- Copyright (C) 2008 The Android Open Source Project
      3 
      4     Licensed under the Apache License, Version 2.0 (the "License");
      5     you may not use this file except in compliance with the License.
      6     You may obtain a copy of the License at
      7 
      8         http://www.apache.org/licenses/LICENSE-2.0
      9 
     10     Unless required by applicable law or agreed to in writing, software
     11     distributed under the License is distributed on an "AS IS" BASIS,
     12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13     See the License for the specific language governing permissions and
     14     limitations under the License.
     15 -->
     16 
     17 <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> ]>
     18 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     19     <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
     20 
     21     <xsl:template match="/">
     22 
     23         <html>
     24             <STYLE type="text/css">
     25                 @import "cts_result.css";
     26             </STYLE>
     27 
     28             <body>
     29                 <!-- Title of the Report -->
     30                 <DIV id="title">
     31                     <TABLE>
     32                         <TR>
     33                             <TD width="40%" align="left"><img src="logo.gif"></img></TD>
     34                             <TD width="60%" align="left">
     35                                 <h1>Test Report for <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_model"/> -
     36                                 <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@deviceID"/>
     37                             </h1>
     38                         </TD>
     39                     </TR>
     40                 </TABLE>
     41             </DIV>
     42             <img src="newrule-green.png" align="left"></img>
     43 
     44             <br></br>
     45             <br></br>
     46 
     47             <!-- Header with phone and plan information -->
     48             <DIV id="summary">
     49                 <TABLE width="90%" frame="none">
     50                     <TR>
     51                         <TH>Device Information</TH>
     52                         <TH>Test Summary</TH>
     53                     </TR>
     54 
     55                     <TR>
     56                         <TD>
     57                             <!-- Device information -->
     58                             <div id="summaryinfo">
     59                                 <TABLE width="75%">
     60                                     <TR>
     61                                         <TD class="rowtitle">Build Model</TD>
     62                                         <TD>
     63                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_model"/>
     64                                         </TD>
     65                                     </TR>
     66                                     <TR>
     67                                         <TD class="rowtitle">Build Name</TD>
     68                                         <TD>
     69                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@buildName"/>
     70                                         </TD>
     71                                     </TR>
     72                                     <TR>
     73                                         <TD class="rowtitle">Device ID</TD>
     74                                         <TD>
     75                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@deviceID"/>
     76                                         </TD>
     77                                     </TR>
     78                                     <TR>
     79                                         <TD class="rowtitle">Firmware Version</TD>
     80                                         <TD>
     81                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@buildVersion"/>
     82                                         </TD>
     83                                     </TR>
     84                                     <TR>
     85                                         <TD class="rowtitle">Firmware Build Number</TD>
     86                                         <TD>
     87                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@buildID"/>
     88                                         </TD>
     89                                     </TR>
     90                                     <TR>
     91                                         <TD class="rowtitle">Build Fingerprint</TD>
     92                                         <TD>
     93                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@build_fingerprint"/>
     94                                         </TD>
     95                                     </TR>
     96                                     <TR>
     97                                         <TD class="rowtitle">Build ABI</TD>
     98                                         <TD>
     99                                             <xsl:value-of
    100                                               select="TestResult/DeviceInfo/BuildInfo/@build_abi"/>
    101                                         </TD>
    102                                     </TR>
    103                                     <TR>
    104                                         <TD class="rowtitle">Build ABI2</TD>
    105                                         <TD>
    106                                             <xsl:value-of
    107                                               select="TestResult/DeviceInfo/BuildInfo/@build_abi2"/>
    108                                         </TD>
    109                                     </TR>
    110                                     <TR>
    111                                         <TD class="rowtitle">Android Platform Version</TD>
    112                                         <TD>
    113                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@androidPlatformVersion"/>
    114                                         </TD>
    115                                     </TR>
    116                                     <TR>
    117                                         <TD class="rowtitle">Supported Locales</TD>
    118                                         <TD>
    119                                             <xsl:call-template name="formatDelimitedString">
    120                                                 <xsl:with-param name="string" select="TestResult/DeviceInfo/BuildInfo/@locales"/>
    121                                             </xsl:call-template>
    122                                         </TD>
    123                                     </TR>
    124                                     <TR>
    125                                         <TD class="rowtitle">Screen size</TD>
    126                                         <TD>
    127                                             <xsl:value-of select="TestResult/DeviceInfo/Screen/@resolution"/>
    128                                         </TD>
    129                                     </TR>
    130                                     <TR>
    131                                         <TD class="rowtitle">Phone number</TD>
    132                                         <TD>
    133                                             <xsl:value-of select="TestResult/DeviceInfo/PhoneSubInfo/@subscriberId"/>
    134                                         </TD>
    135                                     </TR>
    136                                     <TR>
    137                                         <TD class="rowtitle">x dpi</TD>
    138                                         <TD>
    139                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@Xdpi"/>
    140                                         </TD>
    141                                     </TR>
    142                                     <TR>
    143                                         <TD class="rowtitle">y dpi</TD>
    144                                         <TD>
    145                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@Ydpi"/>
    146                                         </TD>
    147                                     </TR>
    148                                     <TR>
    149                                         <TD class="rowtitle">Touch</TD>
    150                                         <TD>
    151                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@touch"/>
    152                                         </TD>
    153                                     </TR>
    154                                     <TR>
    155                                         <TD class="rowtitle">Navigation</TD>
    156                                         <TD>
    157                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@navigation"/>
    158                                         </TD>
    159                                     </TR>
    160                                     <TR>
    161                                         <TD class="rowtitle">Keypad</TD>
    162                                         <TD>
    163                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@keypad"/>
    164                                         </TD>
    165                                     </TR>
    166                                     <TR>
    167                                         <TD class="rowtitle">Network</TD>
    168                                         <TD>
    169                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@network"/>
    170                                         </TD>
    171                                     </TR>
    172                                     <TR>
    173                                         <TD class="rowtitle">IMEI</TD>
    174                                         <TD>
    175                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@imei"/>
    176                                         </TD>
    177                                     </TR>
    178                                     <TR>
    179                                         <TD class="rowtitle">IMSI</TD>
    180                                         <TD>
    181                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@imsi"/>
    182                                         </TD>
    183                                     </TR>
    184                                     <TR>
    185                                         <TD class="rowtitle">Open GL ES Version</TD>
    186                                         <TD>
    187                                             <xsl:value-of select="TestResult/DeviceInfo/BuildInfo/@openGlEsVersion"/>
    188                                         </TD>
    189                                     </TR>
    190                                     <TR>
    191                                         <TD class="rowtitle">Features</TD>
    192                                         <TD>
    193                                             <xsl:for-each select="TestResult/DeviceInfo/FeatureInfo/Feature[@type='sdk']">
    194                                                 <xsl:text>[</xsl:text>
    195                                                 <xsl:choose>
    196                                                     <xsl:when test="@available = 'true'">
    197                                                         <xsl:text>X</xsl:text>
    198                                                     </xsl:when>
    199                                                     <xsl:otherwise>
    200                                                         <xsl:text>_</xsl:text>
    201                                                     </xsl:otherwise>
    202                                                 </xsl:choose>
    203                                                 <xsl:text>] </xsl:text>
    204 
    205                                                 <xsl:value-of select="@name" />
    206                                                 <br />
    207                                             </xsl:for-each>
    208                                         </TD>
    209                                     </TR>
    210                                     <TR>
    211                                         <TD class="rowtitle">Other Features</TD>
    212                                         <TD>
    213                                             <UL>
    214                                                 <xsl:for-each select="TestResult/DeviceInfo/FeatureInfo/Feature[@type='other']">
    215                                                     <LI><xsl:value-of select="@name" /></LI>
    216                                                 </xsl:for-each>
    217                                             </UL>
    218                                         </TD>
    219                                     </TR>
    220                                     <TR>
    221                                         <TD class="rowtitle">Root Processes</TD>
    222                                         <TD>
    223                                             <UL>
    224                                                 <xsl:for-each select="TestResult/DeviceInfo/ProcessInfo/Process[@uid='0']">
    225                                                     <LI><xsl:value-of select="@name" /></LI>
    226                                                 </xsl:for-each>
    227                                             </UL>
    228                                         </TD>
    229                                     </TR>
    230                                 </TABLE>
    231                             </div>
    232                         </TD>
    233 
    234                         <!-- plan information -->
    235                         <TD>
    236                             <div id="summaryinfo">
    237                                 <TABLE width="75%">
    238                                     <TR>
    239                                         <TD class="rowtitle">CTS version</TD>
    240                                         <TD>
    241                                             <xsl:value-of select="TestResult/HostInfo/Cts/@version"/>
    242                                         </TD>
    243                                     </TR>
    244                                     <TR>
    245                                         <TD class="rowtitle">Test timeout</TD>
    246                                         <TD>
    247                                             <xsl:value-of select="TestResult/HostInfo/Cts/IntValue[@name='testStatusTimeoutMs']/@value" /> ms
    248                                         </TD>
    249                                     </TR>
    250                                     <TR>
    251                                         <TD class="rowtitle">Host Info</TD>
    252                                         <TD>
    253                                             <xsl:value-of select="TestResult/HostInfo/@name"/>
    254                                             (<xsl:value-of select="TestResult/HostInfo/Os/@name"/> - 
    255                                               <xsl:value-of select="TestResult/HostInfo/Os/@version"/>)
    256                                         </TD>
    257                                     </TR>
    258                                     <TR><TD><BR></BR></TD><TD></TD></TR>
    259                                     <TR>
    260                                         <TD class="rowtitle">Plan name</TD>
    261                                         <TD>
    262                                             <xsl:value-of select="TestResult/@testPlan"/>
    263                                         </TD>
    264                                     </TR>
    265                                     <TR>
    266                                         <TD class="rowtitle">Profile</TD>
    267                                         <TD>
    268                                             <xsl:value-of select="TestResult/@profile"/>
    269                                         </TD>
    270                                     </TR>
    271                                     <TR>
    272                                         <TD class="rowtitle">Start time</TD>
    273                                         <TD>
    274                                             <xsl:value-of select="TestResult/@starttime"/>
    275                                         </TD>
    276                                     </TR>
    277                                     <TR>
    278                                         <TD class="rowtitle">End time</TD>
    279                                         <TD>
    280                                             <xsl:value-of select="TestResult/@endtime"/>
    281                                         </TD>
    282                                     </TR>
    283 
    284                                     <!-- Test Summary -->
    285                                     <TR><TD><BR></BR></TD><TD></TD></TR>
    286                                     <TR>
    287                                         <TD class="rowtitle">Tests Passed</TD>
    288                                         <TD>
    289                                             <xsl:value-of select="TestResult/Summary/@pass"/>
    290                                         </TD>
    291                                     </TR>
    292                                     <TR>
    293                                         <TD class="rowtitle">Tests Failed</TD>
    294                                         <TD>
    295                                             <xsl:value-of select="TestResult/Summary/@failed"/>
    296                                         </TD>
    297                                     </TR>
    298                                     <TR>
    299                                         <TD class="rowtitle">Tests Timed out</TD>
    300                                         <TD>
    301                                             <xsl:value-of select="TestResult/Summary/@timeout"/>
    302                                         </TD>
    303                                     </TR>
    304                                     <TR>
    305                                         <TD class="rowtitle">Tests Omitted</TD>
    306                                         <TD>
    307                                             <xsl:value-of select="TestResult/Summary/@omitted"/>
    308                                         </TD>
    309                                     </TR>
    310                                     <TR>
    311                                         <TD class="rowtitle">Tests Not Executed</TD>
    312                                         <TD>
    313                                             <xsl:value-of select="TestResult/Summary/@notExecuted"/>
    314                                         </TD>
    315                                     </TR>
    316                                 </TABLE>
    317                             </div>
    318                         </TD>
    319                     </TR>
    320                 </TABLE>
    321             </DIV>
    322 
    323             <!-- High level summary of test execution -->
    324             <h2 align="center">Test Summary by Package</h2>
    325             <DIV id="testsummary">
    326                 <TABLE>
    327                     <TR>
    328                         <TH>Test Package</TH>
    329                         <TH>Passed</TH>
    330                         <TH>Failed</TH>
    331                         <TH>Timed Out</TH>
    332                         <TH>Total Tests</TH>
    333                     </TR>
    334                     <xsl:for-each select="TestResult/TestPackage">
    335                         <TR>
    336                             <TD>
    337                                 <xsl:variable name="href"><xsl:value-of select="@name"/></xsl:variable>
    338                                 <a href="#{$href}"><xsl:value-of select="@name"/></a>
    339                             </TD>
    340                             <TD>
    341                                 <xsl:value-of select="@pass"/>
    342                             </TD>
    343                             <TD>
    344                                 <xsl:value-of select="@failed"/>
    345                             </TD>
    346                             <TD>
    347                                 <xsl:value-of select="@timeout"/>
    348                             </TD>
    349                             <TD>
    350                                 <xsl:value-of select="@total"/>
    351                             </TD>
    352                         </TR>
    353                     </xsl:for-each> <!-- end package -->
    354                 </TABLE>
    355             </DIV>
    356 
    357             <!-- Details of all the executed tests -->
    358             <h2 align="center">Detailed Test Report</h2>
    359 
    360             <!-- test package -->
    361             <DIV id="testdetail">
    362                 <xsl:for-each select="TestResult/TestPackage">
    363                     <DIV id="none">
    364                         <TABLE>
    365                             <TR>
    366                                 <TD class="none" align="left">
    367                                     <xsl:variable name="href"><xsl:value-of select="@name"/></xsl:variable>
    368                                     <a name="{$href}">Compatibility Test Package: <xsl:value-of select="@name"/></a>
    369                                 </TD>
    370                             </TR>
    371                         </TABLE>
    372                     </DIV>
    373 
    374                     <TABLE>
    375                         <TR>
    376                             <TH width="25%">Test</TH>
    377                             <TH width="7%">Result</TH>
    378                             <TH width="68%">Failure Details</TH>
    379                         </TR>
    380 
    381                         <!-- test case -->
    382                         <xsl:for-each select="TestCase">
    383 
    384                             <!-- emit a blank row before every test suite name -->
    385                             <xsl:if test="position()!=1">
    386                                 <TR> <TD class="testcasespacer" colspan="3"></TD> </TR>
    387                             </xsl:if>
    388 
    389 
    390                             <TR>
    391                                 <TD class="testcase" colspan="3">
    392                                     <xsl:value-of select="@name"/>
    393                                 </TD>
    394                             </TR>
    395                             
    396                             <!-- test -->
    397                             <xsl:for-each select="Test">
    398                                 <TR>
    399                                     <TD class="testname"> -- <xsl:value-of select="@name"/></TD>
    400 
    401                                     <!-- test results -->
    402                                     <xsl:choose>
    403                                         <xsl:when test="string(@KnownFailure)">
    404                                             <!-- "pass" indicates the that test actually passed (results have been inverted already) -->
    405                                             <xsl:if test="@result='pass'">
    406                                                 <TD class="pass">
    407                                                     <div style="text-align: center; margin-left:auto; margin-right:auto;">
    408                                                         known problem
    409                                                     </div>
    410                                                 </TD>
    411                                                 <TD class="failuredetails"></TD>
    412                                             </xsl:if>
    413 
    414                                             <!-- "fail" indicates that a known failure actually passed (results have been inverted already) -->
    415                                             <xsl:if test="@result='fail'">
    416                                                 <TD class="failed">
    417                                                     <div style="text-align: center; margin-left:auto; margin-right:auto;">
    418                                                         <xsl:value-of select="@result"/>
    419                                                     </div>
    420                                                 </TD>
    421                                                <TD class="failuredetails">
    422                                                     <div id="details">
    423                                                         A test that was a known failure actually passed. Please check.
    424                                                     </div>
    425                                                </TD>
    426                                             </xsl:if>
    427                                         </xsl:when>
    428 
    429                                         <xsl:otherwise>
    430                                             <xsl:if test="@result='pass'">
    431                                                 <TD class="pass">
    432                                                     <div style="text-align: center; margin-left:auto; margin-right:auto;">
    433                                                         <xsl:value-of select="@result"/>
    434                                                     </div>
    435                                                 </TD>
    436                                                 <TD class="failuredetails"></TD>
    437                                             </xsl:if>
    438 
    439                                             <xsl:if test="@result='fail'">
    440                                                 <TD class="failed">
    441                                                     <div style="text-align: center; margin-left:auto; margin-right:auto;">
    442                                                         <xsl:value-of select="@result"/>
    443                                                     </div>
    444                                                 </TD>
    445                                                 <TD class="failuredetails">
    446                                                     <div id="details">
    447                                                         <xsl:value-of select="FailedScene/@message"/>
    448                                                     </div>
    449                                                 </TD>
    450                                             </xsl:if>
    451 
    452                                             <xsl:if test="@result='timeout'">
    453                                                 <TD class="timeout">
    454                                                     <div style="text-align: center; margin-left:auto; margin-right:auto;">
    455                                                         <xsl:value-of select="@result"/>
    456                                                     </div>
    457                                                 <TD class="failuredetails"></TD>
    458                                                 </TD>
    459                                             </xsl:if>
    460 
    461                                             <xsl:if test="@result='omitted'">
    462                                                 <TD class="omitted">
    463                                                     <div style="text-align: center; margin-left:auto; margin-right:auto;">
    464                                                         <xsl:value-of select="@result"/>
    465                                                     </div>
    466                                                 </TD>
    467                                                 <TD class="failuredetails"></TD>
    468                                             </xsl:if>
    469 
    470                                             <xsl:if test="@result='notExecuted'">
    471                                                 <TD class="notExecuted">
    472                                                     <div style="text-align: center; margin-left:auto; margin-right:auto;">
    473                                                         <xsl:value-of select="@result"/>
    474                                                     </div>
    475                                                 </TD>
    476                                                 <TD class="failuredetails"></TD>
    477                                             </xsl:if>
    478                                         </xsl:otherwise>
    479                                     </xsl:choose>
    480                                 </TR> <!-- finished with a row -->
    481                             </xsl:for-each> <!-- end test -->
    482                         </xsl:for-each> <!-- end test case -->
    483                     </TABLE>
    484                 </xsl:for-each> <!-- end test package -->
    485             </DIV>
    486             </body>
    487         </html>
    488     </xsl:template>
    489 
    490     <!-- Take a delimited string and insert line breaks after a some number of elements. --> 
    491     <xsl:template name="formatDelimitedString">
    492         <xsl:param name="string" />
    493         <xsl:param name="numTokensPerRow" select="10" />
    494         <xsl:param name="tokenIndex" select="1" />
    495         <xsl:if test="$string">
    496             <!-- Requires the last element to also have a delimiter after it. -->
    497             <xsl:variable name="token" select="substring-before($string, ';')" />
    498             <xsl:value-of select="$token" />
    499             <xsl:text>&#160;</xsl:text>
    500           
    501             <xsl:if test="$tokenIndex mod $numTokensPerRow = 0">
    502                 <br />
    503             </xsl:if>
    504 
    505             <xsl:call-template name="formatDelimitedString">
    506                 <xsl:with-param name="string" select="substring-after($string, ';')" />
    507                 <xsl:with-param name="numTokensPerRow" select="$numTokensPerRow" />
    508                 <xsl:with-param name="tokenIndex" select="$tokenIndex + 1" />
    509             </xsl:call-template>
    510         </xsl:if>
    511     </xsl:template>
    512 
    513 </xsl:stylesheet>
    514