You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2002/04/22 17:48:34 UTC

cvs commit: jakarta-commons/latka/src/distribution/conf tests.ent suite.ent suite.dtd standardValidations.ent report.dtd custom-tests.ent

dion        02/04/22 08:48:34

  Added:       latka/src/distribution/bin latka.sh latka.bat
               latka/src/docbook xml-reference.xml users-guide.xml
                        status.xml RELEASE_NOTES.txt release-plan-1.0.xml
                        proposal.xml index.xml developers-guide.xml
               latka/src/distribution/tests/watchdog
                        WatchdogServletSuite.xml WatchdogJSPSuite.xml
                        processWatchdogServlet.pl processWatchdogJSP.pl
               latka/src/distribution/tests/samples TestTaglibsWebsite.xml
                        TestCommonsWebsite.xml
               latka/src/distribution/tests/latka-self-test TestLatka.xml
               latka/src/distribution/conf tests.ent suite.ent suite.dtd
                        standardValidations.ent report.dtd custom-tests.ent
  Log:
  Moved from top level directories into src
  
  Revision  Changes    Path
  1.1                  jakarta-commons/latka/src/distribution/bin/latka.sh
  
  Index: latka.sh
  ===================================================================
  #! /bin/sh
  # pass in the path to the XML file for the Latka suite
  # optionally override the default host and default port
  #
  # Author:   Morgan Delagrange
  # Author:   dIon Gillard
  # 
  # Version:  $Id: latka.sh,v 1.9 2002/01/28 00:54:30 dion Exp $
  #
  # Set the LATKA_HOME environment variable to your latka install directory
  if [ -z "$LATKA_HOME" ] ; then
      LATKA_HOME=..
  fi
  # Set up classpath for latka - . + all jars in latka/lib + latka/lib
  LATKA_LIB=$LATKA_HOME/lib
  LATKA_LIBS=${LATKA_LIB}/*.jar
  LATKA_CP=.
  for lib in ${LATKA_LIBS}
  do
      # this condition will be false if there are no jar files in LATKA_LIB
      if [ "$lib" != "${LATKA_LIBS}" ] ; then
          LATKA_CP=$LATKA_CP:"$lib"
      fi
  done
  LATKA_CP=$LATKA_CP:$LATKA_LIB
  LATKA_VM_ARGS=-Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
  # run latka
  java -classpath $LATKA_CP $LATKA_VM_ARGS org.apache.commons.latka.Latka $*
  
  
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/bin/latka.bat
  
  Index: latka.bat
  ===================================================================
  @echo off
  
  rem pass in the path to the XML file for the Latka suite
  rem optionally override the default host and default port
  java -classpath .;..\lib\jaxp.jar;..\lib\sax2.jar;..\lib\crimson.jar;..\lib\log4j.jar;..\lib\commons-httpclient.jar;..\lib\jakarta-latka.jar;..\lib\jakarta-regexp.jar;..\lib\jdom.jar;..\lib\xalan2.jar;..\lib\jsse.jar;..\lib\jnet.jar;..\lib\jcert.jar;..\lib -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol org.apache.commons.latka.Latka %1 %2 %3 %4 %5 %6 %7 %8 %9
  
  @echo on
  
  
  
  1.1                  jakarta-commons/latka/src/docbook/xml-reference.xml
  
  Index: xml-reference.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
            "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  
  
  <!--
      Author:     Morgan Delagrange
      Version:    $Id: xml-reference.xml,v 1.1 2002/04/22 15:48:30 dion Exp $
  -->
  <chapter id="xml-reference">
      <chapterinfo>
          <authorgroup>
              <author>
                  <firstname>Morgan</firstname>
                  <surname>Delagrange</surname>
                  <affiliation>
                      <address>
                          <email>mdelagra@yahoo.com</email> 
                      </address>
                  </affiliation>
              </author>
          </authorgroup>
      </chapterinfo>
      <title>Latka XML Reference</title>
     <section>
        <title>Latka XML Reference</title>
  
        <!-- REFENTRY: byteLength -->
        <section id="latka.ref.byteLength" xreflabel="byteLength">
           <title>byteLength</title>
           <para>
              validates the length of an HTTP(S) response
           </para>
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT byteLength EMPTY&gt;
  &lt;!ATTLIST byteLength min   CDATA "0"
                       max   CDATA #IMPLIED
                       label CDATA #IMPLIED&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
              <informaltable colsep="1" rowsep="1">
                 <tgroup cols="4">
                    <colspec colwidth="1in"/>
                    <colspec colwidth="1in"/>
                    <colspec colwidth="1in"/>
                    <colspec colwidth="2in"/>
                    <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">min</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><sgmltag class="attvalue">0</sgmltag></entry>
                          <entry>
                             Minimum number of bytes required for a valid
                             response. Implied. Defaults to
                             <sgmltag class="attvalue">0</sgmltag>.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">max</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Maximum number of bytes required for a valid
                             response. Optional. When absent, there is no
                             upper limit on the number of bytes in a valid
                             response.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.validate"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A <sgmltag>byteLength</sgmltag> validation
                 passes if the HTTP(S) response is at least
                 <sgmltag class="attribute">min</sgmltag>
                 bytes long, and (when specified) at most
                 <sgmltag class="attribute">max</sgmltag> bytes long.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: COOKIE -->
        <section id="latka.ref.cookie" xreflabel="cookie">
           <title>cookie</title>
           <para>
              validates the presence of an HTTP(S) cookie in a response
           </para>
           <section>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT cookie EMPTY>
  <!ATTLIST cookie name  CDATA #REQUIRED
                   value CDATA #IMPLIED
                   label CDATA #IMPLIED>]]></programlisting>
           </section>
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">name</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, but required</emphasis></entry>
                          <entry>
                             The name of the cookie to look for.
                             Required.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">value</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, optional</emphasis></entry>
                          <entry>
                             The value that the cookie with the specified name should
                             have (if any).
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.validate"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A <sgmltag>cookie</sgmltag> validation
                 passes if the HTTP(S) response contains a cookie with the
                 specified  <sgmltag class="attribute">name</sgmltag>.
                 If a <sgmltag class="attribute">value</sgmltag> is provided,
                 the cookie must also have the specified value.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: CREDENTIALS -->
        <section id="latka.ref.credentials" xreflabel="credentials">
           <title>credentials</title>
           <para>
              username/password credentials for Basic HTTP authentication.
           </para>
           <section>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT credentials EMPTY>
  <!ATTLIST credentials userName CDATA #REQUIRED
                        password  CDATA #REQUIRED>]]></programlisting>
           </section>
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">userName</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, required</emphasis></entry>
                          <entry>User name. Required.</entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">password</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, required</emphasis></entry>
                          <entry>Password. Required.</entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.request"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 Contains credentials for HTTP Basic Authentication.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: maxRequestTime -->
        <section id="latka.ref.maxRequestTime" xreflabel="maxRequestTime">
           <title>maxRequestTime</title>
           <para>validates the response time for an HTTP(S) request</para>
           <section>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT maxRequestTime EMPTY>
  <!ATTLIST maxRequestTime millis CDATA "30000"
                             message  CDATA #IMPLIED>]]></programlisting>
           </section>
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">millis</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><sgmltag class="attvalue">30000</sgmltag></entry>
                          <entry>
                             Maximum amount of time, in milliseconds, in which
                             a response must be returned to be considered a
                             valid response.  Implied. Defaults to
                             <sgmltag class="attvalue">30000</sgmltag> milliseconds,
                             or 30 seconds.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.validate"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A <sgmltag>maxRequestTime</sgmltag> validation
                 passes if the HTTP(S) response is obtained in no more than
                 <sgmltag class="attribute">millis</sgmltag> milliseconds.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: PARAM -->
        <section id="latka.ref.param" xreflabel="param">
           <title>param</title>
           <para>indicates a request parameter as part of an HTTP(S) request to be executed</para>
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT request (<xref linkend="latka.ref.paramName"/>, <xref linkend="latka.ref.paramValue"/>)&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.request"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A parameter to be submitted as part of a <xref linkend="latka.ref.request"/>.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: paramName -->
        <section id="latka.ref.paramName" xreflabel="paramName">
           <title>paramName</title>
           <para>the name part of a name/value pair parameter</para>
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT paramName (#PCDATA)&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.param"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 The name part of <xref linkend="latka.ref.param"/>
                 to be submitted as part of a <xref linkend="latka.ref.request"/>.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: paramValue -->
        <section id="latka.ref.paramValue" xreflabel="paramValue">
           <title>paramValue</title>
           <para>the value part of a name/value pair parameter</para>
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT paramValue (#PCDATA)&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.param"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 The value part of <xref linkend="latka.ref.param"/>
                 to be submitted as part of a <xref linkend="latka.ref.request"/>.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: REGEXP -->
        <section id="latka.ref.regexp" xreflabel="regexp">
           <title>regexp</title>
           <para>
              validates the presence or absence of a regular expression within an HTTP(S) response
           </para>
           <section>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT regexp EMPTY>
  <!ATTLIST regexp pattern    CDATA          #REQUIRED
                   cond       (true | false) "true"
                   ignoreCase (true | false) "false"
                   label       CDATA         #IMPLIED>]]></programlisting>
           </section>
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">pattern</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, but required.</emphasis></entry>
                          <entry>
                             The regular expression to look for.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">cond</sgmltag></entry>
                          <entry>
                             <emphasis>Enumeration:</emphasis>
                             <simplelist>
                                <member><sgmltag class="attvalue">true</sgmltag></member>
                                <member><sgmltag class="attvalue">false</sgmltag></member>
                             </simplelist>
                          </entry>
                          <entry><sgmltag class="attvalue">true</sgmltag></entry>
                          <entry>
                             When <sgmltag class="attvalue">true</sgmltag>,
                             the given <sgmltag class="attribute">pattern</sgmltag>
                             must match within the response.
                             When <sgmltag class="attvalue">false</sgmltag>,
                             the given <sgmltag class="attribute">pattern</sgmltag>
                             must not match within the response.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">ignoreCase</sgmltag></entry>
                          <entry>
                             <emphasis>Enumeration:</emphasis>
                             <simplelist>
                                <member><sgmltag class="attvalue">true</sgmltag></member>
                                <member><sgmltag class="attvalue">false</sgmltag></member>
                             </simplelist>
                          </entry>
                          <entry><sgmltag class="attvalue">false</sgmltag></entry>
                          <entry>
                             When <sgmltag class="attvalue">true</sgmltag>,
                             case is ignored within the
                             given <sgmltag class="attribute">pattern</sgmltag>.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.validate"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A <sgmltag>maxRequestTime</sgmltag> validation
                 passes if the HTTP(S) response is obtained in no more than
                 <sgmltag class="attribute">millis</sgmltag> milliseconds.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: REQUEST -->
        <section id="latka.ref.request" xreflabel="request">
           <title>request</title>
  
  
              <para>indicates an  HTTP(S) request to be executed</para>
  
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT request (<xref linkend="latka.ref.credentials"/>?, <xref linkend="latka.ref.param"/>*, <xref linkend="latka.ref.validate"/>?)&gt;
  &lt;!ATTLIST request path   CDATA        #REQUIRED
                       method (post | get) "get"
                       host   CDATA        #IMPLIED
                       port   CDATA        #IMPLIED
                       label  CDATA        #IMPLIED&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
              <para>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                          <row>
                             <entry>Name</entry>
                             <entry>Type</entry>
                             <entry>Default</entry>
                             <entry>Description</entry>
                          </row>
                       </thead>
                       <tbody>
                          <row>
                             <entry><sgmltag class="attribute">path</sgmltag></entry>
                             <entry>CDATA</entry>
                             <entry><emphasis>none, but required</emphasis></entry>
                             <entry>Request path. Required.</entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">method</sgmltag></entry>
                             <entry>
                                <emphasis>enumeration:</emphasis>
                                <simplelist>
                                   <member><sgmltag class="attvalue">get</sgmltag></member>
                                   <member><sgmltag class="attvalue">post</sgmltag></member>
                                </simplelist>
                             </entry>
                             <entry><sgmltag class="attvalue">get</sgmltag></entry>
                             <entry>HTTP method. Implied. Defaults to <sgmltag class="attvalue">get</sgmltag>.</entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">host</sgmltag></entry>
                             <entry>CDATA</entry>
                             <entry><emphasis>none</emphasis></entry>
                             <entry>
                                Host to submit request to.
                                Optional.
                                When absent, uses default from <xref linkend="latka.ref.suite"/>.
                             </entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">port</sgmltag></entry>
                             <entry>NUMBER</entry>
                             <entry><emphasis>depends upon protocol</emphasis></entry>
                             <entry>
                                Port to submit request to.
                                Optional.
                                When absent, uses default from <xref linkend="latka.ref.suite"/>.
                             </entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">label</sgmltag></entry>
                             <entry>CDATA</entry>
                             <entry><emphasis>none</emphasis></entry>
                             <entry>
                                Label associated with this validation, which may
                                be used in programatically generated documentation
                                or reports. Optional.
                             </entry>
                          </row>
                       </tbody>
                    </tgroup>
                 </informaltable>
              </para>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.suite"/></member>
                 <member><xref linkend="latka.ref.session"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 An HTTP(S) request to be executed.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: SESSION -->
        <section id="latka.ref.session" xreflabel="session">
           <title>session</title>
  
  
              <para>wrapper for a sequence of <xref linkend="latka.ref.request"/>s associated with the same state (session)</para>
  
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT session (<xref linkend="latka.ref.request"/>+)&gt;
  &lt;!ATTLIST session sessionId CDATA #IMPLIED
                       label      CDATA #IMPLIED&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">sessionId</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Unique identifier for this <sgmltag>session</sgmltag>.
                             Sessions with the same <sgmltag class="attribute">sessionId</sgmltag>
                             will share the same underlying state (e.g., cookies, etc.)
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this <sgmltag>session</sgmltag>, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.suite"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A <sgmltag>session</sgmltag> is a collection of
                 <xref linkend="latka.ref.request"/>s
                 that share the same underlying state. For example,
                 a cookie that returned in the response to one
                 <xref linkend="latka.ref.request"/>
                 will be included in subsequent
                 <xref linkend="latka.ref.request"/>s.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: statusCode -->
        <section id="latka.ref.statusCode" xreflabel="statusCode">
           <title>statusCode</title>
  
  
              <para>validates an HTTP response code</para>
  
           <section>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT statusCode EMPTY>
  <!ATTLIST statusCode code  CDATA "200"
                        label CDATA #IMPLIED>]]></programlisting>
           </section>
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">code</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><sgmltag class="attvalue">200</sgmltag></entry>
                          <entry>
                             Numeric HTTP response code to expect.
                             Implied. Defaults to
                             <sgmltag class="attvalue">200</sgmltag>.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.validate"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A <sgmltag>statusCode</sgmltag> validation
                 passes if the HTTP(S) response code for the given request
                 matches the value specified by
                 <sgmltag class="attribute">code</sgmltag>.
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: SUITE -->
        <section id="latka.ref.suite" xreflabel="suite">
           <title>suite</title>
  
  
              <para>root element for a suite of tests</para>
  
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT suite ( (<xref linkend="latka.ref.session"/> | <xref linkend="latka.ref.request"/>)+ )&gt;
  &lt;!ATTLIST suite defaultHost CDATA #IMPLIED
                     defaultPort CDATA #IMPLIED
                     label        CDATA #IMPLIED&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">defaultHost</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Default hostname for <xref linkend="latka.ref.request"/>s. Optional.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">defaultPort</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Default port for <xref linkend="latka.ref.request"/>s. Optional.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this <sgmltag>suite</sgmltag>, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A <sgmltag>suite</sgmltag> is a collection of
                 <xref linkend="latka.ref.request"/>s
                 and <xref linkend="latka.ref.session"/>s
                 to execute.
              </para>
           </section>
        </section>
  
  
        <!-- REFENTRY: VALIDATE -->
        <section id="latka.ref.validate" xreflabel="validate">
           <title>validate</title>
  
  
              <para>
                 indicates the suite of validations to apply to the
                 current <xref linkend="latka.ref.request"/> (and its response)
              </para>
  
           <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT validate (<xref linkend="latka.ref.byteLength"/> | <xref linkend="latka.ref.cookie"/> | <xref linkend="latka.ref.maxRequestTime"/> | <xref linkend="latka.ref.regexp"/> | <xref linkend="latka.ref.statusCode"/> | <xref linkend="latka.ref.xpath"/> )+&gt;</programlisting>
           </section>
           <section>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.request"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 Contains the set of validations to apply to the
                 current <xref linkend="latka.ref.request"/>
                 (and its response).
              </para>
           </section>
        </section>
  
        <!-- REFENTRY: xpath -->
        <section id="latka.ref.xpath" xreflabel="xpath">
          <title>xpath</title>
  
          <para>
            xpath - assuming the HTTP(s) response contains XML, checks if an 
            <ulink url="http://www.w3.org/TR/xpath">XPath</ulink> expression matches
          </para>
          
          
          <section>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT xpath EMPTY&gt;
  &lt;!ATTLIST xpath select    CDATA          #REQUIRED
                     cond       (true | false) "true"
                     value     CDATA          #IMPLIED
                     label     CDATA          #IMPLIED&gt;</programlisting>
          </section>
  
           <section>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">select</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             An XPath expression, designed to match a node in the 
                             XML body of the response. 
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">cond</sgmltag></entry>
                          <entry>
                             <emphasis>Enumeration:</emphasis>
                             <simplelist>
                                <member><sgmltag class="attvalue">true</sgmltag></member>
                                <member><sgmltag class="attvalue">false</sgmltag></member>
                             </simplelist>
                          </entry>
                          <entry>
                            <sgmltag class="attvalue">true</sgmltag>
                          </entry>
                          <entry>
                            When <sgmltag class="attvalue">true</sgmltag>, the given XPath expression must match within the 
                            response. When <sgmltag class="attvalue">false</sgmltag>, the given XPath expression must not 
                            match within the response. 
                          </entry>
                       </row>
                       
                       <row>
                          <entry><sgmltag class="attribute">value</sgmltag></entry>
                          <entry>
                            CDATA
                          </entry>
                          <entry>
                            <emphasis>none, optional</emphasis>
                          </entry>
                          <entry>
                            The value that the matched node should have, if any.  
                          </entry>
                       </row>
                       
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>
                            CDATA
                          </entry>
                          <entry>
                            <emphasis>none</emphasis>
                          </entry>
                          <entry>
                            Label associated with this validation, which may be used 
                            in programatically generated documentation or reports. Optional.   
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </section>
           <section>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><xref linkend="latka.ref.validate"/></member>
              </simplelist>
           </section>
           <section>
              <title>Description</title>
              <para>
                 A xpath validation passes if the HTTP(S) response body contains XML, 
                 and the specified XPath expression matches (or not, depending on cond) 
              </para>
           </section>
        </section>   
     </section>
  
  </chapter>
  
  
  1.1                  jakarta-commons/latka/src/docbook/users-guide.xml
  
  Index: users-guide.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  
  <!--
      Author:     dIon Gillard
      Version:    $Id: users-guide.xml,v 1.1 2002/04/22 15:48:32 dion Exp $
  -->
  
  <chapter id="users-guide">
      <title>Latka User's Guide</title>
      <!-- taken directly from index.xml -->
      <section id="introduction">
          <title>What is <firstterm>Latka</firstterm></title>
          <para>Latka is a functional (end-to-end) testing tool. It is implemented
          in Java, and uses an XML syntax to define a series of HTTP (or HTTPS) 
          requests and a set of <firstterm>validations</firstterm> used to verify
          that the request was processed correctly.
          </para>
          <remark>
           Although Latka currently supports only HTTP and HTTPS
           request/response validations, it may be expanded to perform other
           sorts of functional testing as warranted.
          </remark>
          <para>
           A simple example of a Latka XML test suite is shown in our 
           <ulink url="http://cvs.apache.org/viewcvs/jakarta-commons/latka/tests/samples/TestCommonsWebsite.xml">
           sample Latka test suite</ulink>.
           When processed, this example would verify that the Jakarta Commons 
           homepage is present and that all the Commons Components have online
           documenation. 
          </para>
      </section>
      
      <section id="run-latka">
          <title>Running Latka</title>
          <para>A Latka test suite can be run:
              <itemizedlist>
                  <listitem><para>From a command prompt</para></listitem>
                  <listitem><para>From the Latka web application</para></listitem>
                  <listitem><para>From a JUnit TestRunner</para></listitem>
              </itemizedlist>
              <remark>To run Latka as an ant task, we suggest you use the JUnit
  support of ant and write a small test case to invoke Latka, as discussed later</remark>
          </para>
          
          <section id="run-latka-cmd">
              <title>Running Latka from the command prompt</title>
              <para>There are two scripts (or batch files) shipped with latka:
              <orderedlist>
                  <listitem><para>latka.bat - for Windows machines</para></listitem>
                  <listitem><para>latka.sh - for Unix machines</para></listitem>
              </orderedlist>
              </para>
              <para>Both of the scripts take the following parameters: </para>
              <orderedlist>
                  <listitem>
                      <para>a test suite URL, e.g.
  <programlisting>file:./TestCommonsWebsite.xml</programlisting> or
  <programlisting>http://jakarta.apache.org/commons/latka/TestCommonsWebsite.xml</programlisting>
                      </para>    
                  </listitem>
                  <listitem>
                      <para>Optionally properties files of Latka options
  can be specified using the propfile parameter: <programlisting>propfile:&lt;file name&gt;</programlisting>
  </para></listitem>
                  <listitem>
                      <para>Optionally individual Latka options may be specified
  using the prop parameter: <programlisting>prop:&lt;prop name&gt;=&lt;prop value&gt;</programlisting>
                      </para>
                  </listitem>
              </orderedlist>
              
              <para>For more information about what properties you can pass to
  Latka, please see the <link linkend="properties">Latka Properties</link>
  definition</para>
          </section>
          
          <section id="run-latka-webapp">
              <title>Running Latka from a web application (Under Construction)</title>
              <para>The Latka release distribution comes with a web application
  (latka-webapp.war) ready to deploy on a conforming Servlet 2.2/ JSP 1.1
  container.</para>
              <para>For example, to install the Latka web application into a
  <ulink url="http://jakarta.apache.org/tomcat/">Tomcat 4</ulink> server, simply
  copy the .war file to Tomcat's webapp directory, e.g.</para>
  <programlisting>[Win32] copy latka-webapp.war c:\tomcat4\webapps</programlisting>
  <para>or</para>
  <programlisting>[Unix] cp latka-webapp.war /usr/java/jtomcat4/webapps</programlisting>
  <para>and restart Tomcat</para>
              <section id="using-latka-webapp">
                  <title>Using the Latka Web App</title>
                  <para>Once you've gotten the Latka web app running, it's
  straightforward to use. You can either
                      <orderedlist>
                          <listitem><para>Run a latka</para></listitem>
                      </orderedlist>
                  </para>
              </section>
          </section>
          
          <section id="run-latka-junit">
              <title>Running Latka as a JUnit Test Case</title>
              <para>Here's hoping you're familiar with <firstterm>JUnit</firstterm></para>
              <para>Latka ships with a class <ulink 
  url="http://jakarta.apache.org/commons/latka/apidocs/org/apache/commons/latka/junit/JUnitTestAdapter.html"
  >JUnitTestAdapter</ulink>
  that bridges Latka and JUnit. You can use this class to create JUnit
  <firstterm>Test</firstterm>s from Latka's XML documents. For example, calling
  <programlisting>JUnitTestAdapter.createTestFromFile(fileName)</programlisting>
  with a valid Latka XML document's file name will return you back a JUnit Test,
  ready to be added to a TestCase.</para>
              <para>So, essentially you code a JUnit TestCase, and in the
  <emphasis>suite</emphasis> method, you add the Tests created by JUnitTestAdapter
  to the JUnit TestSuite.
  <programlisting>
      public static Test suite() {
          TestSuite suite = new TestSuite();
          String fileName = "tests/samples/TestCommonsWebsite.xml";
          suite.addTest(JUnitTestAdapter.createTestFromFile(fileName));
          return suite;
      }
  </programlisting>
  </para>
              <para>Once you have Latka's suite as a JUnit TestSuite, you can run it
  using any JUnit TestRunner to execute the suite, including those shipped with
  <ulink url="http://jakarta.apache.org/ant/">ant</ulink>.</para>
          </section>
      </section>
      
      <section id="test-suite">
          <title>Anatomy of a test suite (Under Construction)</title>
          
          <para>For a <emphasis>reference</emphasis> of the XML tags that can
  possibly be used in developing latka test suites, see
  <ulink url="http://jakarta.apache.org/commons/latka/xml-reference.html">The
  XML Reference</ulink></para>
  
          <para>A Latka test suite is an XML document with a top level element
  of <firstterm>suite</firstterm></para>
      </section>
      
      <section id="properties">
          <title>Latka Properties (Under Construction)</title>
          
          <para>Definitive list of properties and their meanings...</para>
      </section>
  </chapter>
  
  
  
  
  1.1                  jakarta-commons/latka/src/docbook/status.xml
  
  Index: status.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
            "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  
  
  <!--
      Author:     Morgan Delagrange
      Author:     Doug Sale
      Author:     Rodney Waldhoff
      Author:     dIon Gillard
      Version:    $Id: status.xml,v 1.1 2002/04/22 15:48:32 dion Exp $
   -->
   
  <chapter id="status">
      <chapterinfo>
          <authorgroup>
              <author><firstname>Morgan</firstname><surname>Delagrange</surname>
                  <affiliation><address><email>mdelagra@yahoo.com</email></address></affiliation>
              </author>
              <author><firstname>Doug</firstname><surname>Sale</surname>
                  <affiliation><address><email>dsale@us.britannica.com</email></address></affiliation>
              </author>
              <author><firstname>Rodney</firstname><surname>Waldhoff</surname>
                  <affiliation><address><email>rwaldhof@us.britannica.com</email></address></affiliation>
              </author>
              <author><firstname>dIon</firstname><surname>Gillard</surname>
                  <affiliation><address><email>trongus@yahoo.com</email></address></affiliation>
              </author>
          </authorgroup>
      </chapterinfo>
  
      <title>Status File for Jakarta Commons "Latka" Application</title>
      
      <section>
          <title>INTRODUCTION</title>
  
          <para>Testing websites is a pain.  Many regression tests for a website can 
          be verified automatically, speeding up the quality assurance process 
          and allowing the engineers to focus on the more important issues.  
          Additionally developers may want to monitor their development, QA 
          and production environment, so that they can be sure that everything
          is running as they expect.</para>
  
          <para>Latka is an HTTP functional testing suite for automated QA, acceptance and 
          regression testing.  Latka suites are XML documents, which
          can be written and/or modified without writing Java code.  Latka tests can be 
          created quickly and modified easily, even by engineers without Java experience.</para>
      </section>
      
      <section>
          <title>2.  DEPENDENCIES</title>
          <para><emphasis>Latka</emphasis> relies on:</para>
          <itemizedlist>
              <listitem><para>Java Development Kit (Version 1.3 or later)</para></listitem>
              <listitem><para>A JAXP 1.1 implementation</para></listitem>
              <listitem><para>A SAX 2.0 parser conforming to the JAXP 1.1 APIs</para></listitem>
              <listitem><para>An XSLT parser conforming to JAXP 1.1</para></listitem>
              <listitem><para>HttpClient from Commons - for HTTP communcation</para></listitem>
              <listitem><para>Jakarta Log4J logging package</para></listitem>
              <listitem><para>JUnit - for testing</para></listitem>
              <listitem><para>JSSE - SSL support (optional at runtime)</para></listitem>
              <listitem><para>Jakarta-Regexp - regular expression tests and XML preprocessing (for variable support)</para></listitem>
              <listitem><para>JDOM - for building XML reports</para></listitem>
          </itemizedlist>
      </section>
      
      <section>
          <title>3.  RELEASE INFO</title>
          
          <para>Current Release:  <ulink 
  url="http://jakarta.apache.org/builds/jakarta-commons/release/commons-latka/1.0/">
  1.0 alpha 1</ulink></para>
          <para>Planned Next Release: 1.0, timeframe: 12 April, 2002</para>
      </section>
      
      <section>
          <title>4.  COMMITTERS</title>
  
          <para>The following individuals are the primary developers and
  maintainers of this component.  Developers who plan to use
  <emphasis>Latka</emphasis> in their own projects are encouraged to collaborate
  on the future development of this component to ensure that it continues to meet
  a variety of needs.</para>
          <itemizedlist>
              <listitem><para>Morgan Delagrange</para></listitem>
              <listitem><para>Doug Sale</para></listitem>
              <listitem><para>Rodney Waldhoff</para></listitem>
              <listitem><para>Jeff Turner (part-time)</para></listitem>
              <listitem><para>dIon Gillard</para></listitem>
          </itemizedlist>
      </section>
      
      <section>
          <title>5.  DEVELOPMENT STATUS</title>
          
          <para>Latka development status:</para>
          <itemizedlist>
              <listitem><para>Latka 1.0 Alpha 1 released</para></listitem>
              <listitem><para>Latka library and command line interface:</para>
                  <para> Fully functional, but with potential interface changes
                  forthcoming.</para></listitem>
              <listitem><para>Latka tag library (in Jakarta Taglibs):</para>
                  <para> Experimental, unstable.</para></listitem>
              <listitem><para>Latka web application (in Commons Sandbox):</para>
                  <para> Experimental, promising but unstable.</para></listitem>
          </itemizedlist>
          
          <section>
              <title>Todo items:</title>
  
              <itemizedlist>
                  <listitem><para>Add a universal mechanism for negating
  validators. Currently regexp and xpath validators implement negation internally
  as a special <literal>cond</literal> attribute. This adds somewhat to the
  internal complexity. It would be better to have the framework handle negation by
  being able to wrap tests in a &lt;not/&gt; element.</para></listitem>
                  <listitem><para>Make the inclusion of individual validators
  optional at build time.</para></listitem>
                  <listitem><para>Set up Latka to use the proxy support of later
  <ulink url="http://jakarta.apache.org/commons/httpclient/">HttpClient</ulink>
  builds</para></listitem>
                  <listitem><para>Write unit tests for each validator, with a mock
  object implementing the Response interface</para></listitem>
                  <listitem><para>Fix the webpages build so that it builds into
  the build/docs directory and then copies to commons</para></listitem>
                  <listitem><para>Create better documentation, especially the
  <ulink url="users-guide.html">User's Guide</ulink> and 
  <ulink url="developers-guide.html">Developer's Guide</ulink></para></listitem>
                  <listitem><para>Ensure coding standards are consistent across
  the project's codebase, preferably using a tool such as 
  <ulink url="http://checkstyle.sourceforge.net/">CheckStyle</ulink></para>
                  </listitem>
                  <listitem><para>Add XMLValidate tasks to the build file so that
  any XML doc with a DTD is checked before used</para></listitem>
              </itemizedlist>
          </section>
      </section>
      
  </chapter>
  
  
  1.1                  jakarta-commons/latka/src/docbook/RELEASE_NOTES.txt
  
  Index: RELEASE_NOTES.txt
  ===================================================================
  LATKA RELEASE NOTES
  -------------------
  
  Note: Alpha and beta releases are not frozen in terms of the API.  There may be changes before the final release.
  
  
  1.0 Alpha 2
  -----------
  
  Webapp interface
  - Added last modified dates to the list of tests on the server
  - Added more HTML-friendly stylesheet for test results
  - Added servlet to view the XML of a Latka suite.  This servlet
    resolves all external entities.
  
  Webapp and command-line interface
  - Added ability to set default properties from the classpath using the
    latka.properties file, and added default prop files to the command-line
    and webapp distributions
  - Removed unnecessary redundancy from labels for request failures and 
    errors.
  - Removed labels from skipped requests, which were unnecessary and not
    permitted by the DTD.
  
  
  1.0 Alpha 1
  -----------
  
  - First Latka release
  
  
  1.1                  jakarta-commons/latka/src/docbook/release-plan-1.0.xml
  
  Index: release-plan-1.0.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
            "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  
  
  <!--
       Author:     dIon Gillard
      Version:    $Id: release-plan-1.0.xml,v 1.1 2002/04/22 15:48:33 dion Exp $
   -->
   
  <chapter id="status">
      <chapterinfo>
          <authorgroup>
              <author><firstname>dIon</firstname><surname>Gillard</surname>
                  <affiliation><address><email>dion@apache.org</email></address></affiliation>
              </author>
          </authorgroup>
      </chapterinfo>
  
      <title>Release Plan for Latka 1.0</title>
      
      <section>
          <title>Administrivia</title>
          <para>This document describes a plan for a 1.0 release of the
  Jakarta-Commons Latka component (for the remainder of this document, simply 
  "Latka").</para>
          <para>As per the
  <ulink url="http://jakarta.apache.org/site/decisions.html">
  Jakarta/ASF guidelines</ulink>, this document doesn't mean anything until 
  accepted by the relevant committer community via a lazy majority vote 
  (hereafter, simply "lazy majority").  Once accepted, it may be replaced by an 
  alternative plan, again subject to lazy majority approval.</para>
          <para>Non-binding votes (votes cast by those outside the relevant
  committer community) are welcome, but only binding votes are significant for
  decision making purposes.</para>
      </section>
      
      <section><title>Objective</title>
          <para>The objective of the 1.0 release of Latka is to provide a stable
  and robust release focused on design clarity, forward compatibility, and ease
  of use (i.e., with the intention of providing a stable foundation for the 
  further evolution of the Latka component).</para>
          <para>Specifically, the 1.0 release seeks to
  introduce and evaluate changes based upon the following
  (ordered) criteria:
              <itemizedlist>
                  <listitem><para>Freedom from defects (deviation from the 
  documented or reasonably expected behavior)</para></listitem>
                  <listitem><para>Interface and design consistency and clarity, 
  ease-of-use, and ease-of-extension.</para></listitem>
                  <listitem><para>Forward compatibility. That is, the ability to
  add support for features that can be reasonably predicted without "breaking" 
  the external (and to a lesser degree, internal) interface of the component
  </para></listitem>
              </itemizedlist>
          </para>
          <para>The 1.0 release should also include:
              <itemizedlist>
                  <listitem><para>Adequate documentation (including both 
  API-level/JavaDoc documentation as well documentation suitable for use on the 
  Jakarta-Commons site)</para></listitem>
                  <listitem><para>A substantial unit and functional test suite 
  suitable for ensuring the quality and compatibility of release 1.0 and 
  subsequent releases.</para></listitem>
                  <listitem><para>A clear demarcation of the "internal" and 
  "external" interfaces within Latka, as defined in the 
  <ulink url="http://jakarta.apache.org/commons/versioning.html">
  Versioning Guidelines</ulink> document</para></listitem>
              </itemizedlist>
          </para>
      </section>
      
      <section>
          <title>Release Manager</title>
          <para><ulink url="mailto:dion@apache.org">dIon Gillard</ulink>
  (assuming no one else is really itching to do it)</para>
      </section>
  
      <section>
          <title>Timeline</title>
          <para>(All days ending at 23:59:59 GMT in case of dispute.)
              <itemizedlist>
                  <listitem>
                      <para>Review Period</para>
                      <para>Friday, March 29 - Friday, 5 April 2002</para>
                      <para>During the Review Period specific design, functional and
  contract changes to Latka will be considered on the Jakarta-Commons mailing
  list, using the following process:
                          <itemizedlist>
                              <listitem><para>Any developer or committer that 
  would like to see a specific change (or group of changes) enacted or
  rolled back will suggest it on the <ulink url="jakarta-commons@jakarta.apache.org">
  Jakarta-Commons mailing list</ulink></para></listitem>
                              <listitem><para>Any interested committer that 
  opposes a given change (or group of changes) is obligated to indicate this
  disapproval on the list during the Review Period.</para></listitem>
                              <listitem><para>We will seek, but not strictly 
  require consensus on each decision point.  If consensus cannot be reached,
  any committer may call for a vote to resolve the issue via a lazy majority vote.
  </para></listitem>
                          </itemizedlist>
                      </para>
                      <para>The Review Period may be closed before 5 April 2002,
  given one "workday"'s notice and lazy majority approval.</para>
                      <para>The Review Period may be extended by one week (at a 
  time) given lazy majority approval, in case issues still need to be resolved.
  </para>
                  </listitem>
                  <listitem>
                      <para>Implementation Period</para>
                      <para>Friday, 5 April 2002 - Friday, 12 April 2002
  (assuming the Review Period is not extended)</para>
                      <para>During this period, any remaining implementation, 
  testing and documentation will be completed.  No new features or "public"
  interface changes will be considered in-scope at this time (short of a
  lazy-majority approved revised release plan or any "showstopper" defects).
  </para>
                      <para>At the end of the Implementation Period, a formal
  release vote will be called, subject to lazy approval.</para>
                      <para>A formal release vote may be called before 12 April,
  but after the end of the Review Period, if appropriate.</para>
                  </listitem>
              </itemizedlist>
           </para>
      </section>
  </chapter>
  
  
  1.1                  jakarta-commons/latka/src/docbook/proposal.xml
  
  Index: proposal.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
            "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  
  
  <!--
      Author:     Morgan Delagrange
      Author:     Doug Sale
      Author:     Rodney Waldhoff
      Version:    $Id: proposal.xml,v 1.1 2002/04/22 15:48:33 dion Exp $
   -->
   
  <chapter id="proposal">
      <chapterinfo>
          <authorgroup>
              <author><firstname>Morgan</firstname><surname>Delagrange</surname>
                  <affiliation><address><email>mdelagra@yahoo.com</email></address></affiliation>
              </author>
              <author><firstname>Doug</firstname><surname>Sale</surname>
                  <affiliation><address><email>dsale@us.britannica.com</email></address></affiliation>
              </author>
              <author><firstname>Rodney</firstname><surname>Waldhoff</surname>
                  <affiliation><address><email>rwaldhof@us.britannica.com</email></address></affiliation>
              </author>
          </authorgroup>
      </chapterinfo>
      
      <title>Proposal for Latka Package</title>
      
      <section>
          <title>(0) Rationale</title>
          <para>Testing websites is a pain.  Many regression tests for a website can
  be verified automatically, speeding up the quality assurance process and
  allowing the engineers to focus on the more important issues.  Additionally 
  developers may want to monitor their development, QA and production environment,
  so that they can be sure that everything is running as they expect.</para>
  
          <para>Latka is an HTTP functional testing suite for automated QA.  Latka
   suites are XML documents, which can be written and/or modified without writing 
  Java code.  Latka tests can be created quickly and modified easily, even by 
  engineers without Java experience.</para>
      </section>
      
      <section>
          <title>(1) Scope of the Package</title>
              <para>The <emphasis>Latka</emphasis> project shall develop an 
  XML-based syntax for HTTP-based functional tests.  Latka will support, at the
  least, SSL communication and cookies.</para>
  
              <para>Included within Latka are classes that simulate a user agent. 
  While the backend HTTP communication is handled by the HttpClient Commons
  component, the Latka interfaces simulate some of the behaviour of an actual web
  browser, including automatically passing cookies from request to request in a 
  session.  We hope to integrate these classes into a "useragent" package in 
  HttpClient at some point, since they are a useful abstraction and not tied to 
  Latka in any way, nor do they modify the core HttpClient classes.</para>
  
              <para>Latka also includes several validations that can be performed
  on the HTTP responses, including checking the status code, byte length, or 
  request timing. In addition you will be able to customize Latka with your own
  validators by writing a couple of simple classes.</para>
      </section>
      
      <section>
          <title>(1.5) Interaction With Other Packages</title>
              
          <para><emphasis>Latka</emphasis> relies on:</para>
          
          <itemizedlist>
              <listitem><para>Java Development Kit (Version 1.3 or later)</para></listitem>
              <listitem><para>A JAXP 1.1 implementation</para></listitem>
              <listitem><para>A SAX 2.0 parser conforming to the JAXP 1.1 APIs</para></listitem>
              <listitem><para>An XSLT parser conforming to JAXP 1.1</para></listitem>
              <listitem><para>HttpClient from Commons - for HTTP communcation</para></listitem>
              <listitem><para>Logging component from Commons (not yet implemented)</para></listitem>
              <listitem><para>JUnit - for testing</para></listitem>
              <listitem><para>JSSE - SSL support (optional at runtime)</para></listitem>
              <listitem><para>Jakarta-Regexp - regular expression tests and XML preprocessing (for variable support)</para></listitem>
              <listitem><para>JDOM - for building XML reports</para></listitem>
          </itemizedlist>
      </section>
      
      <section>
          <title>(2) Initial Source of the Package</title>
  
          <para>The initial source has been committed to the Sandbox, and includes
  almost all of the functionality described above.</para>
      </section>
      
      <section>
          <title>(3) Required Jakarta-Commons Resources</title>
              <itemizedlist>
  
              <listitem>
                      <para>CVS Repository - New directory <emphasis>latka
  </emphasis> in the <emphasis>jakarta-commons</emphasis> CVS repository.</para>
                  </listitem>
  
                  <listitem><para>Mailing List - Discussions will take place on
  the general <emphasis>jakarta-commons@jakarta.apache.org</emphasis> mailing
  list. To help list subscribers identify messages of interest, it is suggested
  that the message subject of messages about this component be prefixed with 
  [Latka].</para></listitem>
  
                  <listitem><para>Bugzilla - New component "Latka" under the
  "Commons" product category, with appropriate version identifiers as needed.
  </para></listitem>
  
                  <listitem><para>Jyve FAQ - New category "commons-latka" (when 
  available).</para></listitem>
              </itemizedlist>
      </section>
      
      <section>
          <title>(4) Initial Committers</title>
          <para>The initial committers on the Latka component shall be:</para>
  
          <itemizedlist>
              <listitem><para>Morgan Delagrange</para></listitem>
              <listitem><para>Doug Sale</para></listitem>
              <listitem><para>Rodney Waldhoff</para></listitem>
              <listitem><para>TBD</para></listitem>
          </itemizedlist>
      </section>
  </chapter>
  
  
  1.1                  jakarta-commons/latka/src/docbook/index.xml
  
  Index: index.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
            "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  
  
  <!--
      Author:     Morgan Delagrange
      Version:    $Id: index.xml,v 1.1 2002/04/22 15:48:33 dion Exp $
  -->
  <chapter id="latka">
      <chapterinfo>
          <authorgroup>
              <author>
                  <firstname>Morgan</firstname>
                  <surname>Delagrange</surname>
                  <affiliation>
                      <address>
                          <email>mdelagra@yahoo.com</email> 
                      </address>
                  </affiliation>
              </author>
          </authorgroup>
      </chapterinfo>
      <title>Latka (Version 1.0 Alpha 2)</title>
  
      <section>
          <title>Other Documentation</title>
          <para>See the <ulink url="xml-reference.html">XML Reference</ulink>,
  <ulink url="users-guide.html">User's Guide</ulink> and 
  <ulink url="apidocs/index.html">API Docs</ulink> for more detailed information.
          </para>
      </section>
      <section>
        <title>What is Latka?</title>
        <para>
           <firstterm>Latka</firstterm> is a functional (end-to-end) testing
           tool. It is implemented in Java, and uses an XML syntax to define
           a series of HTTP (or HTTPS) requests and a set of
           <firstterm>validations</firstterm> used to verify that the request
           was processed correctly.
        </para>
        <remark>
           Although Latka currently supports only HTTP and HTTPS
           request/response validations, it may be expanded to perform other
           sorts of functional testing as warranted.
        </remark>
        <para>
           A simple example of a Latka XML test suite is shown in our 
           <ulink url="http://cvs.apache.org/viewcvs/jakarta-commons/latka/tests/samples/TestCommonsWebsite.xml">
           sample Latka test suite</ulink>.
           When processed, this example would verify that the Jakarta Commons 
           homepage is present and that all the Commons Components have online documenation. 
        </para>
     </section>
     <section>
        <title>Installing Latka</title>
        <section>
           <title>Requirements</title>
          <itemizedlist>
            <listitem><para>JDK 1.3 or better</para></listitem> 
            <listitem><para>
              (for optional web application) 
              Tomcat 4.0 B7 or better - does not work in Tomcat 3.2, untested in 
              other containers</para>
            </listitem>
            <listitem><para>
              (for optional SSL support) 
              <ulink url="http://java.sun.com/security/index.html">Sun JSSE library</ulink>
              </para>
            </listitem>
          </itemizedlist>
        </section>
        
        <section>
          <title>General installation</title>
          <orderedlist>
            <listitem><para>
              Download and uncompress the 
              <ulink url="http://jakarta.apache.org/builds/jakarta-commons/release/commons-latka">Latka distribution</ulink>.
              </para>
            </listitem> 
            <listitem><para>
              If you wish to perform Latka test over SSL, 
              you need to configure your JVM with the 
              <ulink url="http://java.sun.com/security/index.html">Sun JSSE library</ulink>.
              </para>
            </listitem> 
          </orderedlist>
        </section>
        
        <section>
          <title>Optional web application installation </title>
          <orderedlist>
            <listitem><para>
              Copy the "webapp/latka-webapp.war" file from the 
              distribution to the "webapp" directory of Tomcat.</para>
            </listitem>
            <listitem><para>
              If you have already configured log4j for Tomcat, 
              you should remove log4j.jar from the /WEB-INF/lib 
              directory of the Latka webapp. </para>
            </listitem>
          </orderedlist>
        </section>
     </section>
  
     <section>
        <title>Using Latka</title>
        <section>
          <title>Running the sample tests</title>
          
          <remark>Command-line interface</remark>
          
          <orderedlist>
            <listitem>
              <para>Open a command prompt inside the "bin" directory of the 
              distribution.</para>
            </listitem>
            <listitem><para>
              Run the Latka batch script on one of the sample XML test suites 
              (e.g. "latka file:../tests/samples/TestCommonsWebsite.xml ").
              </para>
            </listitem>
          </orderedlist>
          
          <remark>Web application</remark>
          
          <orderedlist>
            <listitem><para>
            Go to the index page of the Latka web application.</para>
            </listitem>
            <listitem><para>Select "Run a test from the server"</para></listitem>
            <listitem><para>
              In the test directory dialog box, enter the directory: 
              &lt;latka distrubution directory>/tests/samples 
              </para>
            </listitem>
            <listitem><para>
              Click on one of the tests to execute it.</para>
            </listitem>
          </orderedlist>
        </section>
        <section>
          <title>Creating your own tests</title>
          <para>
            (More to come...) Examine the Latka DTD in the conf directory 
            for a list of all available elements. See the samples for typical syntax. 
          </para>
        </section>
        <section>
          <title>Running tests</title>
          
          <remark>Command-line interface</remark>
          
          <orderedlist>
            <listitem><para>
              Open a command prompt inside the "bin" directory of the distribution. 
              </para>
            </listitem>
            <listitem>
              <para>
              Run the Latka script with no arguments for information on usage. 
              </para>
            </listitem>
          </orderedlist>
          
          <remark>Web application</remark>
          
          <orderedlist>
            <listitem>
              <para>Go to the index page of the Latka web application.</para>
            </listitem>
            <listitem><para>Select "Run a test from the server"</para></listitem>
            <listitem><para>
              In the test directory dialog box, enter the directory where your tests are located. 
              </para>
            </listitem>
            <listitem><para>Click on one of the tests to execute it.</para></listitem>
          </orderedlist>
        </section>
        
        <section>
          <title>Creating your custom validations</title>
          <remark>(More to come...)</remark>
        </section>
     </section>
          
  </chapter>
  
  
  
  
  1.1                  jakarta-commons/latka/src/docbook/developers-guide.xml
  
  Index: developers-guide.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
  
  <!--
      Author:     dIon Gillard
      Version:    $Id: developers-guide.xml,v 1.1 2002/04/22 15:48:33 dion Exp $
  -->
  
  <chapter id="users-guide">
      <title>Latka Developers's Guide</title>
      
      <section id="introduction">
          <title>Introduction</title>
          <para>These are informal notes gathered as I've started working
  on <ulink url="index.html">Latka</ulink>. Hopefully they will make sense to
  those coming after me, and possibly clarify the current state for the existing
          </para>
      </section>
      <section id="coding-style">
          <title>Coding Style</title>
          
          <para>Latka has some unusual coding conventions, which we've hopefully
  captured using a tool, <ulink url="http://checkstyle.sourceforge.net">CheckStyle
  </ulink>.</para>
  
          <para>Onto the conventions... The Sun coding conventions are followed in
  most places, except for the items that follow</para>
          <itemizedlist>
              <listitem><para>private and protected member variables begin with an 
  underscore, <programlisting>_requestSucceeded</programlisting></para></listitem>
              <listitem><para>private methods also begin with an underscore on 
  rare occasions (mainly when there is some public method and protected/private 
  method with an otherwise identical signature)</para>
              </listitem>
              <listitem><para>Javadoc on classes and methods is not yet complete.
  Feel free to help out here :-)</para></listitem>
          </itemizedlist>
      </section>
      
      <section id="general-practices">
          <title>General Practices</title>
          
          <para>Here are some of the development practices of the Latka team</para>
          
          <itemizedlist>
              <listitem><para>Before committing any changes, run a cvs diff to
  ensure unexpected changes are not being introduced</para>
              </listitem>
              <listitem><para>Before committing java source code changes, do a
  clean build of the project to ensure all code still compiles. Run all testcases
  to ensure the code isn't broken. Run the checkstyle task to ensure code meets
  the project's current standards</para>
              </listitem>
              <listitem><para>Before committing changes to the web pages:
                  <orderedlist>
                      <listitem><para>Ensure the original docbook is valid by
  validating the XML against the docbook DTD</para>
                      </listitem>
                      <listitem><para>do a clean build of the webpages target in
  the main build file and view the resulting output</para>
                      </listitem>
                  </orderedlist>
                  </para>
              </listitem>
          </itemizedlist>
      </section>
      <!-- other sections: build files, documentation, updating the live site,
              explaining the dtds, directory structure of source, what we need
              help with, docbook, the xsl stylesheets, nightly builds
        -->
  </chapter>
  
  
  1.1                  jakarta-commons/latka/src/distribution/tests/watchdog/WatchdogServletSuite.xml
  
  Index: WatchdogServletSuite.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE suite SYSTEM "../../conf/suite.dtd">
  <suite defaultHost="localhost" defaultPort="8080" label="Watchdog Servlet tests">
  <!-- ==================== Watchdog Servlet tests ==================== -->
  <!-- javax_servlet_GenericServlet tests -->
  
  <request path="/servlet-tests/DestroyTest" label="Called by the servlet container to indicate to a servlet that the servlet is being taken out of service., specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.GenericServlet.Destroy() method ">
  <validate>
  <statusCode label="Create a GenericServlet and take out of service using destroy method"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletConfigTest" label="Returns this servlet's ServletConfig object, specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.GenericServlet.ServletConfig() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/GenericServlet/GetServletConfigTest.html" ignoreWhitespace="true" label="Create a GenericServlet and check for its ServletConfig object existence"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletContextTest" label="Returns this servlet's ServletContext object, specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.GenericServlet.ServletContext() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/GenericServlet/GetServletContextTest.html" ignoreWhitespace="true" label="Create a GenericServlet and check for its ServletContext object existence"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletInfoTest" label="Returns this servlet's ServletInfo object, specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.GenericServlet.ServletContext() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/GenericServlet/GetServletInfoTest.html" ignoreWhitespace="true" label="Create a GenericServlet and check for its ServletInfo object values"/>
  </validate>
  </request>
  <!-- javax_servlet_RequestDispatcher tests -->
  
  <request path="/servlet-tests/ForwardTest" label="Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server, specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.RequestDispatcher.ForwardTest() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/ForwardTest.html" ignoreWhitespace="true" label="Create a servlet, get its RequestDispatcher and use it to forward to a servlet"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Forward_1Test" label="Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server,throws an java.lang.IllegalStateException, if the response was already committed, specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.RequestDispatcher.ForwardTest() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/Forward_1Test.html" ignoreWhitespace="true" label="A negative test for RequestDispatcher.forward() method. Create a servlet, print a string to the buffer, flush the buffer to commit the string, get its RequestDispatcher and use it to forward to a servlet. Test for java.lang.IllegalStateException to be thrown."/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IncludeTest" label="Includes the content of a resource (servlet, JSP page, HTML file) in the response, enabling programmatic server-side includes., specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.RequestDispatcher.Include() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/IncludeTest.html" ignoreWhitespace="true" label="Create a servlet, get its RequestDispatcher and use it to include a servlet"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Include_1Test" label="Includes the content of a resource (servlet, JSP page, HTML file) in the response, enabling programmatic server-side includes.The included servlet cannot change the response
        status code or set headers; any attempt to make a change is ignored. The request and response parameters must be the same objects as were passed to the calling servlet's service method., specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.RequestDispatcher.Include() method ">
  <validate>
  <responseHeader headerName="Content-Type" headerValue="text/plain" label="A negative test for RequestDispatcher.include() test. Create a servlet, set its Content-Type to be 'text/plain', get its RequestDispatcher and use it to include a servlet. The included servlet tries to change the Content-Type to be text/html. Test at the client side for correct Content-Type."/>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/Include_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- javax_servlet_Servlet tests -->
  
  <request path="/servlet-tests/DoDestroyedTest" label="Called by the servlet container to indicate to a servlet that the servlet is being taken out of service, specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.Servlet.destroy() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoDestroyedTest.html" ignoreWhitespace="true" label="Testing that destroy method is not called during service method execution"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoInit1Test" label="CalLed by the servlet container to indicate to a servlet that the servlet is being placed into service., specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.Servlet.init() method ">
  <validate>
  <statusCode code="500" label="A negative test for the init method. We will throw UnavailableException from inside init.The Servlet should not be initialized "/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoInit2Test" label="Called by the servlet container to indicate to a servlet that the servlet is being placed into service., specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.Servlet.init() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoInit2Test.html" ignoreWhitespace="true" label="Inside CoreServletTest, which is the parent servlet, we are implementing init() and setting a boolean variable to true. We'll check for the variables here in the DoInit2Test "/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoServiceTest" label="Called by the servlet container to allow the servlet to respond to a request, specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.Servlet.service() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoServiceTest.html" ignoreWhitespace="true" label="Inside CoreServletTest, which is the parent servlet, we will override init method and assign some value to the String. We'll check for that value in the service method"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoServletConfigTest" label="Returns a ServletConfig object, which contains initialization and startup parameters for this servlet., specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.Servlet.getServletConfig() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoServletConfigTest.html" ignoreWhitespace="true" label="Create a servlet and test for the getServletConfig() method to be a non-null value"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoServletInfoTest" label="Returns information about the servlet, such as author, version, and copyright., specified in the Java Servlet Pages Specification v2.3, Sec 16 - javax.servlet.Servlet.getServletInfo() method ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoServletInfoTest.html" ignoreWhitespace="true" label="Create a servlet and test for the getServletInfo() method to be a non-null value"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/PUTest" label="Servlet lifecycle test, check if UnavailableException.isPermanent() is true, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/PUTest.html" ignoreWhitespace="true" label="Create a servlet, throw UnavailableException and test if isPermanent() method is true"/>
  </validate>
  </request>
  <!-- javax_servlet_ServletConfig tests -->
  
  <request path="/servlet-tests/GetServletConfigInitParameterNamesTest" label="Returns a String containing the value of the named initialization parameter, or null if the parameter does not exist, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletConfig/GetServletConfigInitParameterNamesTest.html" ignoreWhitespace="true" label="Set init parameters in the web.xml file and check for the enumerated values in the servlet."/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletConfigInitParameterNames_1Test" label="If no initialization parameters are set, this method returns a null value, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletConfig/GetServletConfigInitParameterNames_1Test.html" ignoreWhitespace="true" label="Do not set init parameters in the web.xml file and check for null value in the servlet."/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletConfigInitParameterTest" label="Returns a String containing the value of the named initialization parameter, or null if the parameter does not exist, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletConfig/GetServletConfigInitParameterTest.html" ignoreWhitespace="true" label="Set init parameters in the web.xml file and check for the value in the servlet."/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletConfigInitParameter_1Test" label="If no initialization parameter is set, this method returns a null value, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletConfig/GetServletConfigInitParameter_1Test.html" ignoreWhitespace="true" label="Do not set init parameters in the web.xml file and check for null value after in the servlet."/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletConfigGetServletContextTest" label="Returns a reference to the ServletContext in which the servlet is executing, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletConfig/ServletConfigGetServletContextTest.html" ignoreWhitespace="true" label="Try to get the ServletContext for this servlet itself"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletNameTest" label="Returns the name of this servlet instance, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletConfig/GetServletNameTest.html" ignoreWhitespace="true" label="Try to get the ServletName for this servlet itself"/>
  </validate>
  </request>
  <!-- javax_servlet_ServletContext tests -->
  
  <request path="/servlet-tests/ServletContextGetAttributeNamesTest" label="Returns the name of this servlet instance, specified in the Java Servlet Pages Specification v2.3, Sec 3.3.2.1">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextGetAttributeNamesTest.html" ignoreWhitespace="true" label="Try to get the ServletName for this servlet itself"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextGetAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextGetAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextGetAttribute_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextGetAttribute_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextGetContextTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextGetContextTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextGetInitParameterTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextGetInitParameterTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextGetInitParameterNamesTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextGetInitParameterNamesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextGetInitParameter_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextGetInitParameter_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMajorVersionTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetMajorVersionTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMinorVersionTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetMinorVersionTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMimeTypeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetMimeTypeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMimeType_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetMimeType_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRealPathTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetRealPathTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextGetRequestDispatcherTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetMinorVersionTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetResourceAsStreamTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetResourceAsStreamTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetResourceAsStream_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetResourceAsStream_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetResourceTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetResourceTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetResource_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetResource_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServerInfoTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/GetServerInfoTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextRemoveAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextRemoveAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletContextSetAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletContext/ServletContextSetAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Log_StringTest">
  <validate>
  <statusCode/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Log_StringThrowableTest">
  <validate>
  <statusCode/>
  </validate>
  </request>
  <!-- javax_servlet_ServletException tests -->
  
  <request path="/servlet-tests/ServletExceptionConstructor1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletException/ServletExceptionConstructor1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletExceptionConstructor2Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletException/ServletExceptionConstructor2Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletExceptionConstructor3Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletException/ServletExceptionConstructor3Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletExceptionConstructor4Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletException/ServletExceptionConstructor4Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRootCauseTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletException/GetRootCauseTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- javax_servlet_ServletInputStream tests -->
  
  <request path="/servlet-tests/ReadLineTest">
  <validate>
  <!-- what does this gtest parameter do? 
   content="java" -->
  <goldenFile fileName="${wgdir}/javax_servlet/ServletInputStream/ReadLineTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- javax_servlet_ServletOutputStream tests -->
  
  <request path="/servlet-tests/Print_StringTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Print_StringTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Print_booleanTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Print_booleanTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Print_charTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Print_charTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Print_intTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Print_intTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Print_longTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Print_longTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Print_floatTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Print_floatTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Print_doubleTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Print_doubleTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/PrintlnTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/PrintlnTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Println_StringTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Println_StringTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Println_booleanTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Println_booleanTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Println_charTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Println_charTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Println_intTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Println_intTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Println_longTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Println_longTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Println_floatTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Println_floatTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Println_doubleTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletOutputStream/Println_doubleTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- javax_servlet_ServletRequest tests -->
  
  <request path="/servlet-tests/ServletRequestGetAttributeNamesTest ">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestGetAttributeNamesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletRequestGetAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestGetAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletRequestGetAttribute_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestGetAttribute_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletRequestGetCharacterEncodingTest">
  
  <requestHeader headerName="Content-Type" headerValue="text/plain;charset=ISO-8859-1"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestGetCharacterEncodingTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletRequestGetCharacterEncoding_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestGetCharacterEncoding_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetContentLengthTest">
  
  <requestHeader headerName="Content-Type" headerValue="text/plain"/>
  <validate>
  <!-- what does this gtest parameter do? 
   content="ULTRA SPARC" -->
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetContentLengthTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetContentTypeTest">
  
  <requestHeader headerName="Content-Type" headerValue="text/plain"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetContentTypeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetInputStreamTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetInputStreamTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetInputStream_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetInputStream_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetLocaleTest">
  
  <requestHeader headerName="Accept-Language" headerValue="en-us"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetLocaleTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetLocalesTest">
  
  <requestHeader headerName="Accept-Language" headerValue="en-us,en-gb"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetLocalesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- FIXME - Causes OutOfMemoryException in GTest client
        
  <request path="/servlet-tests/GetParameterNamesTest?BestLanguage=Java&amp;BestJSP=Tomcat">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetParameterNamesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  -->
  
  <request path="/servlet-tests/GetParameterNames_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetParameterNames_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetParameterTest?BestLanguage=Java">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetParameterTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetParameterValuesTest?Containers=JSP&amp;Containers=Servlet">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetParameterValuesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetParameterValues_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetParameterValues_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetParameter_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetParameter_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetProtocolTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetProtocolTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetReaderTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetReaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetReader_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetReader_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRemoteAddrTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetRemoteAddrTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRemoteHostTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetRemoteHostTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletRequestGetRequestDispatcherTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestGetRequestDispatcherTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetSchemeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetSchemeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServerNameTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetServerNameTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServerPortTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/GetServerPortTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletRequestSetAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestSetAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletRequestSetCharacterEncoding_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletRequest/ServletRequestSetCharacterEncoding_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- javax_servlet_ServletResponse tests -->
  
  <request path="/servlet-tests/GetBufferSizeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/GetBufferSizeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ServletResponseGetCharacterEncodingTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/ServletResponseGetCharacterEncodingTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetBufferSizeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/SetBufferSizeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetBufferSize_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/SetBufferSize_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetOutputStream_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/GetOutputStream_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetWriter_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/GetWriter_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsCommittedTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/IsCommittedTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- FIXME - GTest mishandles the comparison test for a missing header
        
  <request path="/servlet-tests/ResetTest">
  <validate>
  <responseHeader headerName="Content-Type" headerValue="null"/>
  </validate>
  </request> 
  -->
  
  <request path="/servlet-tests/Reset_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/ServletResponse/Reset_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetContentLengthTest">
  <validate>
  <responseHeader headerName="Content-Length" headerValue="10"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetContentTypeTest">
  <validate>
  <responseHeader headerName="Content-Type" headerValue="text/html"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetLocaleTest">
  <validate>
  <responseHeader headerName="Content-Language" headerValue="en"/>
  </validate>
  </request>
  <!-- javax_servlet_UnavailableException tests -->
  
  <request path="/servlet-tests/GetUnavailableSecondsTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/UnavailableException/GetUnavailableSecondsTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsPermanentTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/UnavailableException/IsPermanentTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/UnavailableException_Constructor1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/UnavailableException/UnavailableException_Constructor1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/UnavailableException_Constructor2Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/UnavailableException/UnavailableException_Constructor2Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- javax_servlet_http_Cookie tests -->
  
  <request path="/servlet-tests/Cookie_ConstructorTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/Cookie_ConstructorTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Cookie_Constructor_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/Cookie_Constructor_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/CookieCloneTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/CookieCloneTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetCommentTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetCommentTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetComment_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetComment_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetDomainTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetDomainTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMaxAgeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetMaxAgeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMaxAge_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetMaxAge_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetNameTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetNameTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetPathTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetSecureTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetSecureTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetValueTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetValueTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetVersionTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/GetVersionTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetCommentTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/SetCommentTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetDomainTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/SetDomainTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetMaxAgeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/SetMaxAgeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetSecureTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/SetSecureTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetValueTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/SetValueTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetVersionTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/SetVersionTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetPathTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/Cookie/SetPathTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- javax_servlet_http_HttpServletRequest tests -->
  
  <request path="/servlet-tests/GetAuthTypeWithoutProtectionTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetAuthTypeWithoutProtectionTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetContextPathTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetContextPathTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetCookiesTest">
  
  <requestHeader headerName="Cookie" headerValue="BestLanguage=Java"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetCookiesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetCookies_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetCookies_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetDateHeaderTest">
  
  <requestHeader headerName="If-Modified-Since" headerValue="Sat, 01 Jan 2000 00:00:01 GMT"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetDateHeaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetDateHeader_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetDateHeader_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetDateHeader_02Test">
  
  <requestHeader headerName="If-Modified-Since" headerValue="234"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetDateHeader_02Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeaderNamesTest">
  
  <requestHeader headerName="Authorization" headerValue="Basic achegkliporV8y##Cookie:BestLanguage=java"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeaderNamesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeaderTest">
  
  <requestHeader headerName="User-Agent" headerValue="Mozilla/4.0"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeader_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeader_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- FIXME - GTest mishandles multiple request headers with the same name
        
  <request path="/servlet-tests/GetHeadersTest">
  
  <requestHeader headerName="Accept-Language" headerValue="en-us##Accept-Language:en-gb"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeadersTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  -->
  
  <request path="/servlet-tests/GetHeaders_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeaders_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetIntHeaderTest">
  
  <requestHeader headerName="MyIntHeader" headerValue="123"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetIntHeaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetIntHeader_1Test">
  
  <requestHeader headerName="MyNonIntHeader" headerValue="somestring"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetIntHeader_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetIntHeader_2Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetIntHeader_2Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMethodTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetMethodTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMethod_HEADTest" method="head">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetMethod_HEADTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMethod_POSTTest" method="post">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetMethod_POSTTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathInfoTest/pathinfostring1/pathinfostring2">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathInfoTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathInfo_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathInfo_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathTranslatedTest/javax_servlet">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathTranslatedTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathTranslated_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathTranslated_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetQueryStringTest?language=java">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetQueryStringTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetQueryString_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetQueryString_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRemoteUser_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRemoteUser_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRequestURITest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRequestURITest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRequestURIWithQSTest?language=java">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRequestURIWithQSTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRequestedSessionId_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRequestedSessionId_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletPathTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetServletPathTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- FIXME - Test webapp does not have security set up correctly
        
  <request path="/servlet-tests/GetUserPrincipalTest">
  
  <requestHeader headerName="Authorization" headerValue="Basic d2VibWFzdGVyOnRyeTUndWVTUw=##From:got2be@eng.sun.com"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetUserPrincipalTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  -->
  <!-- FIXME - Test webapp does not have security set up correctly
        
  <request path="/servlet-tests/GetUserPrincipal_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetUserPrincipal_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  -->
  
  <request path="/servlet-tests/IsRequestedSessionIdFromCookie_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsRequestedSessionIdFromCookie_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsRequestedSessionIdFromURL_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsRequestedSessionIdFromURL_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsRequestedSessionIdValid_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsRequestedSessionIdValid_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- FIXME - Test webapp does not have security set up correctly
        
  <request path="/servlet-tests/IsUserInRoleTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsUserInRoleTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  -->
  <!-- javax_servlet_http_HttpServletResponse tests -->
  
  <request path="/servlet-tests/AddCookieTest">
  <validate>
  <responseHeader headerName="Set-Cookie" headerValue="BestLanguage=java"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/AddDateHeaderTest">
  <validate>
  <responseHeader headerName="DateInfo" headerValue="Sat, 25 Apr 1970 07:29:03 GMT"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/AddHeaderTest">
  <validate>
  <responseHeader headerName="MyStrHeader" headerValue="java"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/AddIntHeaderTest">
  <validate>
  <responseHeader headerName="MyIntHeader" headerValue="2"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ContainsHeaderTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletResponse/ContainsHeaderTest.html" ignoreWhitespace="true"/>
  <responseHeader headerName="MyIntHeader" headerValue="20"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ContainsHeader_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletResponse/ContainsHeader_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SendErrorTest">
  <validate>
  <statusCode/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SendError_StringTest">
  <validate>
  <statusCode/>
  </validate>
  </request>
  <!-- FIXME - GTest does not properly deal with redirect responses
        
  <request path="/servlet-tests/SendRedirectTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletResponse/SendRedirectTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  -->
  
  <request path="/servlet-tests/SendRedirect_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletResponse/SendRedirect_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetDateHeaderTest">
  <validate>
  <responseHeader headerName="DateInfo" headerValue="Sat, 25 Apr 1970 07:29:03 GMT"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetHeaderTest">
  <validate>
  <responseHeader headerName="MyStrHeader" headerValue="Java"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetIntHeaderTest">
  <validate>
  <responseHeader headerName="MyIntHeader" headerValue="2"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetStatusTest">
  <validate>
  <statusCode/>
  </validate>
  </request>
  <!-- javax_servlet_http_HttpSession tests -->
  
  <request path="/servlet-tests/HttpSessionGetAttributeNamesTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/HttpSessionGetAttributeNamesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/HttpSessionGetAttributeNames_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/HttpSessionGetAttributeNames_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/HttpSessionGetAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/HttpSessionGetAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/HttpSessionGetAttribute_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/HttpSessionGetAttribute_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetCreationTimeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/GetCreationTimeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetIdTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/GetIdTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetLastAccessedTimeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/GetLastAccessedTimeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMaxInactiveIntervalTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/GetMaxInactiveIntervalTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsNewTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/IsNewTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsNew_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/IsNew_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/RemoveAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/RemoveAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/RemoveAttribute_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/RemoveAttribute_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetAttributeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/SetAttributeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetAttribute_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/SetAttribute_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/SetMaxInactiveIntervalTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/SetMaxInactiveIntervalTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/InvalidateTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpSession/InvalidateTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DestroyTest">
  <validate>
  <statusCode/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletConfigTest">
  <validate>
  <goldenFile fileName="${wgdir}/GetServletConfigTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletContextTest">
  <validate>
  <goldenFile fileName="${wgdir}/GetServletContextTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletInfoTest">
  <validate>
  <goldenFile fileName="${wgdir}/GetServletInfoTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ForwardTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/ForwardTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Forward_1Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/Forward_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IncludeTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/IncludeTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/Include_1Test">
  <validate>
  <responseHeader headerName="Content-Type" headerValue="text/plain"/>
  <goldenFile fileName="${wgdir}/javax_servlet/RequestDispatcher/Include_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoDestroyedTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoDestroyedTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoInit1Test">
  <validate>
  <statusCode code="500"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoInit2Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoInit2Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoServiceTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoServiceTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoServletConfigTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoServletConfigTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/DoServletInfoTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/DoServletInfoTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/PUTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet/Servlet/PUTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetAuthTypeWithoutProtectionTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetAuthTypeWithoutProtectionTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetContextPathTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetContextPathTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetCookiesTest">
  
  <requestHeader headerName="Cookie" headerValue="BestLanguage=Java"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetCookiesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetCookies_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetCookies_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetDateHeaderTest">
  
  <requestHeader headerName="If-Modified-Since" headerValue="2000-08-04"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetDateHeaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetDateHeader_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetDateHeader_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetDateHeader_02Test">
  
  <requestHeader headerName="If-Modified-Since" headerValue="966465196330"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetDateHeader_02Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeaderNamesTest">
  
  <requestHeader headerName="Authorization" headerValue="Basic achegkliporV8y##Cookie:BestLanguage=java"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeaderNamesTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeaderTest">
  
  <requestHeader headerName="User-Agent" headerValue="Mozilla/4.0"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeader_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeader_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeadersTest">
  
  <requestHeader headerName="Accept-Language" headerValue="en-us,en-gb"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeadersTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetHeaders_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetHeaders_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetIntHeaderTest">
  
  <requestHeader headerName="MyIntHeader" headerValue="1"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetIntHeaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetIntHeader_1Test">
  
  <requestHeader headerName="MyNonIntHeader" headerValue="somestring"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetIntHeader_1Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetIntHeader_2Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetIntHeader_2Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMethodTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetMethodTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMethod_HEADTest" method="head">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetMethod_HEADTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetMethod_POSTTest" method="post">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetMethod_POSTTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathInfoTest/pathinfostring1/pathinfostring2" method="post">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathInfoTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathInfo_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathInfo_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathTranslatedTest/javax_servlet">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathTranslatedTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetPathTranslated_01Test/javax_servlet">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetPathTranslated_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetQueryStringTest?language=java">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetQueryStringTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetQueryString_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetQueryString_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRemoteUser_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRemoteUser_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRequestURITest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRequestURITest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRequestURIWithQSTest?language=java">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRequestURIWithQSTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetRequestedSessionId_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetRequestedSessionId_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetServletPathTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetServletPathTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetUserPrincipalTest">
  
  <requestHeader headerName="Authorization" headerValue="Basic d2VibWFzdGVyOnRyeTUndWVTUw=##From:got2be@eng.sun.com"/>
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetUserPrincipalTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/GetUserPrincipal_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/GetUserPrincipal_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsRequestedSessionIdFromCookie_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsRequestedSessionIdFromCookie_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsRequestedSessionIdFromURL_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsRequestedSessionIdFromURL_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsRequestedSessionIdValid_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsRequestedSessionIdValid_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/IsUserInRoleTest">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletRequest/IsUserInRoleTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/AddCookieTest">
  <validate>
  <responseHeader headerName="Cookie" headerValue=" BestLanguage=java"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/AddDateHeaderTest">
  <validate>
  <responseHeader headerName="DateInfo" headerValue="Sat, 25 Apr 1970 07:29:03 GMT"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/AddHeaderTest">
  <validate>
  <responseHeader headerName="MyStrHeader" headerValue="java"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/AddIntHeaderTest">
  <validate>
  <responseHeader headerName="MyIntHeader" headerValue="2"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ContainsHeaderTest">
  <validate>
  <responseHeader headerName="MyIntHeader" headerValue="20"/>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletResponse/ContainsHeaderTest.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  
  <request path="/servlet-tests/ContainsHeader_01Test">
  <validate>
  <goldenFile fileName="${wgdir}/javax_servlet_http/HttpServletResponse/ContainsHeader_01Test.html" ignoreWhitespace="true"/>
  </validate>
  </request>
  <!-- sample of all the various test options allowed
      <gtest description="Content Type Test"
             request="GET /test/binaries/image1.gif HTTP/1.0"
             <goldenFile fileName="${gdir}/image1.gif" ignoreWhitespace="true"/>
  <regexp pattern="PreInclude"/>
  <responseHeader headerName="Content-Type" headerValue="image/gif"/> />
             exactMatch="true"  />
  -->
  </suite>
  
  
  1.1                  jakarta-commons/latka/src/distribution/tests/watchdog/WatchdogJSPSuite.xml
  
  Index: WatchdogJSPSuite.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE suite SYSTEM "../../conf/suite.dtd">
  <suite defaultHost="localhost" defaultPort="8080" label="Watchdog JSP tests">
  <!-- ==================== Watchdog JSP tests ==================== -->
  <!-- Precompilation tests -->
  
  <request path="/jsp-tests/jsp/misc/precompilation/precompile.jsp?jsp_precompile" label="Test that the request is not sent to the JSP">
  <validate>
  <statusCode label="No HTML page received when jsp_precompile has no value"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/misc/precompilation/precompile.jsp?jsp_precompile=false&amp;test=insignificant" label="Test that the request is forwarded properly when jsp_precompile=false">
  <validate>
  <goldenFile fileName="${wgdir}/misc/precompilation/response.html" ignoreWhitespace="true" label="The value of variable passed in the request is displayed if the request goes to the JSP"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/misc/precompilation/precompile.jsp?jsp_precompile=false" label="Test that the request is forwarded properly when jsp_precompile=false">
  <validate>
  <goldenFile fileName="${wgdir}/misc/precompilation/no_parameter.html" ignoreWhitespace="true" label="The request should be processed "/>
  </validate>
  </request>
  <!--
        
  <request path="/jsp-tests/jsp/misc/precompilation/precompile.jsp?jsp_precompile=%22false%22" label="Test that the request is forwarded properly when jsp_precompile=%22false%22">
  <validate>
  <goldenFile fileName="${wgdir}/misc/precompilation/no_parameter.html" ignoreWhitespace="true" label="The request should be processed "/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/misc/precompilation/precompile.jsp?jsp_precompile=true" label="Test that the request is not sent to the JSP">
  <validate>
  <statusCode label="No HTML page received when jsp_precompile=true "/>
  </validate>
  </request>
  <!--
        
  <request path="/jsp-tests/jsp/misc/precompilation/precompile.jsp?jsp_precompile=%22true%22" label="Test that the request is not sent to the JSP">
  <validate>
  <statusCode label="No HTML page received when jsp_precompile=true "/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/misc/precompilation/precompile.jsp?jsp_precompile=any_invalid_value" label="Test that the proper error code is returned if jsp_precompile is given an invalid value">
  <validate>
  <statusCode code="500" label="check for status code 500"/>
  </validate>
  </request>
  <!--  End Precompilation Tests -->
  <!-- Begin TLD Resource Path tests -->
  
  <request path="/jsp-tests/jsp/tagext/tld_resource_path/positive_ABS_URI.jsp" label="Test that the proper tld file is located when the URI in tha taglib directive is an absolutr URI">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/tld_resource_path/absolute_uri.html" ignoreWhitespace="true" label="Use an absolute URI and print a message from the tag handler telling the type of URI that was used.No error should ocurr"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/tld_resource_path/positive_REL_URI.jsp" label="Test that the proper tld file is located when the URI in tha taglib directive is a relative URI">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/tld_resource_path/relative_uri.html" ignoreWhitespace="true" label="Use a relative URI and print a message from the tag handler telling the type of URI that was used.No error should ocurr"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/tld_resource_path/positive_NONREL_URI.jsp" label="Test that the proper tld file is located when the URI in tha taglib directive is a non relative URI">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/tld_resource_path/non-relative_uri.html" ignoreWhitespace="true" label="Use a non relative URI and print a message from the tag handler telling the type of URI that was used.No error should ocurr"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/tld_resource_path/positive_JAR_URI.jsp" label="Test that the proper tld file is located when the URI in tha taglib directive points to a jar file">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/tld_resource_path/jar_uri.html" ignoreWhitespace="true" label="Use a jar file in  URI and print a message from the tag handler telling the type of URI that was used.No error should ocurr"/>
  </validate>
  </request>
  <!--  End TLD Resource path  Tests -->
  <!-- Commented out to be fixed after Beta
  
        
  <request path="/jsp-tests/jsp/tagext/TagLibraryValidator/validate.jsp" label="Tests the working of Validator class for a taglib">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagLibraryValidator/validate.html" ignoreWhitespace="true" label="Tests if the prefix is more than 10 characters"/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/HelloWorld.jsp" label="Test if string Hello can be displayed ">
  <validate>
  <goldenFile fileName="${wgdir}/HelloWorld.html" ignoreWhitespace="true" label="Simple html display when no JSP tags are present"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveBeanNameClass.jsp" label="Declaring the bean with beanName as a class file, specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveBeanNameClass.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveBeanNameRes.jsp" label="Declaring the bean with beanName as a resource file, specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveBeanNameRes.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveBodyExists.jsp" label="Create a valid useBean tag in the JSP page with a non-empty body and with a class name that has already been created., specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveBodyExists.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveBodyNew.jsp" label="Create a valid useBean tag in the JSP page with a non-empty body. Ensure that the classname specified does not exist, specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveBodyNew.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveDupIDPage1.jsp" label="Create two useBean tags on different JSP pages with the same ID, and the scope attribute of each being set to 'page'. Access each page one after the other., specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveDupIDPage1.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveDupIDRequest1.jsp" label="Create two useBean tags on different JSP pages with the same ID, and the scope attribute of each being set to 'request'., specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveDupIDRequest1.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveNoBody.jsp" label="Create a valid useBean tag in the JSP page with no body., and the scope attribute of each being set to 'request'., specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveNoBody.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positivePageScope.jsp" label="Create the JSP page with useBean scope set to page. Access the page multiple times., specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positivePageScope.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  <!--
        
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveSessionScope.jsp" label="Create the JSP page with useBean scope set to page. Access the page multiple times., specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <statusCode label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/useBean/positiveTypeAssignable.jsp" label="Using 'class' and 'type' together in useBean tag. 'Class' is assignable to 'type'., specified in the Java Server Pages Specification v1.2, Sec 3.2.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/useBean/positiveTypeAssignable.html" ignoreWhitespace="true" label="Create a bean using useBean tag and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetPropParam.jsp?Name=MANGO" label="Create a valid useBean action in JSP. Set a specific property of that bean from the request using a &lt;jsp:setPropertyparam=paramname> action.  Then access that property., specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetPropParam.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetPropNoParam.jsp?str=SAPPOTA" label="Create a valid useBean action in JSP. Set a specific property of that bean from the request using a &lt;jsp:setProperty property='propName'> action. Then access that property with a request that contains a parameter with the same name as the Bean Name., specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetPropNoParam.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetPropValue.jsp" label="Create a valid useBean action in JSP. Set a specific property of that bean from the request using a &lt;jsp:setProperty value='propValue'> action.  Then access that property. , specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetPropValue.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetPropSingleQuotes.jsp" label="Use a scriptlet expression in single quotes as 'value' attribute in setProperty , specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetPropSingleQuotes.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveUseBeanInit.jsp" label="Create a valid useBean action. In the body of the action, put setProperty statements to set specific properties of the bean.Ensure that the bean class does not exist before calling this page. Call the page for the first time. , specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveUseBeanInit.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveUseBeanNext.jsp" label="Create a valid useBean action. In the body of the action, put setProperty statements to set specific properties of the bean.Ensure that the bean already exists. Call the page and check the value of the property that you have specified in the useBean body., specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveUseBeanNext.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetLongPrim.jsp" label="use a setProperty to set a primitive Long value in a bean and access it, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetLongPrim.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetLongObj.jsp" label="use a setProperty to set a object Long value in a bean and access it, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetLongObj.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetIntPrim.jsp" label="use a setProperty to set a Primitive Int value in a bean and access it, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetIntPrim.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetIntObj.jsp" label="use a setProperty to set a Integer value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetIntObj.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetIndexedProp.jsp" label="use a setProperty to set a Array (declared in the scriptlet) value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetIndexedProp.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetFloatObj.jsp" label="use a setProperty to set a Float value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetFloatObj.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetFloatPrim.jsp" label="use a setProperty to set a Float value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetFloatPrim.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetDoublePrim.jsp" label="use a setProperty to set a double value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetDoublePrim.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetDoubleObj.jsp" label="use a setProperty to set a Double value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetDoubleObj.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetCharPrim.jsp" label="use a setProperty to set a char value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetCharPrim.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetCharObj.jsp" label="use a setProperty to set a Character value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetCharObj.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetBooleanObj.jsp" label="use a setProperty to set a Boolean value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetBooleanObj.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetBooleanPrim.jsp" label="use a setProperty to set a boolean value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetBooleanPrim.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetByteObj.jsp" label="use a setProperty to set a Byte value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetByteObj.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetBytePrim.jsp" label="use a setProperty to set a byte value in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetBytePrim.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty and access using a scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/setProperty/positiveSetPropAll.jsp" label="Use a setProperty to set and access multiple properties in a bean, specified in the Java Server Pages Specification v1.2, Sec 3.2.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/setProperty/positiveSetPropAll.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use setProperty to set multiple properties"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/beantests/getProperty/positiveGetProps.jsp" label="Create a valid useBean tag in the JSP. Access one of its properties through a getProperty tag, specified in the Java Server Pages Specification v1.2, Sec 3.2.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/beantests/getProperty/positiveGetProps.html" ignoreWhitespace="true" label="Create a bean using useBean tag, use getProperty to access property"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkSession.jsp" label="checking 'session' is of type javax.servlet.HttpSession and also whether an identifier is assigned to this session or not, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkSession.html" ignoreWhitespace="true" label="checking for Session object state"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkConfig.jsp" label="Check if configuration information is being passed to the server page. Also checks whether it returns the initialization parameters as an Enumeration of Strings or as an empty enumeration., specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkConfig.html" ignoreWhitespace="true" label="checking for config object state"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkException.jsp" label="Checks whether 'exception' is of type java.lang.Throwable, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkException.html" ignoreWhitespace="true" label="checking for Exception object state"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkOut.jsp" label="Checks whether 'out' is of the type javax.servlet.jsp.JspWriter, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkOut.html" ignoreWhitespace="true" label="checking for out object type"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkPage.jsp" label="checking if this page is of the type java.lang.Object, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkPage.html" ignoreWhitespace="true" label="checking for page object type"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkPageContext.jsp" label="checking 'page' is of type javax.servlet.jsp.PageContext, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkPageContext.html" ignoreWhitespace="true" label="checking for pageContext object type"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkRequest.jsp?Years=2" label="checks whether 'request' is an instance of javax.servlet.ServletRequest, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkRequest.html" ignoreWhitespace="true" label="checking for request object type"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkResponse.jsp" label="Checks whether response is an object of type javax.servlet.ServletResponse, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkResponse.html" ignoreWhitespace="true" label="checking for response object type"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/implicitobjects/checkApplication.jsp" label="Returns true if application is of type javax.servlet.ServletContext, specified in the Java Server Pages Specification v1.2, Sec 2.9.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/implicitobjects/checkApplication.html" ignoreWhitespace="true" label="checking for application object type"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/declaration/positiveDeclaration.jsp" label="Test a JSP page with a valid Java declaration element., specified in the Java Server Pages Specification v1.2, Sec 2.12.1 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/declaration/positiveDeclaration.html" ignoreWhitespace="true" label="correct syntax is used in the declaration statement"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/expressions/positiveExpr.jsp" label="Test a JSP page with a valid expression element., specified in the Java Server Pages Specification v1.2, Sec 2.12.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/expressions/positiveExpr.html" ignoreWhitespace="true" label="correct syntax is used in the expression statement"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/expressions/positiveExprBean.jsp" label="Test a JSP page with a useBean tag and valid expression element., specified in the Java Server Pages Specification v1.2, Sec 2.12.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/expressions/positiveExprBean.html" ignoreWhitespace="true" label="correct syntax is used in the expression  with useBean tag"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/expressions/positiveExprComment.jsp" label="Create a JSP page with a JSP expression inserted into a HTML comment, specified in the Java Server Pages Specification v1.2, Sec 2.12.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/expressions/positiveExprComment.html" ignoreWhitespace="true" label="correct syntax is used in the expression  with HTML"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/expressions/positiveExprSyntax.jsp" label="Create an expression in the page with no space between the start tag and expression. Similarly have no space between the end of the expression and end tag, specified in the Java Server Pages Specification v1.2, Sec 2.12.3 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/expressions/positiveExprSyntax.html" ignoreWhitespace="true" label="correct syntax is used in the expression  with no space between tags"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/scriptlet/positiveScriptlet.jsp" label="Create a valid scriplet in the JSP page.Declare a variable and increment it, specified in the Java Server Pages Specification v1.2, Sec 2.12.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/scriptlet/positiveScriptlet.html" ignoreWhitespace="true" label="correct syntax is used in the scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/scriptlet/positiveScriptletComment.jsp" label="Create a valid scriplet in the JSP page.Declare a variable and increment it, specified in the Java Server Pages Specification v1.2, Sec 2.12.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/scriptlet/positiveScriptletComment.html" ignoreWhitespace="true" label="correct syntax is used in the scriptlet"/>
  </validate>
  </request>
  <!-- Test commented out as the JSP file contains invalid Java code in the scriptlet
        
  <request path="/jsp-tests/jsp/core_syntax/scripting/scriptlet/positiveScriptletLiteral.jsp" label="Create a valid scriptlet in a JSP page that includes the usual scriptlet end tag in a String literal.">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/scriptlet/positiveScriptletLiteral.html" ignoreWhitespace="true" label="correct syntax is used in the scriptlet"/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/scriptlet/positiveScriptletMultiline.jsp" label="Create a valid scriplet in JSP that spans multiple lines., specified in the Java Server Pages Specification v1.2, Sec 2.12.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/scriptlet/positiveScriptletMultiline.html" ignoreWhitespace="true" label="correct syntax is used in the multiline scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/scriptlet/positiveScriptletMultiline2.jsp" label="Testing with multiple scriptlets, which spans multiple lines in such a way that each starts and ends in the same line, specified in the Java Server Pages Specification v1.2, Sec 2.12.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/scriptlet/positiveScriptletMultiline2.html" ignoreWhitespace="true" label="correct syntax is used in the multiline scriptlet"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/scripting/scriptlet/positiveScriptletUseBean.jsp" label="Create a valid useBean action in the JSP.  After that,use a scriplet to change the value of a specific bean property. Send the new value of the property to outstream., specified in the Java Server Pages Specification v1.2, Sec 2.12.2 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/scripting/scriptlet/positiveScriptletUseBean.html" ignoreWhitespace="true" label="Use scriptlet to access the property of a bean"/>
  </validate>
  </request>
  <!-- Test commented out as the positiveDoubleQuotesXML gives error. jsp2XML tools needs more work; after Beta
  
        
  <request path="/jsp-tests/jsp/core_syntax/directives/forward/positiveDoubleQuotes.jsp" label="Checking request time attributes with a scriptlet expression in doublequotes to do forwarding, specified in the Java Server Pages Specification v1.2, Sec 3.2.5 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/forward/positiveDoubleQuotes.html" ignoreWhitespace="true" label="Test forward in a scriptlet expression"/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/core_syntax/directives/forward/positiveForwardRelHtml.jsp" label="We are testing for forwarding to static pages using &lt;jsp:forward page > tag. here we use relative path from current context  as   url., specified in the Java Server Pages Specification v1.2, Sec 3.2.5 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/forward/positiveForwardRelHtml.html" ignoreWhitespace="true" label="testing whether forwarding works using url relative to current context"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/include/positiveIncludeRel.jsp" label="Create a JSP page with the include attribute set for the jsp:request action with a relative URL. The included page should exist in the desired location, specified in the Java Server Pages Specification v1.2, Sec 3.2.4 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/include/positiveIncludeRel.html" ignoreWhitespace="true" label="testing if including of files work"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/content/positiveContenttype.jsp" label="Create a JSP page with the include attribute set for the jsp:request action with a relative URL. The included page should exist in the desired location, specified in the Java Server Pages Specification v1.2, Sec 3.2.4 ">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/content/positiveContenttype.html" ignoreWhitespace="true" label="testing if including of files work"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/errorpage/positiveErrorPage.jsp" label="Test with the errorPage directive and test for exception, specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/errorpage/positiveErrorPage.html" ignoreWhitespace="true" label="testing if errorpage directive works"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/extend/positiveExtends.jsp" label="we use extends directive to point our own defined class as super class to the jsp, specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/extend/positiveExtends.html" ignoreWhitespace="true" label="testing if extends directive works"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/imports/positiveImport.jsp" label="Use a jsp directive with 'language = java' and a valid import attribute. Use the imported package in the page., specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/imports/positiveImport.html" ignoreWhitespace="true" label="testing if extends directive works"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/info/positiveInfo.jsp" label="Set the value of the info attribute to a specific value.Then invoke the getServletInfo method on the current page's Servlet object, specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/info/positiveInfo.html" ignoreWhitespace="true" label="testing if info directive works"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/language/positiveLang.jsp" label="Use a jsp attribute in a page with the language attribute set to 'java', specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/language/positiveLang.html" ignoreWhitespace="true" label="testing if the language directive set to java cause any problem"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/session/positiveSession.jsp" label="Test the implicit session object and call one of its methods, specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <statusCode label="testing if implicit session object works"/>
  <regexp pattern="got true"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/session/positiveSessionDefault.jsp" label="Test to invoke a method on the implicit session object., specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <statusCode label="testing if implicit session object is available by default "/>
  <regexp pattern="got true"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/buffer/positiveBuffAutoflush.jsp" label="Set autoflush to true. Use default buffer size of 8kb. Write more than 8kb of data to the out object, specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <statusCode label="testing buffer AutoFlush  "/>
  <regexp pattern="5999"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/buffer/positiveBuffCreate.jsp" label="Create a buffer  size of say 12kb. Keep autoflush set to false(default).Write characters to the out object. Invoke the flush() method on out to flush the output to the client., specified in the Java Server Pages Specification v1.2, Sec 2.11.1">
  <validate>
  <statusCode label="testing buffer AutoFlush  "/>
  <regexp pattern="999"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspFactory/positiveGetDefaultFactory.jsp" label="A test for the static method getDefaultFactory, specified in the Java Server Pages Specification v1.2, Sec 8.1.6">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspFactory/positiveGetDefaultFactory.html" ignoreWhitespace="true" label="testing for a non null value for the default factory"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspFactory/positiveSetDefaultFactory.jsp" label="A test for the static method setDefaultFactory, specified in the Java Server Pages Specification v1.2, Sec 8.1.6">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspFactory/positiveSetDefaultFactory.html" ignoreWhitespace="true" label="testing for a non null value for the default factory"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspFactory/positiveGetPageContext.jsp" label="Use getDefaultFactory to get a valid factory object and call getPageContext and on the obtained object call a pagecontext method , specified in the Java Server Pages Specification v1.2, Sec 8.1.4">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspFactory/positiveGetPageContext.html" ignoreWhitespace="true" label="testing PageContext features with no compile time errors"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspFactory/positiveReleasePageContext.jsp" label="Create a pageContext object and using the method releasePageContext with the pageContext created , specified in the Java Server Pages Specification v1.2, Sec 8.1.4">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspFactory/positiveReleasePageContext.html" ignoreWhitespace="true" label="testing for null in PageContext features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/HttpJspPage/positiveJSPInitJSP.jsp" label="Override the jspInit in the jsp itself and test how getServletConfig method works, specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/HttpJspPage/positiveJSPInitJSP.html" ignoreWhitespace="true" label="testing HttpJspPage jspInit() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/HttpJspPage/positiveJSPInitExtends.jsp" label="Use extends directive to make the defined java class as the super class. now we check the result of getServletConfig, specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/HttpJspPage/positiveJSPInitExtends.html" ignoreWhitespace="true" label="testing HttpJspPage jspService() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveForward.jsp" label="Test the forward() method from a PageContext object, specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveForward.html" ignoreWhitespace="true" label="testing PageContext forward() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveGetAttributeAvbl.jsp" label="Test the getAttribute() from a PageContext object, specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveGetAttributeAvbl.html" ignoreWhitespace="true" label="testing PageContext getAttribute() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveGetAttributeNotAvbl.jsp" label="Test the getAttribute() of a non-existant PageContext object, specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveGetAttributeNotAvbl.html" ignoreWhitespace="true" label="testing PageContext getAttribute() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveGetAttributeNamesInScope.jsp" label="Test for the getAttributeNamesInScope method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveGetAttributeNamesInScope.html" ignoreWhitespace="true" label="testing PageContext getAttributeNamesInScope() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveGetAttributeScope.jsp" label="Test for the getAttributeScope method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveGetAttributeScope.html" ignoreWhitespace="true" label="testing PageContext getAttributeScope() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/checkGetSession.jsp" label="Test for the checkGetSession method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/checkGetSession.html" ignoreWhitespace="true" label="testing PageContext checkGetSession() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/checkGetResponse.jsp" label="Test for the checkGetResponse method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/checkGetResponse.html" ignoreWhitespace="true" label="testing PageContext checkGetResponse() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/checkGetRequest.jsp" label="Test for the checkGetRequest method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/checkGetRequest.html" ignoreWhitespace="true" label="testing PageContext checkGetRequest() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/checkGetServletContext.jsp" label="Test for the checkGetServletContext method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/checkGetServletContext.html" ignoreWhitespace="true" label="testing PageContext checkGetServletContext() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/checkGetServletConfig.jsp" label="Test for the checkGetServletConfig method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/checkGetServletConfig.html" ignoreWhitespace="true" label="testing PageContext checkGetServletConfig() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/checkGetOut.jsp" label="Test for the checkGetOut method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/checkGetOut.html" ignoreWhitespace="true" label="testing PageContext checkGetOut() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveInclude.jsp" label="Test for the positiveInclude method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveInclude.html" ignoreWhitespace="true" label="testing PageContext positiveInclude() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveRemoveAttribute.jsp" label="Test for the positiveRemoveAttribute method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveRemoveAttribute.html" ignoreWhitespace="true" label="testing PageContext positiveRemoveAttribute() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveSetAttribute.jsp" label="Test for the positiveSetAttribute method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveSetAttribute.html" ignoreWhitespace="true" label="testing PageContext positiveSetAttribute() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positiveSetAttributeInScope.jsp" label="Test for the positiveSetAttributeInScope method in a scriptlet., specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positiveSetAttributeInScope.html" ignoreWhitespace="true" label="testing PageContext positiveSetAttributeInScope() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positivePopBody.jsp" label="Test for popBody() which returns the previous JspWriter 'out' saved by the matching pushBody() and updates the value of the 'out' attribute in the page scope attribute namespace of the PageConxtext, specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positivePopBody.html" ignoreWhitespace="true" label="testing PageContext positivePopBody() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/PageContext/positivePushBody.jsp" label="Test for pushBody() which returns the new BodyJspWriter object and updates the value of the 'out' attribute in the page scope attribute namespace of the PageConxtext, specified in the Java Server Pages Specification v1.2, Sec 8.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/engine/PageContext/positivePushBody.html" ignoreWhitespace="true" label="testing PageContext positivePushBody() features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteCharArray1.jsp" label=" Test for JspWriter write(char c[]) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteCharArray1.html" ignoreWhitespace="true" label="testing JspWriter write(char c[]) features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteCharArray2.jsp" label="Test for JspWriter write(char[] c,int off,int len) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteCharArray2.html" ignoreWhitespace="true" label="testing JspWriter write(char[] c,int off,int len) features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteInt.jsp" label="Test for JspWriter write(int i) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteInt.html" ignoreWhitespace="true" label="testing JspWriter write(int i) features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteStr.jsp" label="Test for JspWriter write(java.lang.String str) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteStr.html" ignoreWhitespace="true" label="testing JspWriter write(java.lang.String str) features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteStrOffset.jsp" label="Test for JspWriter write(java.lang.String str,int off,int len) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteStrOffset.html" ignoreWhitespace="true" label="testing JspWriter write(java.lang.String str,int off,int len) features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteIntExt.jsp" label="Another test for JspWriter write(int i) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteIntExt.html" ignoreWhitespace="true" label="testing JspWriter write(int i) features "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteIntMaxValue.jsp" label="Another test for JspWriter write(int i) method with max value of the integer, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteIntMaxValue.html" ignoreWhitespace="true" label="testing JspWriter write(int i) with max value of the integer "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/write/positiveWriteIntLowBit.jsp" label="Another test for JspWriter write(int i) method where the upper two bytes are non-zero and lower two bytes constitute a valid ASCII character, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/write/positiveWriteIntLowBit.html" ignoreWhitespace="true" label="testing JspWriter write(int i) where the upper two bytes are non-zero and lower two bytes constitute a valid ASCII character"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintBoolean.jsp" label="Test for print(boolean b) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintBoolean.html" ignoreWhitespace="true" label="testing JspWriter print(boolean b) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintChar.jsp" label="Test for print(char c) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintChar.html" ignoreWhitespace="true" label="testing JspWriter print(char c) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintCharArray.jsp" label="Test for print(char[] c) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintCharArray.html" ignoreWhitespace="true" label="testing JspWriter print(char[] c) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintDouble.jsp" label="Test for print(double d) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintDouble.html" ignoreWhitespace="true" label="testing JspWriter print(double d) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintFloat.jsp" label="Test for print(float f) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintFloat.html" ignoreWhitespace="true" label="testing JspWriter print(float f) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintInt.jsp" label="Test for print(Int i) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintInt.html" ignoreWhitespace="true" label="testing JspWriter print(Int i) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintLong.jsp" label="Test for print(long l) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintLong.html" ignoreWhitespace="true" label="testing JspWriter print(long l) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintObj.jsp" label="Test for print(java.lang.Object obj) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintObj.html" ignoreWhitespace="true" label="testing JspWriter print(java.lang.Object obj) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintStr.jsp" label="Test for print(java.lang.String str) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintStr.html" ignoreWhitespace="true" label="testing JspWriter print(java.lang.String str) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintln.jsp" label="Test for println method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintln.html" ignoreWhitespace="true" label="testing JspWriter println features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnBoolean.jsp" label="Test for println(boolean b) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnBoolean.html" ignoreWhitespace="true" label="testing JspWriter println(boolean b) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnChar.jsp" label="Test for println(char c) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnChar.html" ignoreWhitespace="true" label="testing JspWriter println(char c) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnCharArray.jsp" label="Test for println(char c[]) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnCharArray.html" ignoreWhitespace="true" label="testing JspWriter println(char c[]) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnDouble.jsp" label="Test for println(double d) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnDouble.html" ignoreWhitespace="true" label="testing JspWriter println(double d) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnFloat.jsp" label="Test for println(float f) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnFloat.html" ignoreWhitespace="true" label="testing JspWriter println(float f) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnInt.jsp" label="Test for println(int i) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnInt.html" ignoreWhitespace="true" label="testing JspWriter println(int i) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnLong.jsp" label="Test for println(long l) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnLong.html" ignoreWhitespace="true" label="testing JspWriter println(long l) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnObj.jsp" label="Test for println(java.lang.Object obj) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnObj.html" ignoreWhitespace="true" label="testing JspWriter println(java.lang.Object obj) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintlnStr.jsp" label="Test for println(java.lang.String str) method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintlnStr.html" ignoreWhitespace="true" label="testing JspWriter println(java.lang.String str) features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintDoubleMaxBound.jsp" label="Test for printing max boundary value for double, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintDoubleMaxBound.html" ignoreWhitespace="true" label="testing JspWriter printing of max boundary value for double"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintDoubleMinBound.jsp" label="Test for printing min boundary value for double, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintDoubleMinBound.html" ignoreWhitespace="true" label="testing JspWriter printing of min boundary value for double"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintFloatMaxBound.jsp" label="Test for printing max boundary value for float, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintFloatMaxBound.html" ignoreWhitespace="true" label="testing JspWriter printing of max boundary value for float"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintFloatMinBound.jsp" label="Test for printing min boundary value for float, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintFloatMinBound.html" ignoreWhitespace="true" label="testing JspWriter printing of min boundary value for float"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintIntMaxBound.jsp" label="Test for printing max boundary value for int, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintIntMaxBound.html" ignoreWhitespace="true" label="testing JspWriter printing of max boundary value for int"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintIntMinBound.jsp" label="Test for printing min boundary value for int, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintIntMinBound.html" ignoreWhitespace="true" label="testing JspWriter printing of min boundary value for int"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintLongMaxBound.jsp" label="Test for printing max boundary value for long, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintLongMaxBound.html" ignoreWhitespace="true" label="testing JspWriter printing of max boundary value for long"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/print/positivePrintLongMinBound.jsp" label="Test for printing min boundary value for long, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/print/positivePrintLongMinBound.html" ignoreWhitespace="true" label="testing JspWriter printing of min boundary value for long"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/misc/positiveClear.jsp" label="Test for clear() method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/misc/positiveClear.html" ignoreWhitespace="true" label="testing JspWriter clear() features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/misc/positiveFlush.jsp" label="Test for flush() method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/misc/positiveFlush.html" ignoreWhitespace="true" label="testing JspWriter flush() features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/misc/positiveGetBufferSize.jsp" label="Test buffer size with buffer directive using the getBufferSize() method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/misc/positiveGetBufferSize.html" ignoreWhitespace="true" label="testing JspWriter getBufferSize() features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/misc/positiveGetBufferSizeUnBuffered.jsp" label="Test buffer size to 'none' with buffer directive using the getBufferSize() method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/misc/positiveGetBufferSizeUnBuffered.html" ignoreWhitespace="true" label="testing JspWriter getBufferSize() features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/misc/positiveGetRemaining.jsp" label="Test buffer size with buffer directive using the getRemaining() method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/misc/positiveGetRemaining.html" ignoreWhitespace="true" label="testing JspWriter getRemaining() features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/misc/positiveGetRemainingBufferUnset.jsp" label="Test buffer size set to 'none' with buffer directive using the getRemaining() method, specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/misc/positiveGetRemainingBufferUnset.html" ignoreWhitespace="true" label="testing JspWriter getRemaining() features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/engine/JspWriter/misc/positiveIsAutoFlush.jsp" label="Test the isAutoFlush() method when autoflush directive is set to 'true', specified in the Java Server Pages Specification v1.2, Sec 8.1.2">
  <validate>
  <goldenFile fileName="${wgdir}/engine/JspWriter/misc/positiveIsAutoFlush.html" ignoreWhitespace="true" label="testing JspWriter isAutoFlush() features"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/imports/implicitImportLang.jsp" label="Test for implicit import of 'java' by checking for some class in Lang, specified in the Java Server Pages Specification v1.2, Sec 2.11.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/imports/implicitImportLang.html" ignoreWhitespace="true" label="testing page directive implicit import of 'java' as the scripting language "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/imports/implicitImportJsp.jsp" label="Test for implicit import of 'java' by checking for some class in Lang, specified in the Java Server Pages Specification v1.2, Sec 2.11.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/imports/implicitImportJsp.html" ignoreWhitespace="true" label="testing page directive implicit import of 'java' as the scripting language "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/imports/implicitImportServlet.jsp" label="Test for implicit import of 'javax.servlet' by checking for servlet class, specified in the Java Server Pages Specification v1.2, Sec 2.11.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/imports/implicitImportServlet.html" ignoreWhitespace="true" label="testing page directive implicit import of servlet package "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/core_syntax/directives/page/imports/implicitImportHttp.jsp" label="Test for implicit import of 'javax.servlet' by checking for servlet class, specified in the Java Server Pages Specification v1.2, Sec 2.11.1.1">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/page/imports/implicitImportHttp.html" ignoreWhitespace="true" label="testing page directive implicit import of servlet package "/>
  </validate>
  </request>
  <!-- ###commented ..has to be debugged
        
  <request path="/jsp-tests/jsp/core_syntax/directives/taglib/positiveTagLib.jsp" label="Test for the taglib directive with a valid uri, specified in the Java Server Pages Specification v1.2, Sec 2.11.2">
  <validate>
  <goldenFile fileName="${wgdir}/core_syntax/directives/taglib/positiveTagLib.html" ignoreWhitespace="true" label="testing taglib directive with a valid uri"/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveGetValues.jsp" label="Test for getValues() method which returns an enumeration and print the contents, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveGetValues.html" ignoreWhitespace="true" label="testing TagSupport getValues() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/default_return_values.jsp " label="Tests if the default values are returned from the methods of TagSupport class">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/default_return_values.html" ignoreWhitespace="true" label="testing TagSupport default return values by calling supe.FunctionName"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveDoEndTag.jsp
  " label="Tests that doEndTag metjod is called when the end of the tag is found">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveDoEndTag.html" ignoreWhitespace="true" label="testing TagSupport doEndTag method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveSetGetId.jsp" label="Test for setId and getId methods of TagSupport">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveSetGetId.html" ignoreWhitespace="true" label="testing TagSupport getId and setId in the same test"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positivefindAncestorWithClass.jsp" label="Test for Nested classes. Tests the findAncestorWithClass method for TagSupport">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positivefindAncestorWithClass.html" ignoreWhitespace="true" label="Testing TagSupport.findAncestorWithClass method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/misc/persistentValues.jsp" label="Tests if the attribute values are retaines when tags are nested inside a tag">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/misc/persistentValues.html" ignoreWhitespace="true" label="testing persistence of tag attributes"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/misc/request_time_attributes.jsp" label="Tests the order of evaluation of the expressions if attribute values are runtime expressions">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/misc/request_time_attributes.html" ignoreWhitespace="true" label="testing associativity of expression evaluation"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveGetValue.jsp" label="Test for getValue() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveGetValue.html" ignoreWhitespace="true" label="testing TagSupport getValue() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveRemoveValue.jsp" label="Test for removeValue() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveRemoveValue.html" ignoreWhitespace="true" label="testing TagSupport removeValue() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveSetValue.jsp" label="Test for setValue() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveSetValue.html" ignoreWhitespace="true" label="testing TagSupport setValue() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveGetParent.jsp" label="Test for getParent() method which returns the parent class name, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveGetParent.html" ignoreWhitespace="true" label="testing TagSupport getParent() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveDoStartTag.jsp" label="Test for checking if doStartTag() is called correctly, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveDoStartTag.html" ignoreWhitespace="true" label="testing TagSupport doStartTag() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveSetPageContext.jsp" label="Test if setPageContext() can be used to set the page context.Using this page context obj set an attribute which is passed to the jsp page, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveSetPageContext.html" ignoreWhitespace="true" label="testing TagSupport setPageContext() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagSupport/positiveDoAfterBody.jsp" label="testing TagSupport DoAfterBody method">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagSupport/positiveDoAfterBody.html" ignoreWhitespace="true" label="Test the DoAfterBody method of the TagSupport class.	 Create a Tag handler that outputs a message a given number of times from the DoAFterBody"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/BodyContent/positiveGetEnclosingWriter.jsp" label="Test for getParent() method which returns the parent class name, specified in the Java Server Pages Specification v1.2, Sec 6.4.3">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/BodyContent/positiveGetEnclosingWriter.html" ignoreWhitespace="true" label="testing BodyContent getParent() method "/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/BodyContent/positiveGetReader.jsp" label="Test getReader() method using the BodyContent object, specified in the Java Server Pages Specification v1.2, Sec 6.4.5">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/BodyContent/positiveGetReader.html" ignoreWhitespace="true" label="testing BodyContent getReader() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/BodyContent/positiveGetString.jsp" label="Test getString() method using the BodyContent object, specified in the Java Server Pages Specification v1.2, Sec 6.4.5">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/BodyContent/positiveGetString.html" ignoreWhitespace="true" label="testing BodyContent getString() method"/>
  </validate>
  </request>
  <!-- ##commented...has to be debugged
        
  <request path="/jsp-tests/jsp/tagext/BodyTagSupport/positiveDoInitBody.jsp" label="Test doInitBody() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.6">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/BodyTagSupport/positiveDoInitBody.html" ignoreWhitespace="true" label="testing BodyTagSupport doInitBody() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/BodyTagSupport/positiveDoAfterBody.jsp" label="Test doAfterBody() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.6">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/BodyTagSupport/positiveDoAfterBody.html" ignoreWhitespace="true" label="testing BodyTagSupport doAfterBody() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/BodyTagSupport/positiveDoEndTag.jsp" label="Test doEndTag() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.6">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/BodyTagSupport/positiveDoEndTag.html" ignoreWhitespace="true" label="testing BodyTagSupport doEndTag() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/BodyTagSupport/positiveRelease.jsp" label="Test release() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.6">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/BodyTagSupport/positiveRelease.html" ignoreWhitespace="true" label="testing BodyTagSupport release() method"/>
  </validate>
  </request>
  
  ##Commented till here  -->
  
  <request path="/jsp-tests/jsp/tagext/TagData/positiveTagGetAttribute.jsp" label="Test a TagData object by passing a hashtable and printing the contents of the hashtable using the getAttribute() method of TagData., specified in the Java Server Pages Specification v1.2, Sec 6.4.1">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagData/positiveTagGetAttribute.html" ignoreWhitespace="true" label="testing TagData release() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagData/positiveTagSetAttribute.jsp" label="Test a TagData object by passing a hashtable created using setAttribute() method of the TagData and print the contents of the hashtable, specified in the Java Server Pages Specification v1.2, Sec 6.4.1">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagData/positiveTagSetAttribute.html" ignoreWhitespace="true" label="testing TagData setAttribute() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/TagData/positiveTagGetAttributeString.jsp" label="Test a TagData object by passing a hashtable created using setAttribute() method of the TagData and print the contents of the hashtable using the getAttributeString() method, specified in the Java Server Pages Specification v1.2, Sec 6.4.1">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/TagData/positiveTagGetAttributeString.html" ignoreWhitespace="true" label="testing TagData getAttributeString() method"/>
  </validate>
  </request>
  <!-- ##Commented ....has to be debugged
        
  <request path="/jsp-tests/jsp/tagext/VariableInfo/positiveGetVarName.jsp" label="Test the getVarName() method by creating a VariableInfo object in the TestTagExtraInfo class., specified in the Java Server Pages Specification v1.2, Sec 6.5.1">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/VariableInfo/positiveGetVarName.html" ignoreWhitespace="true" label="testing VariableInfo getVarName() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/VariableInfo/positiveGetScope.jsp" label="Test the getScope() method by creating a VariableInfo object in the TestTagExtraInfo class., specified in the Java Server Pages Specification v1.2, Sec 6.5.1">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/VariableInfo/positiveGetScope.html" ignoreWhitespace="true" label="testing VariableInfo getScope() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/VariableInfo/positiveGetDeclare.jsp" label="Test the getDeclare() method by creating a VariableInfo object in the TestTagExtraInfo class, specified in the Java Server Pages Specification v1.2, Sec 6.5.1">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/VariableInfo/positiveGetDeclare.html" ignoreWhitespace="true" label="testing VariableInfo getDeclare() method"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/VariableInfo/positiveGetClassName.jsp" label="Test the getClassName() method by creating a VariableInfo object in the TestTagExtraInfo class, specified in the Java Server Pages Specification v1.2, Sec 6.5.1">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/VariableInfo/positiveGetClassName.html" ignoreWhitespace="true" label="testing VariableInfo getClassName() method"/>
  </validate>
  </request>
  
  ##commented till here  -->
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_attr_setting_1.jsp" label="Test that attribute setting is as wanted, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_attr_setting_1.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  <!-- ##Commented ..has to be debugged
        
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_attr_setting_2.jsp" label="Test that attribute setting is as wanted and intermix some different tags, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_attr_setting_2.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_attr_setting_3.jsp" label="Another test for attribute setting intermixed with some different tags, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_attr_setting_3.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  ## Commented till here  -->
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_check_BodyContent_1.jsp" label="Check that BodyContent provides access to the proper information, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_check_BodyContent_1.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_check_BodyContent_2.jsp" label="Check that BodyContent provides access to the proper information, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_check_BodyContent_2.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_check_BodyContent_3.jsp" label="Check that BodyContent provides access to the proper information, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_check_BodyContent_3.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_check_BodyContent_4.jsp" label="Check that BodyContent provides access to the proper information, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_check_BodyContent_4.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_check_BodyContent_5.jsp" label="Check that BodyContent provides access to the proper information, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_check_BodyContent_5.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_check_comments_1.jsp" label="Check that comments are processed correctly, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_check_comments_1.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_check_comments_2.jsp" label="Check that comments are processed correctly, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_check_comments_2.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_doEndTag_skip_page.jsp" label="Test for doEndTag SKIP_PAGE, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_doEndTag_skip_page.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_doStart_eval_body_include.jsp" label="Test for doStartTag EVAL_BODY_INCLUDE, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_doStart_eval_body_include.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_doStart_skip_body.jsp" label="Test for doStartTag SKIP_BODY, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_doStart_skip_body.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  <!--
  
        
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_doStart_skip_page.jsp" label="Test for doEndTag SKIP_PAGE, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_doStart_skip_page.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_ignoreBody.jsp" label="Test for translation-time verification.  Test that a tag is passed (at translation time) correct TagInfo data. Body will be ignored, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_ignoreBody.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_int.jsp" label="Test for defining an int variable, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_int.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  <!--
        
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_nonempty_body_1.jsp" label="Test for translation-time verification. Verify that a non-empty body can be passed. The body will be ignored, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_nonempty_body_1.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_nonempty_body_2.jsp" label="Test for translation-time verification. Verify that single and double quotes can be used.  Verify that a non-empty body can be passed The body will be ignored, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_nonempty_body_2.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_positiveBody.jsp" label="Test for translation-time verification. Test that a tag is passed (at translation time) correct TagInfo data, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_positiveBody.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  -->
  
  <request path="/jsp-tests/jsp/tagext/LifeCycle/tag_translationtime_verify_1.jsp" label="Test for translation-time verification, specified in the Java Server Pages Specification v1.2, Sec 6.4.7">
  <validate>
  <goldenFile fileName="${wgdir}/tagext/LifeCycle/tag_translationtime_verify_1.html" ignoreWhitespace="true" label="testing LifeCycle process"/>
  </validate>
  </request>
  <!-- All below JSP negative tests have been commented out till they get fixed
  
        <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/useBean/negativeBody.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/useBean/negativeDupID.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/useBean/negativeDupIDSession1.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/useBean/negativeInvalidClass.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/useBean/negativeNoBody.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/setProperty/negativeSetPropNotWrite.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/setProperty/negativeSetPropNotProperty.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/setProperty/negativePropSyntax.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/getProperty/negativeGetPropNotRead.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/getProperty/negativeGetPropNotProperty.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/beantests/getProperty/negativeGetProps.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  <gtest request="GET /jsp-tests/jsp/core_syntax/scripting/declaration/negativeDeclarationSyn.jsp HTTP/1.0"
             
             returnCode="HTTP/1.0 500" />
  -->
  <!-- sample of all the various test options allowed
      <gtest description="Content Type Test"
             request="GET /test/binaries/image1.gif HTTP/1.0"
             <goldenFile fileName="${gdir}/image1.gif" ignoreWhitespace="true"/>
  <regexp pattern="PreInclude"/>
             expectHeaders="Content-Type:image/gif" />
             exactMatch="true"  />
  -->
  </suite>
  
  
  1.1                  jakarta-commons/latka/src/distribution/tests/watchdog/processWatchdogServlet.pl
  
  Index: processWatchdogServlet.pl
  ===================================================================
  while (<STDIN>) {
    $doc .= $_;
  }
  
  print qq'<?xml version="1.0" standalone="no"?>\n';
  print qq'<!DOCTYPE suite SYSTEM "../conf/suite.dtd">\n';
  print qq'<suite defaultHost="localhost" defaultPort="8080" label="Watchdog Servlet tests">';
  
  # remove junk
  $doc =~ s#<property .*?/>##sg;
  $doc =~ s#<taskdef .*?/>##sg;
  $doc =~ s#</?target.*?>##sg;
  $doc =~ s#</?project.*?>##sg;
  
  # fix me - create sessions for each test category
  $doc =~ s#testName=\".*?\"##sg;
  
  # this is never relevant - latka has other ways to handle this
  $doc =~ s#debug="0" host="\${host}" port ?="\${port}"##sg;
  
  # make every gtest into a request
  $doc =~ s#<gtest request="GET (.*?) HTTP/1.0"(.*?)assertion="(.*?)"\s*?testStrategy="(.*?)"\s*?/>#<request path="$1" label="$3">\n<validate>\n<TEMPLABEL>$4</TEMPLABEL>\n$2</validate>\n</request>#sg;
  
  # for gtests with no description
  $doc =~ s#<gtest request="GET (.*?) HTTP/1.0"(.*?)/>#<request path="$1">\n<validate>\n$2</validate>\n</request>#sg;
  
  # for gtests with no description
  $doc =~ s#<gtest request="POST (.*?) HTTP/1.0"(.*?)/>#<request path="$1" method="post">\n<validate>\n$2</validate>\n</request>#sg;
  
  # for gtests with no description
  $doc =~ s#<gtest request="HEAD (.*?) HTTP/1.0"(.*?)/>#<request path="$1" method="head">\n<validate>\n$2</validate>\n</request>#sg;
  
  $doc =~ s#returncode="200"#<statusCode/>#sgi;
  $doc =~ s#returncode="HTTP/1.0 200 OK"#<statusCode/>#sgi;
  $doc =~ s#returncode="500"#<statusCode code="500"/>#sgi;
  $doc =~ s#goldenFile="(.*?)"#<goldenFile fileName="$1" ignoreWhitespace="true"/>#sg;
  $doc =~ s#responseMatch="(.*?)"#<regexp pattern="$1"/>#sg;
  $doc =~ s#expectHeaders="(.*?):(.*?)"#<responseHeader headerName="$1" headerValue="$2"/>#sg;
  $doc =~ s#<validate>\s*requestHeaders="(.*?):(.*?)"#<requestHeader headerName="$1" headerValue="$2"/>\n<validate>#sg;
  
  # what does this test do?
  $doc =~ s#content="(.*?)"#<!-- what does this gtest parameter do? \n content="$1" -->#sg;
  
  # for tests with no validations, assume 200 check
  $doc =~ s#<validate>\s*</validate>#<validate>\n<statusCode/>\n</validate>#sg;
  $doc =~ s#</TEMPLABEL>\s*</validate>#</TEMPLABEL>\n<statusCode/>\n</validate>#sg;
  
  # apply the label to the first test
  $doc =~ s#<validate>\s*<TEMPLABEL>(.*?)</TEMPLABEL>\s*?(<[^>]*?)/>#<validate>\n$2 label="$1"/>#sg;
  
  
  
  print $doc;
  
  print "\n</suite>";
  
  #now someone beautify me and we're done
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/tests/watchdog/processWatchdogJSP.pl
  
  Index: processWatchdogJSP.pl
  ===================================================================
  while (<STDIN>) {
    $doc .= $_;
  }
  
  print qq'<?xml version="1.0" standalone="no"?>\n';
  print qq'<!DOCTYPE suite SYSTEM "../conf/suite.dtd">\n';
  print qq'<suite defaultHost="localhost" defaultPort="8080" label="Watchdog JSP tests">';
  
  # remove junk
  $doc =~ s#<property .*?/>##sg;
  $doc =~ s#<taskdef .*?/>##sg;
  $doc =~ s#</?target.*?>##sg;
  $doc =~ s#</?project.*?>##sg;
  
  # fix me - create sessions for each test category
  $doc =~ s#testName=\".*?\"##sg;
  
  # this is never relevant - latka has other ways to handle this
  $doc =~ s#debug="0" host="\${host}" port ?="\${port}"##sg;
  
  # make every gtest into a request
  $doc =~ s#<gtest request="GET (.*?) HTTP/1.0"(.*?)assertion="(.*?)"\s*?testStrategy="(.*?)"\s*?/>#<request path="$1" label="$3">\n<validate>\n<TEMPLABEL>$4</TEMPLABEL>\n$2</validate>\n</request>#sg;
  
  $doc =~ s#returncode="200"#<statusCode/>#sgi;
  $doc =~ s#returncode="HTTP/1.0 200 OK"#<statusCode/>#sgi;
  $doc =~ s#returncode="500"#<statusCode code="500"/>#sgi;
  $doc =~ s#goldenFile="(.*?)"#<goldenFile fileName="$1" ignoreWhitespace="true"/>#sg;
  $doc =~ s#responseMatch="(.*?)"#<regexp pattern="$1"/>#sg;
  
  # apply the label to the first test
  $doc =~ s#<validate>\s*<TEMPLABEL>(.*?)</TEMPLABEL>\s*?(<[^>]*?)/>#<validate>\n$2 label="$1"/>#sg;
  
  
  
  print $doc;
  
  print "\n</suite>";
  
  #now someone beautify me and we're done
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/tests/samples/TestTaglibsWebsite.xml
  
  Index: TestTaglibsWebsite.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE suite SYSTEM "../../conf/suite.dtd">
  <suite defaultHost="jakarta.apache.org" label="Tablibs">
  
    <!-- confirm that docs for all Jakarta Taglibs are present -->
  
    <request path="/taglibs" label="home page">
      <validate>
        &commonValidations;
        <regexp pattern="Welcome to Jakarta Taglibs!"/>
      </validate>
    </request>
  
    <request path="/taglibs/doc/application-doc/intro.html" label="Application Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/benchmark-doc/intro.html" label="Benchmark Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/bsf-doc/intro.html" label="BSF Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/datetime-doc/intro.html" label="DateTime Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/dbtags-doc/intro.html" label="DBTags Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/i18n-doc/intro.html" label="I18N Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/input-doc/intro.html" label="Input Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>  
  
    <request path="/taglibs/doc/io-doc/intro.html" label="IO Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/jndi-doc/intro.html" label="JNDI Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/jsptl-doc/intro.html" label="JSPTL Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/mailer-doc/intro.html" label="Mailer Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/page-doc/intro.html" label="Page Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
    
    <request path="/taglibs/doc/random-doc/intro.html" label="Random Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/regexp-doc/intro.html" label="Regexp Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/request-doc/intro.html" label="Request Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/response-doc/intro.html" label="Response Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/scrape-doc/intro.html" label="Scrape Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/session-doc/intro.html" label="Session Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/utility-doc/intro.html" label="Utility Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/xsl-doc/intro.html" label="XSL Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/taglibs/doc/xtags-doc/intro.html" label="XTags Taglib">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
  </suite>
  
  
  1.1                  jakarta-commons/latka/src/distribution/tests/samples/TestCommonsWebsite.xml
  
  Index: TestCommonsWebsite.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE suite PUBLIC
      "-//Apache Software Foundation/DTD Latka Test Suite 1.0/EN"
      "http://jakarta.apache.org/commons/latka/dtds/1.0/suite.dtd">
  <suite defaultHost="jakarta.apache.org" label="Taglibs">
  
    <!-- confirm that docs for all Jakarta Commons components are present -->
  
    <request path="/commons" label="home page">
      <validate>
        &commonValidations;
        <regexp pattern="Welcome to the Commons!"/>
      </validate>
    </request>
  
    <request path="/commons/beanutils.html" label="BeanUtils">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/commons/cactus/index.html" label="Cactus">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/commons/collections.html" label="Collections">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/commons/digester/index.html" label="Digester">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/commons/dbcp/index.html" label="DBCP">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/commons/httpclient/index.html" label="HTTPClient">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/commons/latka/index.html" label="Latka">
      <validate>
        &commonValidations;
      </validate>
    </request>
  
    <request path="/commons/pool/index.html" label="Pool">
      <validate>
        &commonValidations;
      </validate>
    </request>  
  
  </suite>
  
  
  1.1                  jakarta-commons/latka/src/distribution/tests/latka-self-test/TestLatka.xml
  
  Index: TestLatka.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE suite SYSTEM "../../conf/suite.dtd">
  <suite defaultHost="${defaultHost}" defaultPort="${defaultPort}" 
      label="Latka self-diagnostics">
  
    <!-- 
      functional tests that Latka can run on itself,
      using JSPs included in the Latka webapp.
      You can actually run this test from the web interface
      to have the webapp test its own jar.  :)
    -->
  
    <!-- START HEADER CHECKS -->
    <session>
  
      <!-- first request should not set a referer -->
      <request path="${latkaContext}/self-test/snoop/RequestHeaders.jsp" label="no referer 1">
        <validate>
          <regexp pattern="referer" cond="false"/>
        </validate>
      </request>
  
      <!-- second should refer to the first -->
      <request path="${latkaContext}/self-test/snoop/RequestHeaders.jsp" label="referer">
        <validate>
          <regexp pattern="referer:"/>
          <regexp pattern="${latkaContext}/self-test/snoop/RequestHeaders.jsp"/>
        </validate>
      </request>
  
    </session>
    
    <!-- no referer for requests outside of a session -->
    <request path="${latkaContext}/self-test/RequestHeaders.jsp" label="no referer 2">
      <validate>
        <regexp pattern="referer" cond="false"/>
      </validate>
    </request>
  
    <session>
      <!-- checks single header and makes sure that referer can be overridden
           in a session -->
      <request path="${latkaContext}/self-test/snoop/RequestHeaders.jsp" label="single request header">
        <requestHeader headerName="referer" headerValue="Foo"/>
        <validate>
          <regexp pattern="Foo"/>
        </validate>
      </request>
  
      <request path="${latkaContext}/self-test/snoop/RequestHeaders.jsp" label="multi request header">
        <requestHeader headerName="referer" headerValue="Foo"/>
        <requestHeader headerName="customheader1" headerValue="Bar"/>
        <requestHeader headerName="customheader2" headerValue="Bar2"/>
        <validate>
          <regexp pattern="Foo"/>
          <regexp pattern="Bar"/>
          <regexp pattern="Bar2"/>
        </validate>
      </request>
  
      <!-- verify that header tests are case-insensitive -->
      <request path="${latkaContext}/self-test/snoop/RequestHeaders.jsp"
          label="case-insensitive headers">
        <validate>
          <responseHeader headerName="Date" label="Date spelling"/>
          <responseHeader headerName="date" label="date spelling"/>
          <responseHeader headerName="dATE" label="dATE spelling"/>
        </validate>
      </request>
  
    </session>
  
    <!--END HEADER TESTS -->
    
    <!-- START SESSION TESTS -->
    
    <!-- verify that cookies are preserved correctly -->
    <session sessionId="corporatePants">
    
      <!-- server sets a cookie in the session -->
      <request path="${latkaContext}/self-test/cookies/SetCookie.jsp" 
          label="set a cookie">      
        <param>
          <paramName>cookieName</paramName>
          <paramValue>foo</paramValue>
        </param>
        <param>
          <paramName>cookieValue</paramName>
          <paramValue>bar</paramValue>
        </param>
        <validate>
          <regexp pattern="Cookie added; name=foo; value=bar"/>
          <regexp pattern="Cookie path: /"/>
          <regexp pattern="Cookie domain: localhost"/>
          <cookie name="foo" value="bar" 
            label="verify that HttpClient assigned 'foo' cookie to the session"/> 
        </validate>
      </request>
      
      <!-- make sure we received the cookie -->
      <request path="${latkaContext}/self-test/snoop/Cookies.jsp" 
          label="cookie should be in the originating session">
        <validate>
          <regexp pattern="foo:bar"/>
        </validate>
      </request>
    
    </session>
    
    <session>
    
      <!-- 
        this request shouldn't have the cookie, because it's in
        a different session
      -->   
      <request path="${latkaContext}/self-test/snoop/Cookies.jsp"
          label="cookie should not be in a different session">
        <validate>
          <regexp pattern="foo:bar" cond="false"/>
        </validate>
      </request>
      
    </session>
    
    <session sessionId="corporatePants">
  
      <!-- 
        but this one should, because it's using the cached
        "corporatePants" session
      -->   
      <request path="${latkaContext}/self-test/snoop/Cookies.jsp"
          label="cookie should still be in a cached session">
        <validate>
          <regexp pattern="foo:bar"/>
        </validate>
      </request>
    
    </session>
    
    <!-- END SESSION TESTS -->
  
    <!-- START INTERNAL REDIRECT TESTS -->
    <session>
    
      <!-- verify that HTTPClient processes redirects correctly -->
      <request path="${latkaContext}/self-test/redirect/InternalRedirect.jsp"
               label="internal redirects function correctly">
        <validate>
          <regexp pattern="Received redirect\."/>
        </validate> 
      </request>
      
      <!-- 
        verify that Latka sends the correct referer (i.e. the _target_
        of the previous redirect, NOT the original request 
      -->
      <request path="${latkaContext}/self-test/redirect/PrintReferer.jsp"
               label="Latka sends the correct referer">
        <validate>
          <regexp pattern="${latkaContext}/self-test/redirect/RedirectTarget.jsp"/>
        </validate>
      </request>         
    
    </session>
    
    <!-- START EXTERNAL REDIRECT TESTS -->
  
      <request path="${latkaContext}/self-test/redirect/ExternalRedirect.jsp"
          label="should follow redirects to other servers">
        <validate>
          <statusCode/>
          <regexp pattern="Latka" ignoreCase="true"/>
        </validate>
      </request>
  
    <!-- END EXTERNAL REDIRECT TESTS -->
  
  
    <!-- START BASIC AUTH TESTS -->
  
    <request path="${latkaContext}/self-test/basicAuth/Login.jsp" label="not logged in">
      <validate>
        <statusCode code="401" label="Without credentials, status code should be 401"/>
      </validate>
    </request>
  
    <!-- 
      in order for these tests to succeed, you must configure the latka roles
      and MisterSmiley user in your servlet container.  For tomcat, this is:
          <user name="MisterSmiley" password="smiley!1" roles="latka-auth" />
    -->
    <session sessionId="authSession">
      <request path="${latkaContext}/self-test/basicAuth/Login.jsp" label="logged in">
        <credentials userName="MisterSmiley" password="smiley!1" />
        <validate>
          <regexp pattern="Logged in"/>
        </validate> 
      </request>
  
      <request path="${latkaContext}/self-test/basicAuth/Login.jsp" label="cached credentials">
        <validate>
          <regexp pattern="Logged in" label="should still be logged in"/>
        </validate> 
      </request>
    </session>    
  
    <!-- outside a session, credentials should not be preserved -->
    <request path="${latkaContext}/self-test/basicAuth/Login.jsp" label="still not logged in">
      <validate>
        <statusCode code="401" label="Without credentials, status code should be 401"/>
      </validate>
    </request>
  
    <session sessionId="authSession">
  
      <request path="${latkaContext}/self-test/basicAuth/Login.jsp" label="credentials in a cached session">
        <validate>
          <regexp pattern="Logged in" label="should still be logged in"/>
        </validate> 
      </request>
  
    </session>    
  
    <!-- END BASIC AUTH CHECKS -->
  
  </suite>
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/conf/tests.ent
  
  Index: tests.ent
  ===================================================================
  
  <!ENTITY % custom-tests.ent SYSTEM "custom-tests.ent">
  %custom-tests.ent;
  
  <!-- all Latka test top level elements are here -->
  <!ENTITY % tests "byteLength | cookie | goldenFile | maxRequestTime | regexp | 
                    responseHeader | statusCode | xpath">
  
  <!ELEMENT byteLength EMPTY>
  <!ATTLIST byteLength min   CDATA "0"
                        max   CDATA #IMPLIED
                        label CDATA #IMPLIED>
  
  <!-- start cookie validator-->
  <!ELEMENT cookie EMPTY>
  <!ATTLIST cookie name  CDATA #REQUIRED
                   value CDATA #IMPLIED
                   label CDATA #IMPLIED>
  <!-- end cookie validator -->
  
  <!ELEMENT goldenFile EMPTY>
  <!ATTLIST goldenFile fileName         CDATA          #REQUIRED
                        ignoreWhitespace (true | false) "false"
                        label            CDATA          #IMPLIED>
  
  <!ELEMENT maxRequestTime EMPTY>
  <!-- defaults to 30 seconds -->
  <!ATTLIST maxRequestTime millis CDATA "30000"
                             label  CDATA #IMPLIED>
  
  <!ELEMENT regexp EMPTY>
  <!ATTLIST regexp pattern    CDATA          #REQUIRED
                   cond       (true | false) "true"
                   ignoreCase (true | false) "false"
                   label      CDATA          #IMPLIED>
  
  <!-- 
    if you omit the headerValue, Latka assumes that you
    simply want to make sure the header exists 
  -->
  <!ELEMENT responseHeader EMPTY>
  <!ATTLIST responseHeader headerName  CDATA #REQUIRED
                           headerValue CDATA #IMPLIED
                           label       CDATA #IMPLIED>
  
  <!ELEMENT statusCode EMPTY>
  <!ATTLIST statusCode code  CDATA "200"
                        label CDATA #IMPLIED>
  
  <!ELEMENT xpath EMPTY>
  <!ATTLIST xpath select    CDATA          #REQUIRED
                  cond       (true | false) "true"
                  value     CDATA          #IMPLIED  
                  label     CDATA          #IMPLIED>
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/conf/suite.ent
  
  Index: suite.ent
  ===================================================================
  <!-- entities -->
  <!ENTITY % standardValidations.ent SYSTEM "standardValidations.ent">
  %standardValidations.ent;
  
  <!-- validations and custom tests
       alter this file to add new custom tests -->
  <!ENTITY % tests.ent SYSTEM "tests.ent">
  %tests.ent;
  
  <!ELEMENT suite ( (session | request)+ )>
  <!ATTLIST suite defaultHost  CDATA #IMPLIED
                  defaultPort  CDATA #IMPLIED
                  label        CDATA #IMPLIED>
  
  <!ELEMENT session (request+)>
  <!-- tests that use the same session_id share the same environment -->
  <!ATTLIST session sessionId CDATA #IMPLIED
                    label      CDATA #IMPLIED>
  
  <!ELEMENT request (credentials?, requestHeader*, param*, validate?)>
  <!ATTLIST request path   CDATA           #REQUIRED
                    method (post | get | head)   "get"
                    secure (true | false) "false"
                    host   CDATA           #IMPLIED
                    port   CDATA           #IMPLIED
                    label  CDATA           #IMPLIED
                    followRedirects (true | false) "true">
  
  <!ELEMENT credentials EMPTY>
  <!ATTLIST credentials userName CDATA #REQUIRED
                        password CDATA #REQUIRED>
  
  <!ELEMENT requestHeader EMPTY>
  <!ATTLIST requestHeader headerName  CDATA #REQUIRED
                          headerValue CDATA #IMPLIED>
  
  <!ELEMENT param (paramName, paramValue)>
  
  <!ELEMENT paramName (#PCDATA)>
  
  <!ELEMENT paramValue (#PCDATA)>
  
  <!ELEMENT validate ( (%tests; %custom-tests;)+ )>
  
  
  1.1                  jakarta-commons/latka/src/distribution/conf/suite.dtd
  
  Index: suite.dtd
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!-- standard wrapper for the main DTD elements -->
  <!ENTITY % suite.ent SYSTEM "suite.ent">
  %suite.ent;
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/conf/standardValidations.ent
  
  Index: standardValidations.ent
  ===================================================================
  <!-- This module contains a set of standard validation entities for Latka tests. -->
  
  <!-- standard set -->
  <!ENTITY commonValidations "<statusCode/>">
  
  <!-- response time -->
  <!ENTITY fast "<maxRequestTime millis='2500' label='Response in at most 2.5 seconds.'/>">
  <!ENTITY slow "<maxRequestTime millis='5000' label='Response in at most 5 seconds.'/>">
  
  <!-- byte size -->
  <!ENTITY tiny   "<byteLength min=    '1' max= '1000' label='Less than 1 KB long.'/>">
  <!ENTITY small  "<byteLength min= '1000' max='10000' label='Between 1 and 10 KB long.'/>">
  <!ENTITY medium "<byteLength min='8000' max='22000' label='Between 8 and 22 KB long.'/>">
  <!ENTITY large  "<byteLength min='18000' max='32000' label='Between 18 and 32 KB long.'/>">
  <!ENTITY huge   "<byteLength min='30000' label='More than 30 KB long.'/>">
  
  <!-- regexp -->
  
  
  
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/conf/report.dtd
  
  Index: report.dtd
  ===================================================================
  <?xml encoding="UTF-8" ?>
  
  <!ELEMENT report (request+)>
  <!ATTLIST report suiteSuccess (true|false) #REQUIRED
                   label         CDATA        #IMPLIED>
  
  <!ELEMENT request (requestSuccess | requestFailure |
                     requestSkipped | requestError)>
  <!ATTLIST request requestTime CDATA #REQUIRED
                    label        CDATA #IMPLIED
                    url          CDATA #REQUIRED>
  
  <!ELEMENT requestSuccess EMPTY>
  
  <!ELEMENT requestFailure (label)>
  <!ATTLIST requestFailure responseId CDATA #REQUIRED>
  
  <!ELEMENT requestSkipped EMPTY>
  
  <!ELEMENT requestError (label)>
  
  <!ELEMENT label (#PCDATA)>
  
  
  
  
  1.1                  jakarta-commons/latka/src/distribution/conf/custom-tests.ent
  
  Index: custom-tests.ent
  ===================================================================
  <!-- 
      Author:  dIon Gillard (dion@apache.org)
      Version: $Id: custom-tests.ent,v 1.1 2002/04/22 15:48:34 dion Exp $
  
      alter this file to add new custom tests 
  
      There is an entity defined here called 'custom-tests' which has a list of
      top-level elements for the tests. These top-level elements will be defined
      in the resulting DTD to appear as children of the <validate> element in 
      a Latka Suite
  
      Each custom test top-level element should be entered, with a vertical
      bar ( '|' ) separating each.
  -->
  
  <!--top level element only, e.g.
      the vertical bar is VERY important
  ### example only
      custom-tests " | myvalidator" >
  
      default is no custom tests i.e. blank
   -->
  <!ENTITY % custom-tests "" >
  
  <!-- 
  now for custom test element and attribute definitions, e.g.
  
  ### example only
  <!ELEMENT myvalidator EMPTY>
  <!ATTLIST myvalidator name  CDATA #REQUIRED
                        value CDATA #IMPLIED
                        label CDATA #IMPLIED>
  -->
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>