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">&lt;?xml version="1.0"?>&#10;</xsl:text>
  +        <xsl:text disable-output-escaping="yes">&lt;resultsfile logfile="</xsl:text>
  +        <xsl:value-of select="$summaryfile"/>
  +        <xsl:text disable-output-escaping="yes">">&#10;</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">&#10;&lt;/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 -->