1*ee44dd6cSjmmv<?xml version="1.0" encoding="ISO-8859-1"?> 2*ee44dd6cSjmmv<!DOCTYPE xsl:stylesheet [<!ENTITY nbsp " ">]> 3*ee44dd6cSjmmv 4*ee44dd6cSjmmv<!-- 5*ee44dd6cSjmmv ++ Automated Testing Framework (atf) 6*ee44dd6cSjmmv ++ 7*ee44dd6cSjmmv ++ Copyright (c) 2007 The NetBSD Foundation, Inc. 8*ee44dd6cSjmmv ++ All rights reserved. 9*ee44dd6cSjmmv ++ 10*ee44dd6cSjmmv ++ Redistribution and use in source and binary forms, with or without 11*ee44dd6cSjmmv ++ modification, are permitted provided that the following conditions 12*ee44dd6cSjmmv ++ are met: 13*ee44dd6cSjmmv ++ 1. Redistributions of source code must retain the above copyright 14*ee44dd6cSjmmv ++ notice, this list of conditions and the following disclaimer. 15*ee44dd6cSjmmv ++ 2. Redistributions in binary form must reproduce the above copyright 16*ee44dd6cSjmmv ++ notice, this list of conditions and the following disclaimer in the 17*ee44dd6cSjmmv ++ documentation and/or other materials provided with the distribution. 18*ee44dd6cSjmmv ++ 19*ee44dd6cSjmmv ++ THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND 20*ee44dd6cSjmmv ++ CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 21*ee44dd6cSjmmv ++ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 22*ee44dd6cSjmmv ++ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 23*ee44dd6cSjmmv ++ IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY 24*ee44dd6cSjmmv ++ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25*ee44dd6cSjmmv ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 26*ee44dd6cSjmmv ++ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27*ee44dd6cSjmmv ++ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 28*ee44dd6cSjmmv ++ IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 29*ee44dd6cSjmmv ++ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 30*ee44dd6cSjmmv ++ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31*ee44dd6cSjmmv --> 32*ee44dd6cSjmmv 33*ee44dd6cSjmmv<xsl:stylesheet version="1.0" 34*ee44dd6cSjmmv xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 35*ee44dd6cSjmmv 36*ee44dd6cSjmmv <!-- Parameters that can be overriden by the user. --> 37*ee44dd6cSjmmv <xsl:param name="global.css">tests-results.css</xsl:param> 38*ee44dd6cSjmmv <xsl:param name="global.title">ATF Tests Results</xsl:param> 39*ee44dd6cSjmmv 40*ee44dd6cSjmmv <xsl:variable name="ntps" 41*ee44dd6cSjmmv select="count(tests-results/tp)" /> 42*ee44dd6cSjmmv <xsl:variable name="ntps-failed" 43*ee44dd6cSjmmv select="count(tests-results/tp/failed)" /> 44*ee44dd6cSjmmv <xsl:variable name="ntcs" 45*ee44dd6cSjmmv select="count(tests-results/tp/tc)" /> 46*ee44dd6cSjmmv <xsl:variable name="ntcs-passed" 47*ee44dd6cSjmmv select="count(tests-results/tp/tc/passed)" /> 48*ee44dd6cSjmmv <xsl:variable name="ntcs-failed" 49*ee44dd6cSjmmv select="count(tests-results/tp/tc/failed)" /> 50*ee44dd6cSjmmv <xsl:variable name="ntcs-skipped" 51*ee44dd6cSjmmv select="count(tests-results/tp/tc/skipped)" /> 52*ee44dd6cSjmmv <xsl:variable name="ntcs-xfail" 53*ee44dd6cSjmmv select="count(tests-results/tp/tc/expected_death) + 54*ee44dd6cSjmmv count(tests-results/tp/tc/expected_exit) + 55*ee44dd6cSjmmv count(tests-results/tp/tc/expected_failure) + 56*ee44dd6cSjmmv count(tests-results/tp/tc/expected_signal) + 57*ee44dd6cSjmmv count(tests-results/tp/tc/expected_timeout)" /> 58*ee44dd6cSjmmv 59*ee44dd6cSjmmv <xsl:template match="/"> 60*ee44dd6cSjmmv <xsl:copy> 61*ee44dd6cSjmmv <xsl:apply-templates select="@*|node()" /> 62*ee44dd6cSjmmv </xsl:copy> 63*ee44dd6cSjmmv </xsl:template> 64*ee44dd6cSjmmv 65*ee44dd6cSjmmv <xsl:template match="tests-results"> 66*ee44dd6cSjmmv <html xmlns="http://www.w3.org/1999/xhtml"> 67*ee44dd6cSjmmv <head> 68*ee44dd6cSjmmv <meta http-equiv="Content-Type" 69*ee44dd6cSjmmv content="text/html; charset=iso-8859-1" /> 70*ee44dd6cSjmmv <link rel="stylesheet" type="text/css" href="{$global.css}" /> 71*ee44dd6cSjmmv 72*ee44dd6cSjmmv <title><xsl:value-of select="$global.title" /></title> 73*ee44dd6cSjmmv </head> 74*ee44dd6cSjmmv 75*ee44dd6cSjmmv <body> 76*ee44dd6cSjmmv <h1><xsl:value-of select="$global.title" /></h1> 77*ee44dd6cSjmmv 78*ee44dd6cSjmmv <xsl:call-template name="info-top" /> 79*ee44dd6cSjmmv <xsl:call-template name="tcs-summary" /> 80*ee44dd6cSjmmv <xsl:if test="$ntcs-failed > 0"> 81*ee44dd6cSjmmv <xsl:call-template name="failed-tcs-summary" /> 82*ee44dd6cSjmmv </xsl:if> 83*ee44dd6cSjmmv <xsl:if test="$ntcs-xfail > 0"> 84*ee44dd6cSjmmv <xsl:call-template name="xfail-tcs-summary" /> 85*ee44dd6cSjmmv </xsl:if> 86*ee44dd6cSjmmv <xsl:if test="$ntcs-skipped > 0"> 87*ee44dd6cSjmmv <xsl:call-template name="skipped-tcs-summary" /> 88*ee44dd6cSjmmv </xsl:if> 89*ee44dd6cSjmmv <xsl:if test="$ntps-failed > 0"> 90*ee44dd6cSjmmv <xsl:call-template name="failed-tps-summary" /> 91*ee44dd6cSjmmv </xsl:if> 92*ee44dd6cSjmmv <xsl:call-template name="info-bottom" /> 93*ee44dd6cSjmmv 94*ee44dd6cSjmmv <xsl:apply-templates select="tp" mode="details" /> 95*ee44dd6cSjmmv </body> 96*ee44dd6cSjmmv </html> 97*ee44dd6cSjmmv </xsl:template> 98*ee44dd6cSjmmv 99*ee44dd6cSjmmv <xsl:template name="info-top"> 100*ee44dd6cSjmmv <h2>Execution summary</h2> 101*ee44dd6cSjmmv 102*ee44dd6cSjmmv <table class="summary"> 103*ee44dd6cSjmmv <tr> 104*ee44dd6cSjmmv <th class="nobr"><p>Item</p></th> 105*ee44dd6cSjmmv <th class="nobr"><p>Value</p></th> 106*ee44dd6cSjmmv </tr> 107*ee44dd6cSjmmv 108*ee44dd6cSjmmv <tr class="group"> 109*ee44dd6cSjmmv <td colspan="2"><p>ATF</p></td> 110*ee44dd6cSjmmv </tr> 111*ee44dd6cSjmmv <tr class="entry"> 112*ee44dd6cSjmmv <td><p>Version</p></td> 113*ee44dd6cSjmmv <td><p><xsl:apply-templates 114*ee44dd6cSjmmv select="info[@class = 'atf.version']" /></p></td> 115*ee44dd6cSjmmv </tr> 116*ee44dd6cSjmmv 117*ee44dd6cSjmmv <tr class="group"> 118*ee44dd6cSjmmv <td colspan="2"><p>Timings</p></td> 119*ee44dd6cSjmmv </tr> 120*ee44dd6cSjmmv <tr class="entry"> 121*ee44dd6cSjmmv <td><p>Start time of tests</p></td> 122*ee44dd6cSjmmv <td><p><xsl:apply-templates 123*ee44dd6cSjmmv select="info[@class = 'time.start']" /></p></td> 124*ee44dd6cSjmmv </tr> 125*ee44dd6cSjmmv <tr class="entry"> 126*ee44dd6cSjmmv <td><p>End time of tests</p></td> 127*ee44dd6cSjmmv <td><p><xsl:apply-templates 128*ee44dd6cSjmmv select="info[@class = 'time.end']" /></p></td> 129*ee44dd6cSjmmv </tr> 130*ee44dd6cSjmmv 131*ee44dd6cSjmmv <tr class="group"> 132*ee44dd6cSjmmv <td colspan="2"><p>System information</p></td> 133*ee44dd6cSjmmv </tr> 134*ee44dd6cSjmmv <tr class="entry"> 135*ee44dd6cSjmmv <td><p>Host name</p></td> 136*ee44dd6cSjmmv <td><p><xsl:apply-templates 137*ee44dd6cSjmmv select="info[@class = 'uname.nodename']" /></p></td> 138*ee44dd6cSjmmv </tr> 139*ee44dd6cSjmmv <tr class="entry"> 140*ee44dd6cSjmmv <td><p>Operating system</p></td> 141*ee44dd6cSjmmv <td><p><xsl:apply-templates 142*ee44dd6cSjmmv select="info[@class = 'uname.sysname']" /></p></td> 143*ee44dd6cSjmmv </tr> 144*ee44dd6cSjmmv <tr class="entry"> 145*ee44dd6cSjmmv <td><p>Operating system release</p></td> 146*ee44dd6cSjmmv <td><p><xsl:apply-templates 147*ee44dd6cSjmmv select="info[@class = 'uname.release']" /></p></td> 148*ee44dd6cSjmmv </tr> 149*ee44dd6cSjmmv <tr class="entry"> 150*ee44dd6cSjmmv <td><p>Operating system version</p></td> 151*ee44dd6cSjmmv <td><p><xsl:apply-templates 152*ee44dd6cSjmmv select="info[@class = 'uname.version']" /></p></td> 153*ee44dd6cSjmmv </tr> 154*ee44dd6cSjmmv <tr class="entry"> 155*ee44dd6cSjmmv <td><p>Platform</p></td> 156*ee44dd6cSjmmv <td><p><xsl:apply-templates 157*ee44dd6cSjmmv select="info[@class = 'uname.machine']" /></p></td> 158*ee44dd6cSjmmv </tr> 159*ee44dd6cSjmmv 160*ee44dd6cSjmmv <tr class="group"> 161*ee44dd6cSjmmv <td colspan="2"><p>Tests results</p></td> 162*ee44dd6cSjmmv </tr> 163*ee44dd6cSjmmv <tr class="entry"> 164*ee44dd6cSjmmv <td><p>Root</p></td> 165*ee44dd6cSjmmv <td><p><xsl:value-of 166*ee44dd6cSjmmv select="info[@class = 'tests.root']" /></p></td> 167*ee44dd6cSjmmv </tr> 168*ee44dd6cSjmmv <tr class="entry"> 169*ee44dd6cSjmmv <td><p>Test programs</p></td> 170*ee44dd6cSjmmv <td class="numeric"><p><xsl:value-of select="$ntps" /></p></td> 171*ee44dd6cSjmmv </tr> 172*ee44dd6cSjmmv <tr class="entry"> 173*ee44dd6cSjmmv <xsl:choose> 174*ee44dd6cSjmmv <xsl:when test="$ntps-failed > 0"> 175*ee44dd6cSjmmv <td><p><a href="#failed-tps-summary">Bogus test 176*ee44dd6cSjmmv programs</a></p></td> 177*ee44dd6cSjmmv <td class="numeric-error"> 178*ee44dd6cSjmmv <p><xsl:value-of select="$ntps-failed" /></p> 179*ee44dd6cSjmmv </td> 180*ee44dd6cSjmmv </xsl:when> 181*ee44dd6cSjmmv <xsl:otherwise> 182*ee44dd6cSjmmv <td><p>Bogus test programs</p></td> 183*ee44dd6cSjmmv <td class="numeric"> 184*ee44dd6cSjmmv <p><xsl:value-of select="$ntps-failed" /></p> 185*ee44dd6cSjmmv </td> 186*ee44dd6cSjmmv </xsl:otherwise> 187*ee44dd6cSjmmv </xsl:choose> 188*ee44dd6cSjmmv </tr> 189*ee44dd6cSjmmv <tr class="entry"> 190*ee44dd6cSjmmv <td><p>Test cases</p></td> 191*ee44dd6cSjmmv <td class="numeric"><p><xsl:value-of select="$ntcs" /></p></td> 192*ee44dd6cSjmmv </tr> 193*ee44dd6cSjmmv <tr class="entry"> 194*ee44dd6cSjmmv <td><p>Passed test cases</p></td> 195*ee44dd6cSjmmv <td class="numeric"><p><xsl:value-of select="$ntcs-passed" /></p></td> 196*ee44dd6cSjmmv </tr> 197*ee44dd6cSjmmv <tr class="entry"> 198*ee44dd6cSjmmv <xsl:choose> 199*ee44dd6cSjmmv <xsl:when test="$ntcs-failed > 0"> 200*ee44dd6cSjmmv <td><p><a href="#failed-tcs-summary">Failed test 201*ee44dd6cSjmmv cases</a></p></td> 202*ee44dd6cSjmmv <td class="numeric-error"> 203*ee44dd6cSjmmv <p><xsl:value-of select="$ntcs-failed" /></p> 204*ee44dd6cSjmmv </td> 205*ee44dd6cSjmmv </xsl:when> 206*ee44dd6cSjmmv <xsl:otherwise> 207*ee44dd6cSjmmv <td><p>Failed test cases</p></td> 208*ee44dd6cSjmmv <td class="numeric"> 209*ee44dd6cSjmmv <p><xsl:value-of select="$ntcs-failed" /></p> 210*ee44dd6cSjmmv </td> 211*ee44dd6cSjmmv </xsl:otherwise> 212*ee44dd6cSjmmv </xsl:choose> 213*ee44dd6cSjmmv </tr> 214*ee44dd6cSjmmv <tr class="entry"> 215*ee44dd6cSjmmv <xsl:choose> 216*ee44dd6cSjmmv <xsl:when test="$ntcs-xfail > 0"> 217*ee44dd6cSjmmv <td><p><a href="#xfail-tcs-summary">Expected 218*ee44dd6cSjmmv failures</a></p></td> 219*ee44dd6cSjmmv <td class="numeric-warning"> 220*ee44dd6cSjmmv <p><xsl:value-of select="$ntcs-xfail" /></p> 221*ee44dd6cSjmmv </td> 222*ee44dd6cSjmmv </xsl:when> 223*ee44dd6cSjmmv <xsl:otherwise> 224*ee44dd6cSjmmv <td><p>Expected failures</p></td> 225*ee44dd6cSjmmv <td class="numeric"> 226*ee44dd6cSjmmv <p><xsl:value-of select="$ntcs-xfail" /></p> 227*ee44dd6cSjmmv </td> 228*ee44dd6cSjmmv </xsl:otherwise> 229*ee44dd6cSjmmv </xsl:choose> 230*ee44dd6cSjmmv </tr> 231*ee44dd6cSjmmv <tr class="entry"> 232*ee44dd6cSjmmv <xsl:choose> 233*ee44dd6cSjmmv <xsl:when test="$ntcs-skipped > 0"> 234*ee44dd6cSjmmv <td><p><a href="#skipped-tcs-summary">Skipped test 235*ee44dd6cSjmmv cases</a></p></td> 236*ee44dd6cSjmmv <td class="numeric-warning"> 237*ee44dd6cSjmmv <p><xsl:value-of select="$ntcs-skipped" /></p> 238*ee44dd6cSjmmv </td> 239*ee44dd6cSjmmv </xsl:when> 240*ee44dd6cSjmmv <xsl:otherwise> 241*ee44dd6cSjmmv <td><p>Skipped test cases</p></td> 242*ee44dd6cSjmmv <td class="numeric"> 243*ee44dd6cSjmmv <p><xsl:value-of select="$ntcs-skipped" /></p> 244*ee44dd6cSjmmv </td> 245*ee44dd6cSjmmv </xsl:otherwise> 246*ee44dd6cSjmmv </xsl:choose> 247*ee44dd6cSjmmv </tr> 248*ee44dd6cSjmmv 249*ee44dd6cSjmmv <tr class="group"> 250*ee44dd6cSjmmv <td colspan="2"><p><a href="#execution-details">See more execution 251*ee44dd6cSjmmv details</a></p></td> 252*ee44dd6cSjmmv </tr> 253*ee44dd6cSjmmv </table> 254*ee44dd6cSjmmv </xsl:template> 255*ee44dd6cSjmmv 256*ee44dd6cSjmmv <xsl:template name="info-bottom"> 257*ee44dd6cSjmmv <a name="execution-details" /> 258*ee44dd6cSjmmv <h2 id="execution-details">Execution details</h2> 259*ee44dd6cSjmmv 260*ee44dd6cSjmmv <h3>Environment variables</h3> 261*ee44dd6cSjmmv 262*ee44dd6cSjmmv <ul> 263*ee44dd6cSjmmv <xsl:apply-templates select="info[@class = 'env']"> 264*ee44dd6cSjmmv <xsl:sort /> 265*ee44dd6cSjmmv </xsl:apply-templates> 266*ee44dd6cSjmmv </ul> 267*ee44dd6cSjmmv </xsl:template> 268*ee44dd6cSjmmv 269*ee44dd6cSjmmv <xsl:template match="info[@class = 'env']"> 270*ee44dd6cSjmmv <li> 271*ee44dd6cSjmmv <p><xsl:apply-templates /></p> 272*ee44dd6cSjmmv </li> 273*ee44dd6cSjmmv </xsl:template> 274*ee44dd6cSjmmv 275*ee44dd6cSjmmv <xsl:template name="tcs-summary"> 276*ee44dd6cSjmmv <h2>Test cases summary</h2> 277*ee44dd6cSjmmv 278*ee44dd6cSjmmv <table class="tcs-summary"> 279*ee44dd6cSjmmv <tr> 280*ee44dd6cSjmmv <th class="nobr"><p>Test case</p></th> 281*ee44dd6cSjmmv <th class="nobr"><p>Result</p></th> 282*ee44dd6cSjmmv <th class="nobr"><p>Reason</p></th> 283*ee44dd6cSjmmv <th class="nobr"><p>Duration</p></th> 284*ee44dd6cSjmmv </tr> 285*ee44dd6cSjmmv <xsl:apply-templates select="tp" mode="summary"> 286*ee44dd6cSjmmv <xsl:with-param name="which">all</xsl:with-param> 287*ee44dd6cSjmmv </xsl:apply-templates> 288*ee44dd6cSjmmv </table> 289*ee44dd6cSjmmv </xsl:template> 290*ee44dd6cSjmmv 291*ee44dd6cSjmmv <xsl:template name="xfail-tcs-summary"> 292*ee44dd6cSjmmv <a name="xfail-tcs-summary" /> 293*ee44dd6cSjmmv <h2 id="xfail-tcs-summary">Expected failures summary</h2> 294*ee44dd6cSjmmv 295*ee44dd6cSjmmv <table class="tcs-summary"> 296*ee44dd6cSjmmv <tr> 297*ee44dd6cSjmmv <th class="nobr"><p>Test case</p></th> 298*ee44dd6cSjmmv <th class="nobr"><p>Result</p></th> 299*ee44dd6cSjmmv <th class="nobr"><p>Reason</p></th> 300*ee44dd6cSjmmv <th class="nobr"><p>Duration</p></th> 301*ee44dd6cSjmmv </tr> 302*ee44dd6cSjmmv <xsl:apply-templates select="tp" mode="summary"> 303*ee44dd6cSjmmv <xsl:with-param name="which">xfail</xsl:with-param> 304*ee44dd6cSjmmv </xsl:apply-templates> 305*ee44dd6cSjmmv </table> 306*ee44dd6cSjmmv </xsl:template> 307*ee44dd6cSjmmv 308*ee44dd6cSjmmv <xsl:template name="failed-tcs-summary"> 309*ee44dd6cSjmmv <a name="failed-tcs-summary" /> 310*ee44dd6cSjmmv <h2 id="failed-tcs-summary">Failed test cases summary</h2> 311*ee44dd6cSjmmv 312*ee44dd6cSjmmv <table class="tcs-summary"> 313*ee44dd6cSjmmv <tr> 314*ee44dd6cSjmmv <th class="nobr"><p>Test case</p></th> 315*ee44dd6cSjmmv <th class="nobr"><p>Result</p></th> 316*ee44dd6cSjmmv <th class="nobr"><p>Reason</p></th> 317*ee44dd6cSjmmv <th class="nobr"><p>Duration</p></th> 318*ee44dd6cSjmmv </tr> 319*ee44dd6cSjmmv <xsl:apply-templates select="tp" mode="summary"> 320*ee44dd6cSjmmv <xsl:with-param name="which">failed</xsl:with-param> 321*ee44dd6cSjmmv </xsl:apply-templates> 322*ee44dd6cSjmmv </table> 323*ee44dd6cSjmmv </xsl:template> 324*ee44dd6cSjmmv 325*ee44dd6cSjmmv <xsl:template name="failed-tps-summary"> 326*ee44dd6cSjmmv <a name="failed-tps-summary" /> 327*ee44dd6cSjmmv <h2 id="failed-tps-summary">Bogus test programs summary</h2> 328*ee44dd6cSjmmv 329*ee44dd6cSjmmv <table class="tcs-summary"> 330*ee44dd6cSjmmv <tr> 331*ee44dd6cSjmmv <th class="nobr">Test program</th> 332*ee44dd6cSjmmv </tr> 333*ee44dd6cSjmmv <xsl:apply-templates select="tp" mode="summary"> 334*ee44dd6cSjmmv <xsl:with-param name="which">bogus</xsl:with-param> 335*ee44dd6cSjmmv </xsl:apply-templates> 336*ee44dd6cSjmmv </table> 337*ee44dd6cSjmmv </xsl:template> 338*ee44dd6cSjmmv 339*ee44dd6cSjmmv <xsl:template name="skipped-tcs-summary"> 340*ee44dd6cSjmmv <a name="skipped-tcs-summary" /> 341*ee44dd6cSjmmv <h2 id="skipped-tcs-summary">Skipped test cases summary</h2> 342*ee44dd6cSjmmv 343*ee44dd6cSjmmv <table class="tcs-summary"> 344*ee44dd6cSjmmv <tr> 345*ee44dd6cSjmmv <th class="nobr"><p>Test case</p></th> 346*ee44dd6cSjmmv <th class="nobr"><p>Result</p></th> 347*ee44dd6cSjmmv <th class="nobr"><p>Reason</p></th> 348*ee44dd6cSjmmv <th class="nobr"><p>Duration</p></th> 349*ee44dd6cSjmmv </tr> 350*ee44dd6cSjmmv <xsl:apply-templates select="tp" mode="summary"> 351*ee44dd6cSjmmv <xsl:with-param name="which">skipped</xsl:with-param> 352*ee44dd6cSjmmv </xsl:apply-templates> 353*ee44dd6cSjmmv </table> 354*ee44dd6cSjmmv </xsl:template> 355*ee44dd6cSjmmv 356*ee44dd6cSjmmv <xsl:template match="tp" mode="summary"> 357*ee44dd6cSjmmv <xsl:param name="which" /> 358*ee44dd6cSjmmv 359*ee44dd6cSjmmv <xsl:variable name="chosen"> 360*ee44dd6cSjmmv <xsl:choose> 361*ee44dd6cSjmmv <xsl:when test="$which = 'bogus' and failed">yes</xsl:when> 362*ee44dd6cSjmmv <xsl:when test="$which = 'passed' and tc/passed">yes</xsl:when> 363*ee44dd6cSjmmv <xsl:when test="$which = 'failed' and tc/failed">yes</xsl:when> 364*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 365*ee44dd6cSjmmv tc/expected_death">yes</xsl:when> 366*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 367*ee44dd6cSjmmv tc/expected_exit">yes</xsl:when> 368*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 369*ee44dd6cSjmmv tc/expected_failure">yes</xsl:when> 370*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 371*ee44dd6cSjmmv tc/expected_signal">yes</xsl:when> 372*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 373*ee44dd6cSjmmv tc/expected_timeout">yes</xsl:when> 374*ee44dd6cSjmmv <xsl:when test="$which = 'skipped' and tc/skipped">yes</xsl:when> 375*ee44dd6cSjmmv <xsl:when test="$which = 'all'">yes</xsl:when> 376*ee44dd6cSjmmv <xsl:otherwise>no</xsl:otherwise> 377*ee44dd6cSjmmv </xsl:choose> 378*ee44dd6cSjmmv </xsl:variable> 379*ee44dd6cSjmmv 380*ee44dd6cSjmmv <xsl:if test="$chosen = 'yes'"> 381*ee44dd6cSjmmv <tr> 382*ee44dd6cSjmmv <td class="tp-id" colspan="3"> 383*ee44dd6cSjmmv <p><xsl:value-of select="@id" /></p> 384*ee44dd6cSjmmv </td> 385*ee44dd6cSjmmv <td class="tp-numeric"> 386*ee44dd6cSjmmv <p><xsl:value-of select="tp-time" />s</p> 387*ee44dd6cSjmmv </td> 388*ee44dd6cSjmmv </tr> 389*ee44dd6cSjmmv <xsl:if test="$which != 'bogus'"> 390*ee44dd6cSjmmv <xsl:apply-templates select="tc" mode="summary"> 391*ee44dd6cSjmmv <xsl:with-param name="which" select="$which" /> 392*ee44dd6cSjmmv </xsl:apply-templates> 393*ee44dd6cSjmmv </xsl:if> 394*ee44dd6cSjmmv </xsl:if> 395*ee44dd6cSjmmv </xsl:template> 396*ee44dd6cSjmmv 397*ee44dd6cSjmmv <xsl:template match="tc" mode="summary"> 398*ee44dd6cSjmmv <xsl:param name="which" /> 399*ee44dd6cSjmmv 400*ee44dd6cSjmmv <xsl:variable name="full-id" 401*ee44dd6cSjmmv select="concat(translate(../@id, '/', '_'), '_', @id)" /> 402*ee44dd6cSjmmv 403*ee44dd6cSjmmv <xsl:variable name="chosen"> 404*ee44dd6cSjmmv <xsl:choose> 405*ee44dd6cSjmmv <xsl:when test="$which = 'passed' and ./passed">yes</xsl:when> 406*ee44dd6cSjmmv <xsl:when test="$which = 'failed' and ./failed">yes</xsl:when> 407*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 408*ee44dd6cSjmmv ./expected_death">yes</xsl:when> 409*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 410*ee44dd6cSjmmv ./expected_exit">yes</xsl:when> 411*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 412*ee44dd6cSjmmv ./expected_failure">yes</xsl:when> 413*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 414*ee44dd6cSjmmv ./expected_signal">yes</xsl:when> 415*ee44dd6cSjmmv <xsl:when test="$which = 'xfail' and 416*ee44dd6cSjmmv ./expected_timeout">yes</xsl:when> 417*ee44dd6cSjmmv <xsl:when test="$which = 'skipped' and ./skipped">yes</xsl:when> 418*ee44dd6cSjmmv <xsl:when test="$which = 'all'">yes</xsl:when> 419*ee44dd6cSjmmv <xsl:otherwise>no</xsl:otherwise> 420*ee44dd6cSjmmv </xsl:choose> 421*ee44dd6cSjmmv </xsl:variable> 422*ee44dd6cSjmmv 423*ee44dd6cSjmmv <xsl:if test="$chosen = 'yes'"> 424*ee44dd6cSjmmv <tr> 425*ee44dd6cSjmmv <td class="tc-id"> 426*ee44dd6cSjmmv <xsl:choose> 427*ee44dd6cSjmmv <xsl:when test="expected_death|expected_exit|expected_failure| 428*ee44dd6cSjmmv expected_signal|expected_timeout|failed|skipped"> 429*ee44dd6cSjmmv <p><a href="#{$full-id}"><xsl:value-of select="@id" /></a></p> 430*ee44dd6cSjmmv </xsl:when> 431*ee44dd6cSjmmv <xsl:otherwise> 432*ee44dd6cSjmmv <p><xsl:value-of select="@id" /></p> 433*ee44dd6cSjmmv </xsl:otherwise> 434*ee44dd6cSjmmv </xsl:choose> 435*ee44dd6cSjmmv </td> 436*ee44dd6cSjmmv <xsl:apply-templates select="expected_death|expected_exit| 437*ee44dd6cSjmmv expected_failure|expected_timeout| 438*ee44dd6cSjmmv expected_signal|failed|passed| 439*ee44dd6cSjmmv skipped" mode="tc" /> 440*ee44dd6cSjmmv <td class="numeric"> 441*ee44dd6cSjmmv <p><xsl:value-of select="tc-time" />s</p> 442*ee44dd6cSjmmv </td> 443*ee44dd6cSjmmv </tr> 444*ee44dd6cSjmmv </xsl:if> 445*ee44dd6cSjmmv </xsl:template> 446*ee44dd6cSjmmv 447*ee44dd6cSjmmv <xsl:template match="passed" mode="tc"> 448*ee44dd6cSjmmv <td class="tcr-passed"><p class="nobr">Passed</p></td> 449*ee44dd6cSjmmv <td class="tcr-reason"><p>N/A</p></td> 450*ee44dd6cSjmmv </xsl:template> 451*ee44dd6cSjmmv 452*ee44dd6cSjmmv <xsl:template match="expected_death" mode="tc"> 453*ee44dd6cSjmmv <td class="tcr-xfail"><p class="nobr">Expected death</p></td> 454*ee44dd6cSjmmv <td class="tcr-reason"><p><xsl:apply-templates /></p></td> 455*ee44dd6cSjmmv </xsl:template> 456*ee44dd6cSjmmv 457*ee44dd6cSjmmv <xsl:template match="expected_exit" mode="tc"> 458*ee44dd6cSjmmv <td class="tcr-xfail"><p class="nobr">Expected exit</p></td> 459*ee44dd6cSjmmv <td class="tcr-reason"><p><xsl:apply-templates /></p></td> 460*ee44dd6cSjmmv </xsl:template> 461*ee44dd6cSjmmv 462*ee44dd6cSjmmv <xsl:template match="expected_failure" mode="tc"> 463*ee44dd6cSjmmv <td class="tcr-xfail"><p class="nobr">Expected failure</p></td> 464*ee44dd6cSjmmv <td class="tcr-reason"><p><xsl:apply-templates /></p></td> 465*ee44dd6cSjmmv </xsl:template> 466*ee44dd6cSjmmv 467*ee44dd6cSjmmv <xsl:template match="expected_timeout" mode="tc"> 468*ee44dd6cSjmmv <td class="tcr-xfail"><p class="nobr">Expected timeout</p></td> 469*ee44dd6cSjmmv <td class="tcr-reason"><p><xsl:apply-templates /></p></td> 470*ee44dd6cSjmmv </xsl:template> 471*ee44dd6cSjmmv 472*ee44dd6cSjmmv <xsl:template match="expected_signal" mode="tc"> 473*ee44dd6cSjmmv <td class="tcr-xfail"><p class="nobr">Expected signal</p></td> 474*ee44dd6cSjmmv <td class="tcr-reason"><p><xsl:apply-templates /></p></td> 475*ee44dd6cSjmmv </xsl:template> 476*ee44dd6cSjmmv 477*ee44dd6cSjmmv <xsl:template match="failed" mode="tc"> 478*ee44dd6cSjmmv <td class="tcr-failed"><p class="nobr">Failed</p></td> 479*ee44dd6cSjmmv <td class="tcr-reason"><p><xsl:apply-templates /></p></td> 480*ee44dd6cSjmmv </xsl:template> 481*ee44dd6cSjmmv 482*ee44dd6cSjmmv <xsl:template match="skipped" mode="tc"> 483*ee44dd6cSjmmv <td class="tcr-skipped"><p class="nobr">Skipped</p></td> 484*ee44dd6cSjmmv <td class="tcr-reason"><p><xsl:apply-templates /></p></td> 485*ee44dd6cSjmmv </xsl:template> 486*ee44dd6cSjmmv 487*ee44dd6cSjmmv <xsl:template match="tp" mode="details"> 488*ee44dd6cSjmmv <xsl:apply-templates select="tc[expected_death|expected_exit| 489*ee44dd6cSjmmv expected_failure|expected_signal| 490*ee44dd6cSjmmv expected_timeout|failed|skipped]" 491*ee44dd6cSjmmv mode="details" /> 492*ee44dd6cSjmmv </xsl:template> 493*ee44dd6cSjmmv 494*ee44dd6cSjmmv <xsl:template match="failed" mode="details"> 495*ee44dd6cSjmmv <p class="term"><strong>FAILED</strong>: <xsl:apply-templates /></p> 496*ee44dd6cSjmmv </xsl:template> 497*ee44dd6cSjmmv 498*ee44dd6cSjmmv <xsl:template match="expected_death|expected_exit|expected_failure| 499*ee44dd6cSjmmv expected_signal|expected_timeout" mode="details"> 500*ee44dd6cSjmmv <p class="term"><strong>XFAIL</strong>: <xsl:apply-templates /></p> 501*ee44dd6cSjmmv </xsl:template> 502*ee44dd6cSjmmv 503*ee44dd6cSjmmv <xsl:template match="skipped" mode="details"> 504*ee44dd6cSjmmv <p class="term"><strong>SKIPPED</strong>: <xsl:apply-templates /></p> 505*ee44dd6cSjmmv </xsl:template> 506*ee44dd6cSjmmv 507*ee44dd6cSjmmv <xsl:template match="tc" mode="details"> 508*ee44dd6cSjmmv <xsl:variable name="full-id" 509*ee44dd6cSjmmv select="concat(translate(../@id, '/', '_'), '_', @id)" /> 510*ee44dd6cSjmmv 511*ee44dd6cSjmmv <a name="{$full-id}" /> 512*ee44dd6cSjmmv <h2 id="{$full-id}">Test case: 513*ee44dd6cSjmmv <xsl:value-of select="../@id" /><xsl:text>/</xsl:text> 514*ee44dd6cSjmmv <xsl:value-of select="@id" /></h2> 515*ee44dd6cSjmmv 516*ee44dd6cSjmmv <xsl:if test="tc-time"> 517*ee44dd6cSjmmv <p class="details">Duration: 518*ee44dd6cSjmmv <xsl:apply-templates select="tc-time" mode="details" /></p> 519*ee44dd6cSjmmv </xsl:if> 520*ee44dd6cSjmmv 521*ee44dd6cSjmmv <h3>Termination reason</h3> 522*ee44dd6cSjmmv <xsl:apply-templates select="expected_death|expected_exit|expected_failure| 523*ee44dd6cSjmmv expected_signal|expected_timeout| 524*ee44dd6cSjmmv failed|skipped" 525*ee44dd6cSjmmv mode="details" /> 526*ee44dd6cSjmmv 527*ee44dd6cSjmmv <xsl:if test="so"> 528*ee44dd6cSjmmv <h3>Standard output stream</h3> 529*ee44dd6cSjmmv <pre class="so"><xsl:apply-templates select="so" mode="details" /></pre> 530*ee44dd6cSjmmv </xsl:if> 531*ee44dd6cSjmmv 532*ee44dd6cSjmmv <xsl:if test="se"> 533*ee44dd6cSjmmv <h3>Standard error stream</h3> 534*ee44dd6cSjmmv <pre class="se"><xsl:apply-templates select="se" mode="details" /></pre> 535*ee44dd6cSjmmv </xsl:if> 536*ee44dd6cSjmmv </xsl:template> 537*ee44dd6cSjmmv 538*ee44dd6cSjmmv <xsl:template match="tc-time" mode="details"> 539*ee44dd6cSjmmv <xsl:apply-templates /> seconds 540*ee44dd6cSjmmv </xsl:template> 541*ee44dd6cSjmmv 542*ee44dd6cSjmmv <xsl:template match="so" mode="details"> 543*ee44dd6cSjmmv <xsl:apply-templates /> 544*ee44dd6cSjmmv <xsl:if test="position() != last()"> 545*ee44dd6cSjmmv <xsl:text> 546*ee44dd6cSjmmv</xsl:text> 547*ee44dd6cSjmmv </xsl:if> 548*ee44dd6cSjmmv </xsl:template> 549*ee44dd6cSjmmv 550*ee44dd6cSjmmv <xsl:template match="se" mode="details"> 551*ee44dd6cSjmmv <xsl:apply-templates /> 552*ee44dd6cSjmmv <xsl:if test="position() != last()"> 553*ee44dd6cSjmmv <xsl:text> 554*ee44dd6cSjmmv</xsl:text> 555*ee44dd6cSjmmv </xsl:if> 556*ee44dd6cSjmmv </xsl:template> 557*ee44dd6cSjmmv 558*ee44dd6cSjmmv <xsl:template match="@*|node()" priority="-1"> 559*ee44dd6cSjmmv <xsl:copy> 560*ee44dd6cSjmmv <xsl:apply-templates select="@*|node()" /> 561*ee44dd6cSjmmv </xsl:copy> 562*ee44dd6cSjmmv </xsl:template> 563*ee44dd6cSjmmv 564*ee44dd6cSjmmv</xsl:stylesheet> 565