blob: a58528ce6428724c1f6aea1de1e6606ae598bbc5 [file] [log] [blame]
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:lxslt="http://xml.apache.org/xslt"
xmlns:redirect="org.apache.xalan.lib.Redirect"
extension-element-prefixes="redirect"
version="1.0">
<!-- FileName: FailScanner.xsl -->
<!-- Author: shane_curcuru@us.ibm.com -->
<!-- Purpose: Stylesheet for org.apache.qetest.XMLFileLogger
logFiles that only prints out failing (and error) results.
-->
<!-- Import the BaseScanner for most duties; note this must be first in file -->
<xsl:import href="BaseScanner.xsl"/>
<xsl:output method="html"
doctype-public="-//W3C//DTD HTML 4.0 Transitional"/>
<lxslt:component prefix="redirect" elements="write open close" functions="">
<lxslt:script lang="javaclass" src="org.apache.xalan.lib.Redirect"/>
</lxslt:component>
<!-- Name of file for mini-fails redirected output -->
<xsl:param name="redirectFilename">FailScannerMini.html</xsl:param>
<xsl:template name="printScannerName">
<xsl:element name="a">
<xsl:attribute name="href"><xsl:text>FailScanner.xsl</xsl:text></xsl:attribute>
<xsl:text>FailScanner</xsl:text>
</xsl:element>
</xsl:template>
<!-- ================================== -->
<!-- Element templates: output basic data for each of the common
test elements, like messages, checks, etc.
-->
<!-- All non-fail testcases just get a status line, nothing else -->
<xsl:template match="testcase[caseresult/@result = $PASS] | testcase[caseresult/@result = $INCP]">
<h3>
<xsl:value-of select="caseresult/@result"/>
<xsl:text> Testcase: # </xsl:text>
<!-- This creates the anchor as well as printing the @desc -->
<xsl:call-template name="create-testcase-anchor">
<xsl:with-param name="testcase" select="."/>
</xsl:call-template>
<br/>
</h3>
</xsl:template>
<!-- Process all remaining testcases with special fails mode -->
<xsl:template match="testcase">
<table frame="box" border="1" rules="groups"
cellspacing="2" cellpadding="2"
bgcolor="#FFFFEE">
<caption>
<b><xsl:text>Testcase # </xsl:text></b>
<!-- This creates the anchor as well as printing the @desc -->
<xsl:call-template name="create-testcase-anchor">
<xsl:with-param name="testcase" select="."/>
</xsl:call-template>
</caption>
<!-- establish row widths here -->
<tr>
<td width="20"></td>
<td></td>
</tr>
<!-- Only select results; the checkresult templates have special
processing to output additional messages when needed.
-->
<xsl:apply-templates select="checkresult" />
<tr>
<td><br/><hr/></td>
<td><xsl:value-of select="caseresult/@result"/>:<xsl:text>Testcase #</xsl:text><xsl:value-of select="@desc"/></td>
</tr>
</table>
</xsl:template>
<!-- Results that are clearly fails have preceding messages printed out;
since those help in debugging and may indicate cause of failure.
-->
<xsl:template match="checkresult[@result=$FAIL] | checkresult[@result=$ERRR]">
<xsl:apply-templates select="preceding-sibling::*[2]" mode="table"/>
<xsl:apply-templates select="preceding-sibling::*[1]" mode="table"/>
<!-- Then print out this result itself -->
<tr>
<td bgcolor="#FF8080">
<xsl:call-template name="create-checkresult-anchor">
<xsl:with-param name="checkresult" select="."/>
</xsl:call-template>
</td>
<td>
<xsl:if test="@id">
<xsl:text>[</xsl:text><xsl:value-of select="@id"/><xsl:text>] </xsl:text>
</xsl:if>
<xsl:value-of select="@desc"/>
</td>
</tr>
<!-- Then print out blank row to separate results -->
<tr><td colspan="2" bgcolor="silver"><xsl:text> </xsl:text></td></tr>
<redirect:write select="$redirectFilename" append="true">
<b><xsl:value-of select="@result"/><xsl:text> </xsl:text></b>
<xsl:if test="@id">
<xsl:text>[</xsl:text><xsl:value-of select="@id"/><xsl:text>] </xsl:text>
</xsl:if>
<xsl:value-of select="@desc"/><br/>
</redirect:write>
</xsl:template>
<!-- Other Results that are not passes just get printed out as-is -->
<xsl:template match="checkresult[@result=$AMBG] | checkresult[@result=$INCP]">
<xsl:apply-templates select="preceding-sibling::fileCheck[1]" mode="table"/>
<tr>
<td bgcolor="#FFFF00">
<i>
<xsl:call-template name="create-checkresult-anchor">
<xsl:with-param name="checkresult" select="."/>
</xsl:call-template>
</i>
</td>
<td>
<xsl:if test="@id">
<xsl:text>[</xsl:text><xsl:value-of select="@id"/><xsl:text>] </xsl:text>
</xsl:if>
<xsl:value-of select="@desc"/>
</td>
</tr>
<!-- Then print out blank row to separate results -->
<tr><td colspan="2" bgcolor="silver"><xsl:text> </xsl:text></td></tr>
</xsl:template>
<!-- Override BaseScanner handling of non-fail checkresults as no-op -->
<xsl:template match="checkresult" />
<!-- Override most messages when not in a testcase -->
<xsl:template match="message[@level > $WARNINGMSG]" />
</xsl:stylesheet>