blob: 2b6e0a3f92c5f5a8129edab5be85873c4463ef05 [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Running Tests</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG alt="logo" border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG alt="line" border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG alt="right" border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/run-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG alt="bottom" border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG alt="join" border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
<A href="overview.html" onMouseOut="rolloverOff('side-overview');" onMouseOver="rolloverOn('side-overview');"><IMG alt="Overview" border="0" height="12" hspace="0" name="side-overview" onLoad="rolloverLoad('side-overview','graphics/overview-label-2.jpg','graphics/overview-label-3.jpg');" src="graphics/overview-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="getstarted.html" onMouseOut="rolloverOff('side-getstarted');" onMouseOver="rolloverOn('side-getstarted');"><IMG alt="Getting Started" border="0" height="12" hspace="0" name="side-getstarted" onLoad="rolloverLoad('side-getstarted','graphics/getstarted-label-2.jpg','graphics/getstarted-label-3.jpg');" src="graphics/getstarted-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="separator" border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
<A href="apidocs/index.html" onMouseOut="rolloverOff('side-ext-10');" onMouseOver="rolloverOn('side-ext-10');"><IMG alt="Java API" border="0" height="12" hspace="0" name="side-ext-10" onLoad="rolloverLoad('side-ext-10','graphics/ext-10-label-2.jpg','graphics/ext-10-label-3.jpg');" src="graphics/ext-10-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="separator" border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
<A href="faq.html" onMouseOut="rolloverOff('side-faq');" onMouseOver="rolloverOn('side-faq');"><IMG alt="FAQ" border="0" height="12" hspace="0" name="side-faq" onLoad="rolloverLoad('side-faq','graphics/faq-label-2.jpg','graphics/faq-label-3.jpg');" src="graphics/faq-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="Running Tests" border="0" height="12" hspace="0" src="graphics/run-label-1.jpg" vspace="0" width="120"><BR>
<A href="submit.html" onMouseOut="rolloverOff('side-submit');" onMouseOver="rolloverOn('side-submit');"><IMG alt="Writing New Tests" border="0" height="12" hspace="0" name="side-submit" onLoad="rolloverLoad('side-submit','graphics/submit-label-2.jpg','graphics/submit-label-3.jpg');" src="graphics/submit-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="design.html" onMouseOut="rolloverOff('side-design');" onMouseOver="rolloverOn('side-design');"><IMG alt="Test Standards" border="0" height="12" hspace="0" name="side-design" onLoad="rolloverLoad('side-design','graphics/design-label-2.jpg','graphics/design-label-3.jpg');" src="graphics/design-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="xalanc.html" onMouseOut="rolloverOff('side-xalanc');" onMouseOver="rolloverOn('side-xalanc');"><IMG alt="Xalan-C Tests" border="0" height="12" hspace="0" name="side-xalanc" onLoad="rolloverLoad('side-xalanc','graphics/xalanc-label-2.jpg','graphics/xalanc-label-3.jpg');" src="graphics/xalanc-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="separator" border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
<A href="http://xml.apache.org/xalan-j" onMouseOut="rolloverOff('side-ext-28');" onMouseOver="rolloverOn('side-ext-28');"><IMG alt="Xalan-J 2.x" border="0" height="12" hspace="0" name="side-ext-28" onLoad="rolloverLoad('side-ext-28','graphics/ext-28-label-2.jpg','graphics/ext-28-label-3.jpg');" src="graphics/ext-28-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xml.apache.org/xalan" onMouseOut="rolloverOff('side-ext-30');" onMouseOver="rolloverOn('side-ext-30');"><IMG alt="Xalan-J 1.x" border="0" height="12" hspace="0" name="side-ext-30" onLoad="rolloverLoad('side-ext-30','graphics/ext-30-label-2.jpg','graphics/ext-30-label-3.jpg');" src="graphics/ext-30-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xml.apache.org/xalan-c" onMouseOut="rolloverOff('side-ext-32');" onMouseOver="rolloverOn('side-ext-32');"><IMG alt="Xalan-C 1.x" border="0" height="12" hspace="0" name="side-ext-32" onLoad="rolloverLoad('side-ext-32','graphics/ext-32-label-2.jpg','graphics/ext-32-label-3.jpg');" src="graphics/ext-32-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG alt="close" border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
<UL>
<LI><A href="#how-to-run">How-to: Run Xalan-J tests</A></LI>
<LI><A href="#how-to-view-results">How-to: View Test Results</A></LI>
<LI><A href="#test-options">Common Test Options</A></LI>
<LI><A href="#how-to-run-c">How-to: Run Xalan-C tests</A></LI>
</UL>
<A name="how-to-run"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG alt="" border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How-to: Run tests</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Nearly all tests for Xalan are independent Java classes built
into testxsl.jar that
can be run either individually on the command line, programmatically
from your application or our handy Ant build.xml file, or in batches from
<A href="apidocs/org/apache/qetest/xsl/XSLTestHarness.html">XSLTestHarness</A>.
There really isn't any magic to them: you can just set your classpath and
execute java.exe to run them; some Tests and Testlets currently provide defaults
for their inputs, so you can run them without any setup at all.
However we have provided a couple of more
convenient ways to run the most common tests:</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you need to debug into the tests themselves,
you may want to use the <A href="faq.html#debug">debug*.bat files</A></I></FONT></TD></TR></TABLE>
<P>Of course, first <A href="getstarted.html#how-to-build">Build a fresh copy of testxsl.jar.</A>
</P>
<P>cd xml-xalan\test<BR></P>
<P>You can either: use the Ant build.xml script; run a convenience batch file; or execute java.exe yourself.</P>
<P>
<CODE><FONT face="courier, monospaced">build conf [<A href="#test-options">Ant-prefixed options</A>]</FONT></CODE>
<BR>(runs StylesheetTestletDriver over tests\conf test tree using the default StylesheetTestlet)<BR><BR>
<CODE><FONT face="courier, monospaced">build perf [<A href="#test-options">Ant-prefixed options</A>]</FONT></CODE>
<BR>(runs StylesheetTestletDriver over tests\perf test tree using the default PerformanceTestlet)<BR><BR>
<CODE><FONT face="courier, monospaced">build api -DtestClass=TRAXAPITestClassName [<A href="#test-options">Ant-prefixed options</A>]</FONT></CODE>
<BR>(runs TRAX interface tests with Xalan-J 2.x<BR>
</P>
<P>Alternately: some convenience batch files are provided for the most common
tests - these simply turn around and call build.bat/.sh for you.<BR>
(Namely conf.bat, perf.bat, and the like)</P>
<P>Alternately: Run java.exe and the desired test class yourself:<BR></P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Running tests with alternate JAXP parsers: all org.apache.qetest.trax.*
tests can be run with Xalan-J 2.x and any JAXP 1.1 compatible parser, like
crimson.jar. Be sure to manually set the appropriate system properties to use
your parser instead of xerces.jar, which is the default for Xalan-J. Tests will
also run on any JAXP 1.1 compatible xslt processor, namely either our default
xalan one or our new xsltc one.</I></FONT></TD></TR></TABLE>
</FONT></TD></TR></TABLE><BR>
<A name="how-to-view-results"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG alt="" border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How-to: View Test Results</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>Most tests both send basic results to System.out, as well as
writing a full set of output results to their <CODE><FONT face="courier, monospaced"><A href="#test-options-logfile">logFile</A></FONT></CODE>, as
set from a .properties file or the command line. Generally the
output results file is easier to deal with. The basic format is
fairly simple and you can certainly read it as-is. Also, many tests
send only summary results to the console, but full output to the results file.</P>
<P>To 'pretty-print' results or produce reports, please use the
viewResults.xsl stylesheet and associated batch/shell files, like so:<BR>
<CODE><FONT face="courier, monospaced">cd \xml-xalan\test</FONT></CODE><BR><BR>
<CODE><FONT face="courier, monospaced">build conf -DoptionName=optionValue <A href="#test-options-logfile">-Dqetest.logFile results/MyResults.xml</A></FONT></CODE><BR><BR>
<CODE><FONT face="courier, monospaced">viewResults.bat results/MyResults.xml results/MyPrettyResults.html [options]</FONT></CODE><BR><BR>
These options are passed to Xalan's command line to transform the
xml formatted output results into a nicer-looking html file. The most
common option would be <CODE><FONT face="courier, monospaced">-param loggingLevel 99</FONT></CODE> to get
more output shown in the results (higher numbers up to 99 show more details,
lower numbers, down to 0, show fewer details).
</P>
<P>Alternatively, the tableResults.xsl stylesheet can be used to pretty-print
results from the conformance test for multiple TRAX flavours:<BR><BR>
<CODE><FONT face="courier, monospaced">cd \xml-xalan\test</FONT></CODE><BR><BR>
<CODE><FONT face="courier, monospaced">build alltest.conf</FONT></CODE><BR><BR>
<CODE><FONT face="courier, monospaced">set RESULTSCANNER=tableResults.xsl</FONT></CODE><BR><BR>
<CODE><FONT face="courier, monospaced">viewResults.bat results-alltest/conf/sax/results.xml results.html [options]</FONT></CODE><BR><BR>
This will generate a pretty-printed HTML table in results.html, listing all
flavours as well as the results of individual test cases for each category.
The options can be passed to tableResults.xsl to generate conformance reports
on previously run tests, or to compare two runs of the conformance test suite.
</P>
<P>Possible options that can be passed to tableResults.xsl:
<UL>
<LI>
<CODE><FONT face="courier, monospaced">-param resultsDir /path/to/result/results-alltest/conf</FONT></CODE><BR><BR>
Passing the path to the <CODE><FONT face="courier, monospaced">results-alltest/conf</FONT></CODE> directory generates
a report based on the results in that directory. Defaults to <CODE><FONT face="courier, monospaced">./results-alltest/conf</FONT></CODE><BR><BR>
</LI>
<LI>
<CODE><FONT face="courier, monospaced">-param compareAgainst /path/to/other/results-alltest/conf</FONT></CODE><BR><BR>
Passing the path to anothe <CODE><FONT face="courier, monospaced">results-alltest/conf</FONT></CODE> directory compares
that result against the result pointed to by resultsDir.<BR><BR>
</LI>
<LI>
<CODE><FONT face="courier, monospaced">-param resultsDir results-alltest.xsltc/conf</FONT></CODE><BR><BR>
Generates a report on the results of an xsltc test (with the <CODE><FONT face="courier, monospaced">alltest.conf.xsltc</FONT></CODE>) target.
</LI>
</UL>
</P>
<P>Future work includes greatly updated results analysis stylesheets.
See FailScanner.xsl and PerfScanner.xsl for ideas. An important design
principle in the tests is that at runtime the tests merely output
whatever data they can as results are generated; afterwards, we then
post-process the results into whatever presentation format is needed,
including perhaps re-calculating overall results (example: if we have
a list of known fails correlated to JIRA numbers, then a stylesheet
could filter out these fails and report them as known bugs instead.
</P>
</FONT></TD></TR></TABLE><BR>
<A name="test-options"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG alt="" border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Common Test Options</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Section needs updating to reflect the fact that while the options the
tests see remain as below, the user must now prefix all optionNames with
'qetest.' or 'conf.', etc. when passing the options on the command line or
via my.test.properties or test.properties -sc</I></FONT></TD></TR></TABLE>
<P>Most tests can either accept options from a properties file, via:<BR>
<CODE><FONT face="courier, monospaced">&nbsp;&nbsp;TestName -load file.properties</FONT></CODE><BR><BR>
or simply from the command line (which overrides the properties file) like:<BR>
<CODE><FONT face="courier, monospaced">&nbsp;&nbsp;TestName -arg1 value1 -arg2 -arg3 value3</FONT></CODE><BR><BR></P>
<P>To see all options, call a test with an illegal argument to force it
to print out it's .usage(). You may mix setting options from a properties
file and from the command line; command line options will take precedence.</P>
<P>For another description of options, see <BR><CODE><FONT face="courier, monospaced">xml-xalan\test\test.properties</FONT></CODE>,<BR>
which describes most of them with comments. Remember that the prefixes
'qetest.', 'conf.' etc. are used by the Ant build.xml file to manage which
properties are used for different kinds of tests, and are ripped off before
being passed to the Java test script itself. Thus qetest.loggingLevel=99 in
the test.properties file becomes just loggingLevel of 99 when passed to the test.</P>
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Path-like options set in a properties file generally should use
forward slashes (legal in URL's), even on Windows platforms.</I></FONT></TD></TR></TABLE>
<P>Quick list of options</P>
<A name="test-options-logfile"><!--anchor--></A>
<DL>
<DT>-logFile <I>resultsFileName.xml</I></DT>
<DD>sends test results to an XML-based results file</DD>
<DT>-loggingLevel <I>nn</I></DT>
<DD>determines how much information is sent to your logFile, 0=very little, 99=lots</DD>
<DT>-ConsoleLogger.loggingLevel <I>nn</I></DT>
<DD>determines how much information is sent just to the default ConsoleLogger:
since often you won't be watching the console as the test is running, you can set this
lower than your loggingLevel to speed the tests up a little</DD>
<DT>-inputDir <I>path/to/tests</I></DT>
<DD>path to a directory tree of input *.xml/*.xsl files, using your system's separator</DD>
<DT>-outputDir <I>path/to/output/area</I></DT>
<DD>where all output is sent</DD>
<DT>-goldDir <I>path/to/gold</I></DT>
<DD>path to a directory tree of reference output - this tree should be
a parallel structure to the inputDir tree</DD>
<DT>-category <I>dirName</I></DT>
<DD>only run this single named subdir within inputDir</DD>
<DT>-excludes <I>'test1.xsl;test2.xsl'</I></DT>
<DD>will skip running any specifically named tests; do not use any path elements here</DD>
<DT>-flavor <I>xalan|trax|trax.d2d</I></DT>
<DD>which kind/flavor of Processor to test; see
<A href="apidocs/org/apache/qetest/xslwrapper/ProcessorWrapper.html">ProcessorWrapper.java</A> </DD>
<DT>-testlet <I>TestletClassname</I></DT>
<DD>For StylesheetTestletDriver, use a different class for the testing algorithim</DD>
<DT>-load <I>file.properties</I></DT>
<DD>(read in a .properties file, that can set any/all of the other opts)
This option is automatically used by the Ant build.xml file, so you normally
would not specify it yourself.</DD>
</DL>
<P>Note that most options work equivalently with either Xalan-J or Xalan-C tests.</P>
<P>When running tests using Ant, the &lt;xalantest&gt; task actually
marshalls various Ant variables and uses the precompiled org.apache.qetest.xsl.XSLTestAntTask
to actually execute the test (either in the same JVM or forked depending on
${fork-tests}. It simply strips the appropriate set of prefixes
off of required Ant variables and dumps them into an XSLTestAntTask.properties
file on disk, which it tells the test executing to -load.</P>
</FONT></TD></TR></TABLE><BR>
<A name="how-to-run-c"><!--anchor--></A>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="666699" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG alt="" border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>How-to: Run Xalan-C tests</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG alt="" border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>In progress. A few C++ API tests are checked into the <CODE><FONT face="courier, monospaced">xml-xalan/c/Tests</FONT></CODE>
repository area already. To execute any set of 'conformance' tests with the
Xalan-C processor, we currently use the
org.apache.qetest.xsl.<A href="apidocs/org/apache/qetest/xsl/XalanCTestlet.html">XalanCTestlet</A>
driver. This is written in Java to take advantage of the framework and
results reporting, but basically constructs a command line for each test
and then shells out to <CODE><FONT face="courier, monospaced">TestXSLT.exe -in file.xsl...</FONT></CODE> to run the test;
it then uses the same validation routines as the Java ConformanceTest.</P>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG alt="dot" height="1" src="resources/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright &copy; 2000 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>