You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by cu...@apache.org on 2001/01/26 20:43:35 UTC
cvs commit: xml-xalan/test viewHarnessResults.xsl viewResults.xsl
curcuru 01/01/26 11:43:34
Modified: test viewHarnessResults.xsl viewResults.xsl
Log:
Update to use redirect extension to output a mini-summary
of your test (or all harness tests') results - comments on
new functionality appreciated.
Revision Changes Path
1.3 +31 -4 xml-xalan/test/viewHarnessResults.xsl
Index: viewHarnessResults.xsl
===================================================================
RCS file: /home/cvs/xml-xalan/test/viewHarnessResults.xsl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- viewHarnessResults.xsl 2000/12/15 21:27:57 1.2
+++ viewHarnessResults.xsl 2001/01/26 19:43:29 1.3
@@ -1,14 +1,26 @@
<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+ xmlns:lxslt="http://xml.apache.org/xslt"
+ xmlns:redirect="org.apache.xalan.lib.Redirect"
+ extension-element-prefixes="redirect">
<xsl:output method="html"/>
<!-- FileName: viewHarnessResults.xsl -->
<!-- Author: shane_curcuru@lotus.com -->
<!-- Purpose: Viewer for multiple XSLTestHarness results put into simple HTML pages -->
<!-- Usage: ...Process -in HarnessResults.xml -xsl MultiViewResults.xsl ... -->
-<!-- Where: you've run XSLTestHarness over a number of files
--->
+<!-- Where: you've run XSLTestHarness over a number of files -->
+<!-- Explicitly declare the redirect extension -->
+<lxslt:component prefix="redirect" elements="write open close" functions="">
+ <lxslt:script lang="javaclass" src="org.apache.xalan.lib.Redirect"/>
+</lxslt:component>
+
+<!-- ======================================================= -->
+<!-- Output mini-summary filename, used in redirect calls in viewResults -->
+<xsl:param name="summaryfile">HarnessSummary.xml</xsl:param>
+
<!-- ======================================================= -->
<!-- Include the main results viewer for individual result files -->
<!-- Note: depends on being in the same directory -->
@@ -53,7 +65,22 @@
<a name="harness-properties"><xsl:text>Harness-level System Properties:</xsl:text></a>
<xsl:apply-templates select="hashtable"></xsl:apply-templates>
<H3><xsl:text>Individual resultfile(s) follow:</xsl:text></H3>
- <xsl:apply-templates select="testcase/resultsfile/@fileRef"></xsl:apply-templates>
+ <!-- Before processing any files, open up a summary file to
+ output a mini-summary of results to. -->
+ <redirect:open select="$summaryfile" file="viewResults-redirected-output.xml"/>
+ <redirect:write select="$summaryfile" file="viewResults-redirected-output.xml">
+ <xsl:text disable-output-escaping="yes"><?xml version="1.0"?> </xsl:text>
+ <xsl:text disable-output-escaping="yes"><resultsfile logfile="</xsl:text>
+ <xsl:value-of select="$summaryfile"/>
+ <xsl:text disable-output-escaping="yes">"> </xsl:text>
+ </redirect:write>
+
+ <xsl:apply-templates select="testcase/resultsfile/@fileRef"></xsl:apply-templates>
+
+ <redirect:write select="$summaryfile" file="viewResults-redirected-output.xml">
+ <xsl:text disable-output-escaping="yes"> </resultsfile></xsl:text>
+ </redirect:write>
+ <redirect:close select="$summaryfile" file="viewResults-redirected-output.xml"/>
</BODY>
</HTML>
1.6 +48 -9 xml-xalan/test/viewResults.xsl
Index: viewResults.xsl
===================================================================
RCS file: /home/cvs/xml-xalan/test/viewResults.xsl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- viewResults.xsl 2000/12/15 15:51:10 1.5
+++ viewResults.xsl 2001/01/26 19:43:30 1.6
@@ -1,5 +1,9 @@
<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0"
+ xmlns:lxslt="http://xml.apache.org/xslt"
+ xmlns:redirect="org.apache.xalan.lib.Redirect"
+ extension-element-prefixes="redirect">
<xsl:output method="html"/>
<!-- FileName: viewResults.xsl -->
@@ -11,6 +15,12 @@
attributes, and values, copied from relevant Java code -->
<xsl:include href="resultsConstants.xsl"/>
+<!-- Explicitly declare the redirect extension -->
+<lxslt:component prefix="redirect" elements="write open close" functions="">
+ <lxslt:script lang="javaclass" src="org.apache.xalan.lib.Redirect"/>
+</lxslt:component>
+
+
<!-- ======================================================= -->
<!-- INPUT PARAMETERS can be set from external command lines -->
<!-- When set to true, skips (does not) output any checkresult[@result='PASS'] -->
@@ -31,6 +41,9 @@
<xsl:param name="errfailcolor">red</xsl:param>
<xsl:param name="knownfailcolor">pink</xsl:param>
+<!-- File to redirect mini-summary to -->
+<xsl:param name="summaryfile">summary_.xml</xsl:param>
+
<!-- ================================== -->
<!-- Main template-standalone: output an HTML page -->
<!-- The resultfile element must be present. It should include one or more
@@ -319,6 +332,14 @@
<xsl:template name="restable">
<xsl:param name="linkname" select="none"/>
+ <!-- Note this is horribly inefficent, but it gets the job done.
+ I'd welcome any optimizations for this stylesheet!
+ -->
+ <xsl:variable name="passcount" select="count(//checkresult[@result=$PASS])"/>
+ <xsl:variable name="failcount" select="count(//checkresult[@result=$FAIL])"/>
+ <xsl:variable name="errrcount" select="count(//checkresult[@result=$ERRR])"/>
+ <xsl:variable name="ambgcount" select="count(//checkresult[@result=$AMBG])"/>
+ <xsl:variable name="incpcount" select="count(//checkresult[@result=$INCP])"/>
<TABLE FRAME="box" BORDER="1" CELLPADDING="2" WIDTH="80%">
<TR>
<TD>
@@ -343,36 +364,54 @@
<TD><xsl:text>Pass</xsl:text></TD>
<TD><xsl:value-of select="./statistic[@desc='passCount[CASES]']/longval"/></TD>
<TD><xsl:value-of select="statistic[@desc='passCount[CHECKS]']/longval"/></TD>
- <!-- Note this is horribly inefficent, but it gets the job done.
- I'd welcome any optimizations for this stylesheet!
- -->
- <TD><xsl:value-of select="count(//checkresult[@result=$PASS])"/></TD>
+ <TD><xsl:value-of select="$passcount"/></TD>
</TR>
<TR>
<TD><B><xsl:text>Fail</xsl:text></B></TD>
<TD><xsl:value-of select="./statistic[@desc='failCount[CASES]']/longval"/></TD>
<TD><xsl:value-of select="statistic[@desc='failCount[CHECKS]']/longval"/></TD>
- <TD><xsl:value-of select="count(//checkresult[@result=$FAIL])"/></TD>
+ <TD><xsl:value-of select="$failcount"/></TD>
</TR>
<TR>
<TD><I><xsl:text>Error</xsl:text></I></TD>
<TD><xsl:value-of select="./statistic[@desc='errrCount[CASES]']/longval"/></TD>
<TD><xsl:value-of select="statistic[@desc='errrCount[CHECKS]']/longval"/></TD>
- <TD><xsl:value-of select="count(//checkresult[@result=$ERRR])"/></TD>
+ <TD><xsl:value-of select="$errrcount"/></TD>
</TR>
<TR>
<TD><I><xsl:text>Ambiguous</xsl:text></I></TD>
<TD><xsl:value-of select="./statistic[@desc='ambgCount[CASES]']/longval"/></TD>
<TD><xsl:value-of select="statistic[@desc='ambgCount[CHECKS]']/longval"/></TD>
- <TD><xsl:value-of select="count(//checkresult[@result=$AMBG])"/></TD>
+ <TD><xsl:value-of select="$ambgcount"/></TD>
</TR>
<TR>
<TD><I><xsl:text>Incomplete</xsl:text></I></TD>
<TD><xsl:value-of select="./statistic[@desc='incpCount[CASES]']/longval"/></TD>
<TD><xsl:value-of select="statistic[@desc='incpCount[CHECKS]']/longval"/></TD>
- <TD><xsl:value-of select="count(//checkresult[@result=$INCP])"/></TD>
+ <TD><xsl:value-of select="$incpcount"/></TD>
</TR>
</TABLE><BR/>
+ <redirect:write select="$summaryfile" file="viewResults-redirected-output.xml">
+ <xsl:element name="summary">
+ <xsl:attribute name="filename"><xsl:value-of select="$linkname"/></xsl:attribute>
+ <xsl:if test="$passcount">
+ <xsl:text>P:</xsl:text><xsl:value-of select="$passcount"/>
+ </xsl:if>
+ <xsl:if test="$failcount">
+ <xsl:text>, F:</xsl:text><xsl:value-of select="$failcount"/>
+ </xsl:if>
+ <xsl:if test="$errrcount">
+ <xsl:text>, E:</xsl:text><xsl:value-of select="$errrcount"/>
+ </xsl:if>
+ <xsl:if test="$ambgcount">
+ <xsl:text>, A:</xsl:text><xsl:value-of select="$ambgcount"/>
+ </xsl:if>
+ <xsl:if test="$incpcount">
+ <xsl:text>, I:</xsl:text><xsl:value-of select="$incpcount"/>
+ </xsl:if>
+ </xsl:element>
+ </redirect:write>
+
</xsl:template>
<!-- Override default text node processing, so statistics, arbitrary messages, and other stuff is skipped -->