| <HTML><HEAD><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Overview</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/overview-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> |
| |
| |
| |
| <IMG alt="Overview" border="0" height="12" hspace="0" src="graphics/overview-label-1.jpg" vspace="0" width="120"><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> |
| |
| <A href="run.html" onMouseOut="rolloverOff('side-run');" onMouseOver="rolloverOn('side-run');"><IMG alt="Running Tests" border="0" height="12" hspace="0" name="side-run" onLoad="rolloverLoad('side-run','graphics/run-label-2.jpg','graphics/run-label-3.jpg');" src="graphics/run-label-3.jpg" vspace="0" width="120"></A><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="#purpose">Purpose of these tests</A></LI> |
| <LI><A href="#brief-overview">Brief overview of testing methods</A></LI> |
| <LI><A href="#dir-map">Directory Structure</A></LI> |
| <LI><A href="#test-map">Listing of Java tests and drivers</A></LI> |
| <LI><A href="#credits">Credits for the tests</A></LI> |
| </UL> |
| |
| <A name="purpose"><!--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>Purpose of these 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"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> |
| <P>These tests are provided for Xalan contributors to evaluate the impact of code changes. |
| Run the tests on the unchanged code, make the change and rebuild. Then run the tests again |
| and compare the results. Results are automatically compared to the files in the "-gold" |
| directory trees. Even though not all tests have "gold" files, it's still valuable to run |
| the tests before and after a code change. That way you can at least ensure that |
| your changes didn't cause any regressions to the code before you check your |
| changes in. In the future, we hope to provide a tool to compare test results from |
| one run to another (without necessarily having to re-run the test) to make this process even simpler.</P> |
| </FONT></TD></TR></TABLE><BR> |
| |
| <A name="brief-overview"><!--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>Brief overview of testing methods</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"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> |
| <P>The Xalan tests include a richly featured and fully automated testing framework |
| that the great majority of the tests use. The org.apache.qetest package provides |
| an independent testing and automation harness for Xalan, including logging and |
| reporting mechanisims. The basic framework is easily used in testing |
| other programs as well since dependencies on Xalan and an XML parser are |
| clearly compartmented.</P> |
| <P>Nearly all tests are automated, run without any user interaction and with a minimum amount of setup, and produce |
| a rolled-up report of their pass/fail/other status. Our existing testing library includes |
| a wide array of tests, from XSLT conformance to detailed API tests, and welcomes |
| user-submitted tests as well. The 'smoketest' target (a subset of the most important |
| tests) are also integrated into the |
| <A href="http://vmgump.apache.org/gump/public/xml-xalan/xml-xalan2-smoketest/index.html">GUMP nightly build system</A>, |
| and thus ensure a |
| minimum baseline of functionality on a daily basis. Developers can run the smoketest |
| and ensure it passes before checking in code changes.</P> |
| </FONT></TD></TR></TABLE><BR> |
| |
| <A name="dir-map"><!--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>Directory Structure</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"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> |
| <DL> |
| <DT>Brief overview of directory structure:</DT> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test</FONT></CODE></DT> |
| <DD>Top level dir for all Xalan versions/products tests</DD> |
| <DT></DT> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tools</FONT></CODE></DT> |
| <DD>Tools required by the test harness, such as JTidy. Note that all .jars |
| required to run Xalan, including Ant, the Xerces parser, etc, are |
| included in the lib and tools directories under xml-xalan/java. |
| </DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/java/src</FONT></CODE></DT> |
| <DD>Java test automation source tree - this includes |
| a generic testing framework as well as specific API tests for parts of Xalan |
| and several test drivers for testing conformance / performance / etc. over a large |
| number of xsl test stylesheets. |
| <BR>Primary packages are:<BR> |
| <A href="apidocs/org/apache/qetest/package-summary.html">org.apache.qetest</A><BR> |
| <A href="apidocs/org/apache/qetest/xsl/package-summary.html">org.apache.qetest.xsl</A><BR> |
| <A href="apidocs/org/apache/qetest/trax/package-summary.html">org.apache.qetest.trax</A><BR> |
| <A href="apidocs/org/apache/qetest/trax/dom/package-summary.html">org.apache.qetest.trax.dom</A><BR> |
| <A href="apidocs/org/apache/qetest/trax/stream/package-summary.html">org.apache.qetest.trax.stream</A><BR> |
| <A href="apidocs/org/apache/qetest/trax/sax/package-summary.html">org.apache.qetest.trax.sax</A><BR> |
| <A href="apidocs/org/apache/qetest/xalanj2/package-summary.html">org.apache.qetest.xalanj2</A><BR> |
| <A href="apidocs/org/apache/qetest/dtm/package-summary.html">org.apache.qetest.dtm</A><BR> |
| <BR></DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests</FONT></CODE></DT><DD>Top level for XSLT stylesheet trees and special API tests</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/conf</FONT></CODE></DT><DD>Directory tree of specific conformance testing stylesheets</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/conf-gold</FONT></CODE></DT><DD>Directory tree of specific conformance testing stylesheets gold |
| output reference files (this tree should mirror the structure of contrib)<BR></DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/contrib</FONT></CODE></DT><DD>Directory tree of user-contributed stylesheets</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/contrib-gold</FONT></CODE></DT><DD>Directory tree of user-contributed stylesheets gold |
| output reference files (this tree should mirror the structure of contrib)<BR></DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/api</FONT></CODE></DT><DD>Directory tree for stylesheets used in Java API tests</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/api/trax</FONT></CODE></DT><DD>Stylesheets used in Java API tests in |
| <A href="apidocs/org/apache/qetest/trax/package-summary.html">org.apache.qetest.trax</A></DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/api/trax/dom</FONT></CODE></DT><DD>Stylesheets used in Java API tests in |
| <A href="apidocs/org/apache/qetest/trax/dom/package-summary.html">org.apache.qetest.trax.dom</A></DD> |
| <DT></DT><DD>etc. - often the directory tree in the stylesheet area |
| will match the Java sources directory/package tree.</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/api-gold</FONT></CODE></DT><DD>Matching Directory tree of gold files for Java API tests<BR></DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/extensions</FONT></CODE></DT><DD>Directory tree for stylesheets used in Xalan-specific extension tests</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/extensions/java</FONT></CODE></DT><DD>Tests for extensions written in Java</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/extensions/javascript</FONT></CODE></DT><DD>Tests for extensions written in Javascript</DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/extension-gold</FONT></CODE></DT><DD>Matching Directory tree of gold files for extensions tests<BR></DD> |
| <DT><CODE><FONT face="courier, monospaced">xml-xalan/test/tests/bugzilla</FONT></CODE></DT><DD>Special directory of stylesheets and automated Testlets reproducing selected Bugzilla bug reports</DD> |
| </DL> |
| </FONT></TD></TR></TABLE><BR> |
| |
| <A name="test-map"><!--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>Listing of Java tests and drivers</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"> </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>This section is a sort of catalog of existing tests. Beginning users |
| will probably want to see <A href="run.html#how-to-run">how to run tests</A> as well.</I></FONT></TD></TR></TABLE> |
| <P>Java Test Drivers (data driven testing)</P> |
| <P>A Java Test Driver executes a test for each xml/xsl file pair in |
| the specified directory tree or each pair in the specified fileList. |
| The driver iterates over the inputDir tree or list of files |
| and asks a Testlet to execute() a test on each one. This is also similar to |
| data driven testing, where a common algorithim is defined for a test case, and |
| then a large number of data points (in this case, the xml/xsl file pairs) are run through the test case in order. |
| The best example is <A href="apidocs/org/apache/qetest/xsl/StylesheetTestletDriver.html">StylesheetTestletDriver</A>. |
| Another generic example is <A href="apidocs/org/apache/qetest/FileTestletDriver.html">FileTestletDriver</A>.</P> |
| <P>The Test Drivers rely on various Testlet implementations |
| to define the actual testing algorithim to apply to each xml/xsl |
| file pair. This defines any options to be used when processing the |
| file as well as logging out information about the test in progress. |
| Examples include |
| <A href="apidocs/org/apache/qetest/xsl/StylesheetTestlet.html">StylesheetTestlet</A> and |
| <A href="apidocs/org/apache/qetest/xsl/PerformanceTestlet.html">PerformanceTestlet</A></P> |
| <P>The Testlets rely on <A href="apidocs/org/apache/qetest/xslwrapper/TransformWrapper.html">TransformWrapper</A> |
| subclasses to perform the actual test of processing or transformation |
| of the xml/xsl file pair into the output file. We can then plug |
| in different TransformWrapper "flavors" easily. Different |
| TransformWrapper can process or transform in various ways, like |
| using DOM trees, SAX events, or input/output streams.</P> |
| <P>The three levels of iteration, test algorithim, and |
| processor flavor are all independently changeable, so we can |
| easily try out different kinds of tests. This technique is used to |
| run the full sets of 'conf' (conformance), 'perf' (performance), |
| extensions, and 'contrib' (user contributed stylesheets) tests.</P> |
| <DL> |
| <DT>org.apache.qetest.xsl.<A href="run.html#how-to-run-c">XalanCTestlet</A></DT> |
| <DD>This is similar to the StylesheetTestlet, but for Xalan-C. |
| It simply shells |
| out to a command prompt to run each stylesheet through the TestXSLT.exe program |
| from Xalan-C.</DD> |
| </DL> |
| |
| <P>Java API tests for the TRAX (or javax.xml.transform) interface, that |
| Xalan-J 2.x implements.<BR> |
| All in package: org.apache.qetest.trax</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>(This Section needs updating: many new tests have been added; see the Javadoc for a list -sc)</I></FONT></TD></TR></TABLE> |
| <DL> |
| <DT>REPLACE_template_for_new_tests.java</DT> |
| <DD>a template for creating new TRAX API tests, see <A href="submit.html#write-API-tests">Submitting New Tests</A></DD> |
| <DT>LoggingErrorListener.java</DT> |
| <DD><I>utility:</I> wraps javax.xml.transform.ErrorListener, and logs info; |
| this class also supports setting expected errors to trap, and it will call |
| logger.checkPass/checkFail for you when it gets an expected or unexpected event. |
| This allows us to write very detailed negative tests and have them be |
| fully automated.</DD> |
| <DT>LoggingURIResolver.java</DT> |
| <DD><I>utility:</I> wraps javax.xml.transform.URIResolver, and logs info</DD> |
| <DT>ExamplesTest.java</DT> |
| <DD>A testing version of samples/trax/Examples.java, a sample file |
| provided in Xalan-J 2.x showing various uses of the TRAX or |
| javax.xml.transform API to process stylesheets.</DD> |
| <DT>TransformerAPITest.java</DT> |
| <DD>API coverage tests for javax.xml.transform.Transformer</DD> |
| <DT>TransformerFactoryAPITest.java</DT> |
| <DD>API coverage tests for javax.xml.transform.TransformerFactory</DD> |
| <DT>TemplatesAPITest.java</DT> |
| <DD>API coverage tests for javax.xml.transform.Templates</DD> |
| |
| <DT>EmbeddedStylesheetTest.java</DT> |
| <DD>Testing various types and kinds of stylesheets embedded with the xml-stylesheet PI</DD> |
| <DT>ErrorListenerAPITest.java</DT> |
| <DD>API Coverage test for ErrorListener</DD> |
| <DT>ErrorListenerTest.java</DT> |
| <DD>Functionality test of error listeners when using illegal stylesheets</DD> |
| <DT>OutputPropertiesTest.java</DT> |
| <DD>Various tests of programmatic access and changing of output properties</DD> |
| <DT>SystemIdImpInclTest.java</DT> |
| <DD>Testing various forms of URLs in setSystemID with imported and included stylesheets</DD> |
| <DT>SystemIdTest.java</DT> |
| <DD>Testing various forms of URLs in setSystemID</DD> |
| |
| |
| <DT>TestThreads.java</DT> |
| <DD>MANUALLY executed test for running multiple threads |
| and transforming multiple stylesheets simultaneously. An updated and automated |
| test is now available, org.apache.qetest.xsl.ThreadedTestletDriver, which |
| should be used instead. </DD> |
| </DL> |
| |
| <P>All in subpackages of: org.apache.qetest.trax</P> |
| <DL> |
| <DT>stream.StreamSourceAPITest.java</DT> |
| <DD>API coverage tests for javax.xml.transform.stream.StreamSource</DD> |
| <DT>stream.StreamResultAPITest.java</DT> |
| <DD>API coverage tests for javax.xml.transform.stream.StreamResult</DD> |
| |
| <DT>etc.</DT> |
| <DD>API coverage tests are available with a similar naming scheme for most javax.xml.transform.* classes</DD> |
| </DL> |
| |
| |
| <P>A few tests are ones that Xalan does not currently pass due to Bugzilla reports, but we know the |
| correct ("gold") result by analysis or by trying the test on other processors. |
| A number of tests may also be missing matching "gold" files, if we haven't |
| yet had time to confirm the correct output. It's still useful to run these |
| tests (although the test driver will report an AMBG or 'Ambiguous' |
| result) because you can still see if the output looks basically correct, and |
| compare the output to previous test runs before you submit your code changes, etc.</P> |
| <P>The tests have several different types of results beyond just pass or fail, |
| which are documented in <A href="apidocs/org/apache/qetest/Logger.html#PASS_RESULT">org.apache.qetest.Logger</A>. |
| </P> |
| |
| </FONT></TD></TR></TABLE><BR> |
| |
| <A name="credits"><!--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>Credits for the 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"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> |
| <UL> |
| <LI><A href="mailto:shane_curcuru@us.ibm.com">Shane Curcuru</A></LI> |
| <LI><A href="mailto:paul_dick@us.ibm.com">Paul Dick</A></LI> |
| <LI><A href="mailto:David_Marston@us.ibm.com">David Marston</A></LI> |
| <LI><A href="mailto:tom.amiro@east.sun.com">Tom Amiro</A></LI> |
| <LI><A href="mailto:garyp@firstech.com">Gary L Peskin</A></LI> |
| <LI>Many other <A href="http://xml.apache.org/mail.html">xalan-dev</A> subscribers</LI> |
| <LI>Test cases written by Carmelo Montanez at <A href="http://www.nist.gov/xml/">NIST</A> for general use</LI> |
| <LI>Many other helpers who we still need to credit! Sorry!</LI> |
| </UL> |
| </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 © 2000 The Apache Software Foundation. |
| All Rights Reserved. |
| </I></FONT></TD></TR></TABLE></BODY></HTML> |