295668 allow xulrunner location to be specified for unit tests
diff --git a/releng.wtpbuilder/distribution/patches3.tests/build.xml b/releng.wtpbuilder/distribution/patches3.tests/build.xml
index f075ce6..317e991 100644
--- a/releng.wtpbuilder/distribution/patches3.tests/build.xml
+++ b/releng.wtpbuilder/distribution/patches3.tests/build.xml
@@ -10,18 +10,28 @@
     -->
     <property
         environment="env"/>
+    <fail
+        message="testRoot must be set for this task"
+        unless="testRoot"/>
   <!-- required to get proper value of dropinsFolder -->
     <property
         name="keyCfgFile"
         value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
-    <echo level="debug"
+    <echo
+        level="debug"
         message="keyCfgFile: ${keyCfgFile}"/>
     <property
         file="${keyCfgFile}"/>
-    <fail
-        message="testRoot must be set for this task"
-        unless="testRoot"/>
     <!--
+        typcially already set, but in case of standalone tests, may not
+        be
+    -->
+    <property
+        name="buildLabel"
+        value="${buildType}-${buildId}-${timestamp}"/>
+
+
+    <!-- 
       Steps to do after the build is done. 
     -->
     <target
@@ -71,13 +81,26 @@
         </copy>
         <echo
             message="BASEOS: ${env.BASEOS}   BASEWS: ${env.BASEWS}   BASEARCH: ${env.BASEARCH} "/>
+        <!--
+            for this distribution, dependencies come from releng. Assume
+            no subdirectory, if not otherwise set (bug 285383).
+        -->
+        <property
+            name="env.DEP_DIR"
+            value=""/>
+        <property
+            name="dependency.properties"
+            value="${buildDirectory}/maps/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
+        <available
+            file="${dependency.properties}"
+            property="dependency.properties.exists"/>
+        <fail
+            message="dependency file not found: ${dependency.properties}"
+            unless="dependency.properties.exists"/>
         <ant
             antfile="${test.component.dir}/testdependency.xml"
             target="get">
             <property
-                name="dependency.properties"
-                value="${buildDirectory}/maps/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
-            <property
                 name="base.install.dir"
                 value="${testRoot}"/>
         </ant>
@@ -235,13 +258,19 @@
             <arg
                 value="org.eclipse.ant.core.antRunner"/>
             <arg
-                value="-file"/>
-            <arg
-                value="${testRoot}/test.xml"/>
+                value="-verbose"/>
             <arg
                 value="-logger"/>
             <arg
                 value="org.apache.tools.ant.DefaultLogger"/>
+            <arg
+                value="-file"/>
+            <arg
+                value="${testRoot}/test.xml"/>
+            <arg
+                value="${testTarget}"/>
+
+            <!--  make sure our forked env has a DISPLAY -->
             <env
                 key="DISPLAY"
                 value="${env.DISPLAY}"/>
diff --git a/releng.wtpbuilder/distribution/patches3.tests/standaloneTest.xml b/releng.wtpbuilder/distribution/patches3.tests/standaloneTest.xml
deleted file mode 100644
index 3ee1693..0000000
--- a/releng.wtpbuilder/distribution/patches3.tests/standaloneTest.xml
+++ /dev/null
@@ -1,257 +0,0 @@
-<project
-    default="main"
-    basedir=".">
-    <!--
-        Required inputs: build.home buildType buildId timestamp
-        build.stream [optional] build.committers [optional] testTarget
-        [optional]
-    -->
-    <property
-        environment="env"/>
-    <target
-        name="main">
-        <property
-            file="${build.home}/${env.RELENG_BUILDER}/build.properties"/>
-        <property
-            name="local.cache.dir"
-            value="${env.LOCAL_PREREQS_CACHE}"/>
-        <property
-            name="testRoot"
-            value="${build.home}/testRoot"/>
-        <delete
-            dir="${testRoot}"
-            failonerror="false"/>
-        <mkdir
-            dir="${testRoot}"/>
-        <antcall
-            target="getReleng"/>
-        <property
-            file="${testRoot}/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
-        <antcall
-            target="getDependencies"/>
-        <condition
-            property="wtp-sdk"
-            value="wtp-sdk-${buildId}.zip"
-            else="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip">
-            <available
-                file="${local.cache.dir}/wtp-sdk-${buildId}.zip"/>
-        </condition>
-        <condition
-            property="wtp-wst-tests"
-            value="wtp-wst-Automated-Tests-${buildId}.zip"
-            else="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
-            <available
-                file="${local.cache.dir}/wtp-wst-Automated-Tests-${buildId}.zip"/>
-        </condition>
-        <condition
-            property="wtp-jst-tests"
-            value="wtp-jst-Automated-Tests-${buildId}.zip"
-            else="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
-            <available
-                file="${local.cache.dir}/wtp-jst-Automated-Tests-${buildId}.zip"/>
-        </condition>
-        <antcall
-            target="run"/>
-    </target>
-    <target
-        name="getReleng">
-        <property
-            name="releng.tag"
-            value="v${buildType}${timestamp}"/>
-        <cvs
-            cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
-            package="${env.RELENG}"
-            dest="${testRoot}"
-            command="export"
-            tag="${releng.tag}"
-            quiet="${env.CVS_QUIET}"
-            reallyquiet="${env.CVS_REALLY_QUIET}"/>
-    </target>
-    <target
-        name="getDependencies">
-        <ant
-            antfile="${build.home}/${env.RELENG_BUILDER}/distribution/wtp.tests/testdependency.xml">
-            <property
-                name="base.install.dir"
-                value="${testRoot}"/>
-            <property
-                name="dependencyTargets"
-                value="${build.home}/${env.RELENG_BUILDER}/scripts/dependency/build.xml"/>
-        </ant>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-sdk-${buildId}.zip"/>
-        </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip"/>
-        </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-wst-Automated-Tests-${buildId}.zip"/>
-        </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip"/>
-        </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-jst-Automated-Tests-${buildId}.zip"/>
-        </antcall>
-        <antcall
-            target="getAndInstallWTP">
-            <param
-                name="file"
-                value="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip"/>
-        </antcall>
-    </target>
-    <target
-        name="getAndInstallWTP">
-        <available
-            file="${local.cache.dir}/${file}"
-            property="file.exists"/>
-        <antcall
-            target="getWTP"/>
-        <available
-            file="${local.cache.dir}/${file}"
-            property="file.exists"/>
-        <antcall
-            target="installWTP"/>
-    </target>
-    <target
-        name="getWTP">
-        <condition
-            property="file.url.1"
-            value="http://download.eclipse.org/webtools/committers"
-            else="http://download.eclipse.org/webtools/downloads">
-            <isset
-                property="build.committers"/>
-        </condition>
-        <condition
-            property="file.url"
-            value="${file.url.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"
-            else="${file.url.1}/drops/${buildType}-${buildId}-${timestamp}">
-            <isset
-                property="build.stream"/>
-        </condition>
-        <antcall
-            target="getWTP2"/>
-    </target>
-    <target
-        name="getWTP2"
-        unless="file.exists">
-        <property
-            name="file.url"
-            value="http://download.eclipse.org/webtools/downloads/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"/>
-        <get
-            dest="${local.cache.dir}/${file}"
-            src="${file.url}/${file}"
-            ignoreerrors="true"/>
-    </target>
-    <target
-        name="installWTP"
-        if="file.exists">
-        <unzip
-            src="${local.cache.dir}/${file}"
-            dest="${testRoot}"
-            overwrite="true"/>
-    </target>
-    <target
-        name="run">
-        <mkdir
-            dir="${testRoot}/results/consolelogs"/>
-        <copy
-            todir="${testRoot}"
-            flatten="true"
-            overwrite="true">
-            <fileset
-                dir="${build.home}/${env.RELENG_BUILDER}/distribution/wtp.tests/testScripts"/>
-        </copy>
-        <ant
-            antfile="${build.home}/${env.RELENG_BUILDER}/distribution/wtp.tests/build.xml"
-            target="runTestEclipse">
-            <property
-                name="testRoot"
-                value="${testRoot}"/>
-            <property
-                name="testTarget"
-                value="all"/>
-        </ant>
-        <copy
-            file="${build.home}/${env.RELENG_BUILDER}/distribution/wtp.tests/templateFiles/index.php"
-            todir="${testRoot}/results"
-            overwrite="true"/>
-    </target>
-    <target
-        name="upload"
-        if="login">
-        <mkdir
-            dir="${build.home}/archives"/>
-        <zip
-            destfile="${build.home}/archives/${buildType}-${buildId}-${timestamp}.zip"
-            basedir="${build.home}/testRoot/results"/>
-        <condition
-            property="upload.path.1"
-            else="~/downloads/webtools/downloads"
-            value="~/downloads/webtools/committers">
-            <isset
-                property="build.committers"/>
-        </condition>
-        <condition
-            property="upload.path"
-            else="${upload.path.1}/drops/${buildType}-${buildId}-${timestamp}/testResults/${config}"
-            value="${upload.path.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}/testResults/${config}">
-            <isset
-                property="build.stream"/>
-        </condition>
-        <exec
-            executable="ssh"
-            dir="${build.home}">
-            <arg
-                line="${login}@download1.eclipse.org rm -rf ${upload.path}"/>
-        </exec>
-        <exec
-            executable="ssh"
-            dir="${build.home}">
-            <arg
-                line="${login}@download1.eclipse.org mkdir ${upload.path}"/>
-        </exec>
-        <exec
-            executable="scp"
-            dir="${build.home}">
-            <arg
-                line="-r ./testRoot/results ${login}@download1.eclipse.org:${upload.path}"/>
-        </exec>
-    </target>
-    <target
-        name="clean"
-        if="clean">
-        <property
-            file="${build.home}/${env.RELENG_BUILDER}/build.properties"/>
-        <property
-            name="local.cache.dir"
-            value="${env.LOCAL_PREREQS_CACHE}"/>
-        <property
-            name="testRoot"
-            value="${build.home}/testRoot"/>
-        <delete
-            dir="${testRoot}"
-            failonerror="false"/>
-        <delete
-            failonerror="false">
-            <fileset
-                dir="${local.cache.dir}"
-                includes="wtp-*"/>
-        </delete>
-    </target>
-</project>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/patches3.tests/templateFiles/index.php b/releng.wtpbuilder/distribution/patches3.tests/templateFiles/index.php
index 8d23693..bbc9072 100644
--- a/releng.wtpbuilder/distribution/patches3.tests/templateFiles/index.php
+++ b/releng.wtpbuilder/distribution/patches3.tests/templateFiles/index.php
@@ -7,17 +7,20 @@
 ?>
 
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
+<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
+	type="text/css">
 </head>
 <body>
 <p><b><font face="Verdana" size="+3">Test Results</font></b> </p>
 <table border=0 cellspacing=5 cellpadding=2 width="100%" >
   <tr> 
-    <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Unit 
-      Test Results for <?php echo "$label"; ?> </font></b></td>
+		<td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+			color="#FFFFFF" face="Arial,Helvetica">Unit Test Results for <?php echo "$label"; ?>
+		</font></b></td>
   </tr>
 </table>
-<p></p><table border="0">
+<p></p>
+<table border="0">
 </table>
 
 <table width="77%" border="1">
@@ -65,15 +68,17 @@
 <br>
 <table border=0 cellspacing=5 cellpadding=2 width="100%" >
   <tr> 
-    <td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica"> 
-      Console output logs 
-      <?php echo "$label"; ?>
+		<td align=LEFT valign=TOP colspan="3" bgcolor="#0080C0"><b><font
+			color="#FFFFFF" face="Arial,Helvetica"> Console output logs <?php echo "$label"; ?>
       </font></b></td>
   </tr>
 </table>
 <br>
-These <a href="consolelogs/wtptestlog.txt">logs</a> contain the console output captured while 
-running the JUnit automated tests. <br>
+These
+<a href="consolelogs/wtptestlog.txt">logs</a>
+contain the console output captured while running the JUnit automated
+tests.
+<br>
 <br>
 
 </body>
diff --git a/releng.wtpbuilder/distribution/patches3.tests/testScripts/JUNIT.XSL b/releng.wtpbuilder/distribution/patches3.tests/testScripts/JUNIT.XSL
index 30a407d..9cdd80e 100644
--- a/releng.wtpbuilder/distribution/patches3.tests/testScripts/JUNIT.XSL
+++ b/releng.wtpbuilder/distribution/patches3.tests/testScripts/JUNIT.XSL
@@ -12,34 +12,36 @@
         <HTML>
             <HEAD>
                 <style
-                    type="text/css"> body { font:normal 68% verdana,arial,helvetica;
-                    color:#000000; } table tr td, table tr th {
-                    font-size: 68%; } table.details tr th{ font-weight:
-                    bold; text-align:left; background:#a6caf0; }
-                    table.details tr td{ background:#eeeee0; }
-
-                    p { line-height:1.5em; margin-top:0.5em;
-                    margin-bottom:1.0em; } h1 { margin: 0px 0px 5px;
-                    font: 165% verdana,arial,helvetica } h2 {
-                    margin-top: 1em; margin-bottom: 0.5em; font: bold
-                    125% verdana,arial,helvetica } h3 { margin-bottom:
-                    0.5em; font: bold 115% verdana,arial,helvetica } h4
-                    { margin-bottom: 0.5em; font: bold 100%
+                    type="text/css"> body { font:normal 68%
+                    verdana,arial,helvetica; color:#000000; } table tr
+                    td, table tr th { font-size: 68%; } table.details tr
+                    th{ font-weight: bold; text-align:left;
+                    background:#a6caf0; } table.details tr td{
+                    background:#eeeee0; } p { line-height:1.5em;
+                    margin-top:0.5em; margin-bottom:1.0em; } h1 {
+                    margin: 0px 0px 5px; font: 165%
+                    verdana,arial,helvetica } h2 { margin-top: 1em;
+                    margin-bottom: 0.5em; font: bold 125%
+                    verdana,arial,helvetica } h3 { margin-bottom: 0.5em;
+                    font: bold 115% verdana,arial,helvetica } h4 {
+                    margin-bottom: 0.5em; font: bold 100%
                     verdana,arial,helvetica } h5 { margin-bottom: 0.5em;
                     font: bold 100% verdana,arial,helvetica } h6 {
                     margin-bottom: 0.5em; font: bold 100%
                     verdana,arial,helvetica } .Error { font-weight:bold;
                     color:red; } .Failure { font-weight:bold;
-                    color:purple; } .Properties { text-align:right; }
-                </style>
-                <script language="JavaScript">
+                    color:purple; } .Properties { text-align:right; } </style>
+                <script
+                    language="JavaScript">
                     var TestCases = new Array(); var cur;
-                    <xsl:for-each select="./testsuite">
-                        <xsl:apply-templates select="properties" />
+                    <xsl:for-each
+                        select="./testsuite">
+                        <xsl:apply-templates
+                            select="properties"/>
                     </xsl:for-each>
-
                 </script>
-                <script language="JavaScript"><![CDATA[
+                <script
+                    language="JavaScript"><![CDATA[
         function displayProperties (name) {
           var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
           var doc = win.document.open();
@@ -69,44 +71,55 @@
                 </script>
             </HEAD>
             <body>
-                <a name="top"></a>
-                <xsl:call-template name="pageHeader" />
+                <a
+                    name="top"></a>
+                <xsl:call-template
+                    name="pageHeader"/>
 
                 <!-- Summary part -->
-                <xsl:call-template name="summary" />
+                <xsl:call-template
+                    name="summary"/>
                 <hr
                     size="1"
                     width="95%"
-                    align="left" />
+                    align="left"/>
 
                 <!-- Package List part -->
-                <xsl:call-template name="packagelist" />
+                <xsl:call-template
+                    name="packagelist"/>
                 <hr
                     size="1"
                     width="95%"
-                    align="left" />
+                    align="left"/>
 
                 <!-- For each package create its part -->
-                <xsl:call-template name="packages" />
+                <xsl:call-template
+                    name="packages"/>
                 <hr
                     size="1"
                     width="95%"
-                    align="left" />
+                    align="left"/>
 
                 <!-- For each class create the  part -->
-                <xsl:call-template name="classes" />
-
+                <xsl:call-template
+                    name="classes"/>
             </body>
         </HTML>
     </xsl:template>
-
-
-
-    <!-- ================================================================== -->
-    <!-- Write a list of all packages with an hyperlink to the anchor of    -->
-    <!-- of the package name.                                               -->
-    <!-- ================================================================== -->
-    <xsl:template name="packagelist">
+    <!--
+        ==================================================================
+    -->
+    <!--
+        Write a list of all packages with an hyperlink to the anchor of
+    -->
+    <!--
+        of the package name.
+    -->
+    <!--
+        ==================================================================
+    -->
+    <xsl:template
+        name="packagelist">
         <h2>Packages</h2>
         Note: package statistics are not computed recursively, they only
         sum up all of its testsuites numbers.
@@ -116,212 +129,257 @@
             cellpadding="5"
             cellspacing="2"
             width="95%">
-            <xsl:call-template name="testsuite.test.header" />
+            <xsl:call-template
+                name="testsuite.test.header"/>
             <!-- list all packages recursively -->
             <xsl:for-each
                 select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
-                <xsl:sort select="@package" />
+                <xsl:sort
+                    select="@package"/>
                 <xsl:variable
                     name="testsuites-in-package"
-                    select="/testsuites/testsuite[./@package = current()/@package]" />
+                    select="/testsuites/testsuite[./@package = current()/@package]"/>
                 <xsl:variable
                     name="testCount"
-                    select="sum($testsuites-in-package/@tests)" />
+                    select="sum($testsuites-in-package/@tests)"/>
                 <xsl:variable
                     name="errorCount"
-                    select="sum($testsuites-in-package/@errors)" />
+                    select="sum($testsuites-in-package/@errors)"/>
                 <xsl:variable
                     name="failureCount"
-                    select="sum($testsuites-in-package/@failures)" />
+                    select="sum($testsuites-in-package/@failures)"/>
                 <xsl:variable
                     name="timeCount"
-                    select="sum($testsuites-in-package/@time)" />
+                    select="sum($testsuites-in-package/@time)"/>
 
                 <!-- write a summary for the package -->
-                <tr valign="top">
+                <tr
+                    valign="top">
                     <!-- set a nice color depending if there is an error/failure -->
-                    <xsl:attribute name="class">
+                    <xsl:attribute
+                        name="class">
 						<xsl:choose>
-							<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
-							<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
+							<xsl:when
+                        test="$failureCount &gt; 0">Failure</xsl:when>
+							<xsl:when
+                        test="$errorCount &gt; 0">Error</xsl:when>
 						</xsl:choose>
 					</xsl:attribute>
                     <td>
-                        <a href="#{@package}">
-                            <xsl:value-of select="@package" />
+                        <a
+                            href="#{@package}">
+                            <xsl:value-of
+                                select="@package"/>
                         </a>
                     </td>
                     <td>
-                        <xsl:value-of select="$testCount" />
+                        <xsl:value-of
+                            select="$testCount"/>
                     </td>
                     <td>
-                        <xsl:value-of select="$errorCount" />
+                        <xsl:value-of
+                            select="$errorCount"/>
                     </td>
                     <td>
-                        <xsl:value-of select="$failureCount" />
+                        <xsl:value-of
+                            select="$failureCount"/>
                     </td>
                     <td>
-                        <xsl:call-template name="display-time">
+                        <xsl:call-template
+                            name="display-time">
                             <xsl:with-param
                                 name="value"
-                                select="$timeCount" />
+                                select="$timeCount"/>
                         </xsl:call-template>
                     </td>
                 </tr>
             </xsl:for-each>
         </table>
     </xsl:template>
-
-
-    <!-- ================================================================== -->
-    <!-- Write a package level report                                       -->
-    <!-- It creates a table with values from the document:                  -->
-    <!-- Name | Tests | Errors | Failures | Time                            -->
-    <!-- ================================================================== -->
-    <xsl:template name="packages">
+    <!--
+        ==================================================================
+    -->
+    <!--
+        Write a package level report
+    -->
+    <!--
+        It creates a table with values from the document:
+    -->
+    <!--
+        Name | Tests | Errors | Failures | Time
+    -->
+    <!--
+        ==================================================================
+    -->
+    <xsl:template
+        name="packages">
         <!-- create an anchor to this package name -->
         <xsl:for-each
             select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]">
-            <xsl:sort select="@package" />
-            <a name="{@package}"></a>
+            <xsl:sort
+                select="@package"/>
+            <a
+                name="{@package}"></a>
             <h3>
                 Package
-                <xsl:value-of select="@package" />
+                <xsl:value-of
+                    select="@package"/>
             </h3>
-
             <table
                 class="details"
                 border="0"
                 cellpadding="5"
                 cellspacing="2"
                 width="95%">
-                <xsl:call-template name="testsuite.test.header" />
+                <xsl:call-template
+                    name="testsuite.test.header"/>
 
                 <!-- match the testsuites of this package -->
                 <xsl:apply-templates
                     select="/testsuites/testsuite[./@package = current()/@package]"
-                    mode="print.test" />
+                    mode="print.test"/>
             </table>
-            <a href="#top">Back to top</a>
-            <p />
-            <p />
+            <a
+                href="#top">Back to top</a>
+            <p/>
+            <p/>
         </xsl:for-each>
     </xsl:template>
-
-    <xsl:template name="classes">
-        <xsl:for-each select="testsuite">
-            <xsl:sort select="@name" />
+    <xsl:template
+        name="classes">
+        <xsl:for-each
+            select="testsuite">
+            <xsl:sort
+                select="@name"/>
             <!-- create an anchor to this class name -->
-            <a name="{@name}"></a>
+            <a
+                name="{@name}"></a>
             <h3>
                 TestCase
-                <xsl:value-of select="@name" />
+                <xsl:value-of
+                    select="@name"/>
             </h3>
-
             <table
                 class="details"
                 border="0"
                 cellpadding="5"
                 cellspacing="2"
                 width="95%">
-                <xsl:call-template name="testcase.test.header" />
+                <xsl:call-template
+                    name="testcase.test.header"/>
                 <!--
-                    test can even not be started at all (failure to load the class)
-                    so report the error directly
+                    test can even not be started at all (failure to load
+                    the class) so report the error directly
                 -->
-                <xsl:if test="./error">
-                    <tr class="Error">
-                        <td colspan="4">
-                            <xsl:apply-templates select="./error" />
+                <xsl:if
+                    test="./error">
+                    <tr
+                        class="Error">
+                        <td
+                            colspan="4">
+                            <xsl:apply-templates
+                                select="./error"/>
                         </td>
                     </tr>
                 </xsl:if>
                 <xsl:apply-templates
                     select="./testcase"
-                    mode="print.test" />
+                    mode="print.test"/>
             </table>
-            <div class="Properties">
+            <div
+                class="Properties">
                 <a>
-                    <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of
-                            select="@package" />.<xsl:value-of
-                            select="@name" />');</xsl:attribute>
+                    <xsl:attribute
+                        name="href">javascript:displayProperties('<xsl:value-of
+                        select="@package"/>.<xsl:value-of
+                        select="@name"/>');</xsl:attribute>
                     Properties &gt;&gt;
                 </a>
             </div>
-            <p />
-
-            <a href="#top">Back to top</a>
+            <p/>
+            <a
+                href="#top">Back to top</a>
         </xsl:for-each>
     </xsl:template>
-
-    <xsl:template name="summary">
+    <xsl:template
+        name="summary">
         <h2>Summary</h2>
         <xsl:variable
             name="testCount"
-            select="sum(testsuite/@tests)" />
+            select="sum(testsuite/@tests)"/>
         <xsl:variable
             name="errorCount"
-            select="sum(testsuite/@errors)" />
+            select="sum(testsuite/@errors)"/>
         <xsl:variable
             name="failureCount"
-            select="sum(testsuite/@failures)" />
+            select="sum(testsuite/@failures)"/>
         <xsl:variable
             name="timeCount"
-            select="sum(testsuite/@time)" />
+            select="sum(testsuite/@time)"/>
         <xsl:variable
             name="successRate"
-            select="($testCount - $failureCount - $errorCount) div $testCount" />
+            select="($testCount - $failureCount - $errorCount) div $testCount"/>
         <table
             class="details"
             border="0"
             cellpadding="5"
             cellspacing="2"
             width="95%">
-            <tr valign="top">
+            <tr
+                valign="top">
                 <th>Tests</th>
                 <th>Failures</th>
                 <th>Errors</th>
                 <th>Success rate</th>
                 <th>Time</th>
             </tr>
-            <tr valign="top">
-                <xsl:attribute name="class">
+            <tr
+                valign="top">
+                <xsl:attribute
+                    name="class">
 				<xsl:choose>
-					<xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
-					<xsl:when test="$errorCount &gt; 0">Error</xsl:when>
+					<xsl:when
+                    test="$failureCount &gt; 0">Failure</xsl:when>
+					<xsl:when
+                    test="$errorCount &gt; 0">Error</xsl:when>
 				</xsl:choose>
 			</xsl:attribute>
                 <td>
-                    <xsl:value-of select="$testCount" />
+                    <xsl:value-of
+                        select="$testCount"/>
                 </td>
                 <td>
-                    <xsl:value-of select="$failureCount" />
+                    <xsl:value-of
+                        select="$failureCount"/>
                 </td>
                 <td>
-                    <xsl:value-of select="$errorCount" />
+                    <xsl:value-of
+                        select="$errorCount"/>
                 </td>
                 <td>
-                    <xsl:call-template name="display-percent">
+                    <xsl:call-template
+                        name="display-percent">
                         <xsl:with-param
                             name="value"
-                            select="$successRate" />
+                            select="$successRate"/>
                     </xsl:call-template>
                 </td>
                 <td>
-                    <xsl:call-template name="display-time">
+                    <xsl:call-template
+                        name="display-time">
                         <xsl:with-param
                             name="value"
-                            select="$timeCount" />
+                            select="$timeCount"/>
                     </xsl:call-template>
                 </td>
-
             </tr>
         </table>
         <table
             border="0"
             width="95%">
             <tr>
-                <td style="text-align: justify;">
+                <td
+                    style="text-align: justify;">
                     Note:
                     <i>failures</i>
                     are anticipated and checked for with assertions
@@ -332,79 +390,102 @@
             </tr>
         </table>
     </xsl:template>
-
     <!--
-        Write properties into a JavaScript data structure.
-        This is based on the original idea by Erik Hatcher (erik@hatcher.net)
+        Write properties into a JavaScript data structure. This is based
+        on the original idea by Erik Hatcher (erik@hatcher.net)
     -->
-    <xsl:template match="properties">
+    <xsl:template
+        match="properties">
         cur = TestCases['
-        <xsl:value-of select="../@package" />
+        <xsl:value-of
+            select="../@package"/>
         .
-        <xsl:value-of select="../@name" />
+        <xsl:value-of
+            select="../@name"/>
         '] = new Array();
-        <xsl:for-each select="property">
-            <xsl:sort select="@name" />
+        <xsl:for-each
+            select="property">
+            <xsl:sort
+                select="@name"/>
             cur['
-            <xsl:value-of select="@name" />
+            <xsl:value-of
+                select="@name"/>
             '] = '
-            <xsl:call-template name="JS-escape">
+            <xsl:call-template
+                name="JS-escape">
                 <xsl:with-param
                     name="string"
-                    select="@value" />
+                    select="@value"/>
             </xsl:call-template>
             ';
         </xsl:for-each>
     </xsl:template>
 
     <!-- Page HEADER -->
-    <xsl:template name="pageHeader">
+    <xsl:template
+        name="pageHeader">
         <h1>Unit Test Results</h1>
-        <table width="100%">
+        <table
+            width="100%">
             <tr>
-                <td align="left"></td>
-                <td align="right">
+                <td
+                    align="left"></td>
+                <td
+                    align="right">
                     Designed for use with
-                    <a href='http://www.junit.org'>JUnit</a>
+                    <a
+                        href='http://www.junit.org'>JUnit</a>
                     and
-                    <a href='http://jakarta.apache.org/ant'>Ant</a>
+                    <a
+                        href='http://jakarta.apache.org/ant'>Ant</a>
                     .
                 </td>
             </tr>
         </table>
-        <hr size="1" />
+        <hr
+            size="1"/>
     </xsl:template>
-
     <xsl:template
         match="testsuite"
         mode="header">
-        <tr valign="top">
-            <th width="80%">Name</th>
+        <tr
+            valign="top">
+            <th
+                width="80%">Name</th>
             <th>Tests</th>
             <th>Errors</th>
             <th>Failures</th>
-            <th nowrap="nowrap">Time(s)</th>
+            <th
+                nowrap="nowrap">Time(s)</th>
         </tr>
     </xsl:template>
 
     <!-- class header -->
-    <xsl:template name="testsuite.test.header">
-        <tr valign="top">
-            <th width="80%">Name</th>
+    <xsl:template
+        name="testsuite.test.header">
+        <tr
+            valign="top">
+            <th
+                width="80%">Name</th>
             <th>Tests</th>
             <th>Errors</th>
             <th>Failures</th>
-            <th nowrap="nowrap">Time(s)</th>
+            <th
+                nowrap="nowrap">Time(s)</th>
         </tr>
     </xsl:template>
 
     <!-- method header -->
-    <xsl:template name="testcase.test.header">
-        <tr valign="top">
+    <xsl:template
+        name="testcase.test.header">
+        <tr
+            valign="top">
             <th>Name</th>
             <th>Status</th>
-            <th width="80%">Type</th>
-            <th nowrap="nowrap">Time(s)</th>
+            <th
+                width="80%">Type</th>
+            <th
+                nowrap="nowrap">Time(s)</th>
         </tr>
     </xsl:template>
 
@@ -413,63 +494,80 @@
     <xsl:template
         match="testsuite"
         mode="print.test">
-        <tr valign="top">
+        <tr
+            valign="top">
             <!-- set a nice color depending if there is an error/failure -->
-            <xsl:attribute name="class">
+            <xsl:attribute
+                name="class">
 			<xsl:choose>
-				<xsl:when test="@failures[.&gt; 0]">Failure</xsl:when>
-				<xsl:when test="@errors[.&gt; 0]">Error</xsl:when>
+				<xsl:when
+                test="@failures[.&gt; 0]">Failure</xsl:when>
+				<xsl:when
+                test="@errors[.&gt; 0]">Error</xsl:when>
 			</xsl:choose>
 		</xsl:attribute>
 
             <!-- print testsuite information -->
             <td>
-                <a href="#{@name}">
-                    <xsl:value-of select="@name" />
+                <a
+                    href="#{@name}">
+                    <xsl:value-of
+                        select="@name"/>
                 </a>
             </td>
             <td>
-                <xsl:value-of select="@tests" />
+                <xsl:value-of
+                    select="@tests"/>
             </td>
             <td>
-                <xsl:value-of select="@errors" />
+                <xsl:value-of
+                    select="@errors"/>
             </td>
             <td>
-                <xsl:value-of select="@failures" />
+                <xsl:value-of
+                    select="@failures"/>
             </td>
             <td>
-                <xsl:call-template name="display-time">
+                <xsl:call-template
+                    name="display-time">
                     <xsl:with-param
                         name="value"
-                        select="@time" />
+                        select="@time"/>
                 </xsl:call-template>
             </td>
         </tr>
     </xsl:template>
-
     <xsl:template
         match="testcase"
         mode="print.test">
-        <tr valign="top">
-            <xsl:attribute name="class">
+        <tr
+            valign="top">
+            <xsl:attribute
+                name="class">
 			<xsl:choose>
-				<xsl:when test="failure | error">Error</xsl:when>
+				<xsl:when
+                test="failure | error">Error</xsl:when>
 			</xsl:choose>
 		</xsl:attribute>
             <td>
-                <xsl:value-of select="@name" />
+                <xsl:value-of
+                    select="@name"/>
             </td>
             <xsl:choose>
-                <xsl:when test="failure">
+                <xsl:when
+                    test="failure">
                     <td>Failure</td>
                     <td>
-                        <xsl:apply-templates select="failure" />
+                        <xsl:apply-templates
+                            select="failure"/>
                     </td>
                 </xsl:when>
-                <xsl:when test="error">
+                <xsl:when
+                    test="error">
                     <td>Error</td>
                     <td>
-                        <xsl:apply-templates select="error" />
+                        <xsl:apply-templates
+                            select="error"/>
                     </td>
                 </xsl:when>
                 <xsl:otherwise>
@@ -478,103 +576,128 @@
                 </xsl:otherwise>
             </xsl:choose>
             <td>
-                <xsl:call-template name="display-time">
+                <xsl:call-template
+                    name="display-time">
                     <xsl:with-param
                         name="value"
-                        select="@time" />
+                        select="@time"/>
                 </xsl:call-template>
             </td>
         </tr>
     </xsl:template>
-
-
-    <xsl:template match="failure">
-        <xsl:call-template name="display-failures" />
+    <xsl:template
+        match="failure">
+        <xsl:call-template
+            name="display-failures"/>
     </xsl:template>
-
-    <xsl:template match="error">
-        <xsl:call-template name="display-failures" />
+    <xsl:template
+        match="error">
+        <xsl:call-template
+            name="display-failures"/>
     </xsl:template>
 
     <!-- Style for the error and failure in the tescase template -->
-    <xsl:template name="display-failures">
+    <xsl:template
+        name="display-failures">
         <xsl:choose>
-            <xsl:when test="not(@message)">N/A</xsl:when>
+            <xsl:when
+                test="not(@message)">
+                N/A
+            </xsl:when>
             <xsl:otherwise>
-                <xsl:value-of select="@message" />
+                <xsl:value-of
+                    select="@message"/>
             </xsl:otherwise>
         </xsl:choose>
         <!-- display the stacktrace -->
         <code>
-            <p />
-            <xsl:call-template name="br-replace">
+            <p/>
+            <xsl:call-template
+                name="br-replace">
                 <xsl:with-param
                     name="word"
-                    select="." />
+                    select="."/>
             </xsl:call-template>
         </code>
-        <!-- the later is better but might be problematic for non-21" monitors... -->
+        <!--
+            the later is better but might be problematic for non-21"
+            monitors...
+        -->
         <!--pre><xsl:value-of select="."/></pre-->
     </xsl:template>
-
-    <xsl:template name="JS-escape">
-        <xsl:param name="string" />
+    <xsl:template
+        name="JS-escape">
+        <xsl:param
+            name="string"/>
         <xsl:choose>
-            <!-- something isn't right here, basically all single quotes need to be replaced with backslash-single-quote
+            <!--
+                something isn't right here, basically all single quotes
+                need to be replaced with backslash-single-quote
                 <xsl:when test="contains($string,'&apos;')">
-                <xsl:value-of select="substring-before($string,'&apos;')"/>
-                \&apos;
-                <xsl:call-template name="JS-escape">
-                <xsl:with-param name="string" select="substring-after($string,'&apos;')"/>
-                </xsl:call-template>
-                </xsl:when> -->
-            <xsl:when test="contains($string,'\')">
-                <xsl:value-of select="substring-before($string,'\')" />
+                <xsl:value-of
+                select="substring-before($string,'&apos;')"/> \&apos;
+                <xsl:call-template name="JS-escape"> <xsl:with-param
+                name="string"
+                select="substring-after($string,'&apos;')"/>
+                </xsl:call-template> </xsl:when>
+            -->
+            <xsl:when
+                test="contains($string,'\')">
+                <xsl:value-of
+                    select="substring-before($string,'\')"/>
                 \\
-                <xsl:call-template name="JS-escape">
+                <xsl:call-template
+                    name="JS-escape">
                     <xsl:with-param
                         name="string"
-                        select="substring-after($string,'\')" />
+                        select="substring-after($string,'\')"/>
                 </xsl:call-template>
             </xsl:when>
             <xsl:otherwise>
-                <xsl:value-of select="$string" />
+                <xsl:value-of
+                    select="$string"/>
             </xsl:otherwise>
         </xsl:choose>
     </xsl:template>
-
-
     <!--
         template that will convert a carriage return into a br tag
         @param word the text from which to convert CR to BR tag
     -->
-    <xsl:template name="br-replace">
-        <xsl:param name="word" />
+    <xsl:template
+        name="br-replace">
+        <xsl:param
+            name="word"/>
         <xsl:choose>
-            <xsl:when test="contains($word,'&#xA;')">
-                <xsl:value-of select="substring-before($word,'&#xA;')" />
-                <br />
-                <xsl:call-template name="br-replace">
+            <xsl:when
+                test="contains($word,'&#xA;')">
+                <xsl:value-of
+                    select="substring-before($word,'&#xA;')"/>
+                <br/>
+                <xsl:call-template
+                    name="br-replace">
                     <xsl:with-param
                         name="word"
-                        select="substring-after($word,'&#xA;')" />
+                        select="substring-after($word,'&#xA;')"/>
                 </xsl:call-template>
             </xsl:when>
             <xsl:otherwise>
-                <xsl:value-of select="$word" />
+                <xsl:value-of
+                    select="$word"/>
             </xsl:otherwise>
         </xsl:choose>
     </xsl:template>
-
-    <xsl:template name="display-time">
-        <xsl:param name="value" />
-        <xsl:value-of select="format-number($value,'0.000')" />
+    <xsl:template
+        name="display-time">
+        <xsl:param
+            name="value"/>
+        <xsl:value-of
+            select="format-number($value,'0.000')"/>
     </xsl:template>
-
-    <xsl:template name="display-percent">
-        <xsl:param name="value" />
-        <xsl:value-of select="format-number($value,'0.00%')" />
+    <xsl:template
+        name="display-percent">
+        <xsl:param
+            name="value"/>
+        <xsl:value-of
+            select="format-number($value,'0.00%')"/>
     </xsl:template>
-
-</xsl:stylesheet>
-
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/releng.wtpbuilder/distribution/patches3.tests/testScripts/test.xml b/releng.wtpbuilder/distribution/patches3.tests/testScripts/test.xml
index a1ba4ba..bd030a2 100644
--- a/releng.wtpbuilder/distribution/patches3.tests/testScripts/test.xml
+++ b/releng.wtpbuilder/distribution/patches3.tests/testScripts/test.xml
@@ -33,7 +33,15 @@
     <!--properties file containing the build information-->
     <property
         file="${buildDirectory}/label.properties"/>
-
+    <!-- required to get proper value of dropinsFolder -->
+    <property
+        name="keyCfgFile"
+        value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
+    <echo
+        level="debug"
+        message="keyCfgFile: ${keyCfgFile}"/>
+    <property
+        file="${keyCfgFile}"/>
     <!--default directory where test-eclipse will be installed-->
     <property
         name="install"
@@ -57,8 +65,12 @@
     <property
         name="results"
         value="${testRoot}/results"/>
+    <property
+        name="library-file"
+        value="${testRoot}/wtp-junit-tests.xml"/>
 
     <!-- jonas install directory -->
+    <!-- TODO: why do this twice? Here and in init? -->
     <property
         name="jonas432Dir"
         value="${testRoot}/${jonas432DirName}"/>
diff --git a/releng.wtpbuilder/distribution/patches3.tests/testScripts/testServer.properties b/releng.wtpbuilder/distribution/patches3.tests/testScripts/testServer.properties
index ad56274..be77c9b 100644
--- a/releng.wtpbuilder/distribution/patches3.tests/testScripts/testServer.properties
+++ b/releng.wtpbuilder/distribution/patches3.tests/testScripts/testServer.properties
@@ -10,5 +10,12 @@
 #swt.lib.path=org.eclipse.swt.motif_3.1.0/os/linux/x86
 swt.lib.path=org.eclipse.swt.win32_3.1.0/os/win32/x86
 
-#JSF Runrime Library directory
-jsf1.1Dir=myfaces-core-1.1.5/lib
\ No newline at end of file
+# JSF Runtime Library directory
+jsf1.1Dir=myfaces-core-1.1.5/lib
+
+# JPT Persistence Runtime Library path
+jpt-persistence-jar=jpt/jpt-persistence-2.0-preview/lib/javax.persistence_2.0_preview.jar
+jpt-eclipselink-jar=jpt/jpt-eclipselink-2.0.0/lib/eclipselink.jar
+
+jpt-persistence10-jar=jpt/persistence-1.0/lib/persistence.jar
+jpt-eclipselink110-jar=jpt/eclipselink-1.1.0/lib/eclipselink.jar
diff --git a/releng.wtpbuilder/distribution/patches3.tests/testScripts/wtp-junit-tests.xml b/releng.wtpbuilder/distribution/patches3.tests/testScripts/wtp-junit-tests.xml
index 8112fcd..4603a37 100644
--- a/releng.wtpbuilder/distribution/patches3.tests/testScripts/wtp-junit-tests.xml
+++ b/releng.wtpbuilder/distribution/patches3.tests/testScripts/wtp-junit-tests.xml
@@ -16,28 +16,21 @@
         file="${keyCfgFile}"/>
     <target
         name="init">
-        <!--
-            Parameters: (Mandatory) data-dir - the workspace directory
-            for Eclipse to write its data plugin-name - symboic name of
-            the plugin to test testPlugin - directory name of plugin
-            (with version suffix) classname - the name of the test class
-            (Optional - overrides defaults set in script) extraVMargs -
-            allows separate setting of VM args from separate caller.
-            timeout - overrides default test timeout value (in
-            milliseconds).
-        -->
         <property
             name="junit-report-output"
             value="${testRoot}/results"/>
         <mkdir
             dir="${junit-report-output}/raw"/>
         <!--
-            if not otherwise set, be sure extraVMargs is at least empty
-            string
+            if not otherwise set, be sure extraVMargs is at least some
+            string, even if unused string. 
+            
+            Remember, though, extraVMArgs can contain more than one extra arg, 
+            so much be passed to VM as a "line", not "value". 
         -->
         <property
             name="extraVMargs"
-            value=""/>
+            value="-DextraVMargsunused=notused"/>
 
 		<!-- if not otherwise set, use a unique workspace name -->
         <property
@@ -46,8 +39,6 @@
         <property
             name="testRoot"
             value="${testRoot}"/>
-    	  <!-- temporarily changed from 30 minutes to 1 hrs 
-    	  to help spot problematic tests -->
       <!--
         Some common values, of milliseconds to more recognizable units: 
         14400000: 4 hours
@@ -64,9 +55,6 @@
             name="junit-report-output"
             value="${junit-report-output}"/>
         <property
-            name="plugin-path"
-            value="${testRoot}${dropinsFolder}/eclipse/plugins/${testPlugin}"/>
-        <property
             name="formatter"
             value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter"/>
         <property
@@ -74,7 +62,7 @@
             value="${junit-report-output}/raw/${classname}.xml"/>
         <property
             name="jvm"
-            value="${env.JAVA_5_HOME}/bin/java"/>
+            value="${env.JAVA_6_HOME}/bin/java"/>
         <dirname
             file="${ant.file}"
             property="currentDir"/>
@@ -86,12 +74,9 @@
             message="plugin-name: ${plugin-name}"/>
         <echo
             level="debug"
-            message="testPlugin: ${testPlugin}"/>
-        <echo
-            level="debug"
             message="classname: ${classname}"/>
         <echo
-            level="debug"
+            level="info"
             message="extraVMargs: ${extraVMargs}"/>
         <echo
             level="debug"
@@ -107,9 +92,6 @@
             message="eclipse-home: ${eclipse-home}"/>
         <echo
             level="debug"
-            message="plugin-path: ${plugin-path}"/>
-        <echo
-            level="debug"
             message="junit-report-output: ${junit-report-output}"/>
         <echo
             level="debug"
@@ -122,7 +104,7 @@
             message="buildLabel: ${buildLabel}"/>
         <echo
             level="debug"
-            message="jvm: ${env.JAVA_5_HOME}/bin/java"/>
+            message="jvm: ${jvm}"/>
     </target>
     <target
         name="core-test"
@@ -166,6 +148,21 @@
         <echo
             level="debug"
             message="DISPLAY: ${env.DISPLAY}"/>
+        <mkdir
+            dir="${buildDirectory}/${buildLabel}/httplogstest"/>
+        <echo
+            message="http log messages to: ${buildDirectory}/${buildLabel}/httplogstest"/>
+        <condition
+            property="xulRunnerParam"
+            value="org.eclipse.swt.browser.XULRunnerPath"
+            else="XULRunnerPathNotSpecified">
+            <isset
+                property="env.WTP_XULRUNNER"/>
+        </condition>
+        <echo
+            message="xulRunnerParam: ${xulRunnerParam}"/>
+        <echo
+            message="WTP_XULRUNNER: ${env.WTP_XULRUNNER}"/>
         <!--
             If there is not exactly one launcher in the stack, we'd best
             fail fast, since we are not expecting that, and may indicate
@@ -188,7 +185,7 @@
             failonerror="false"
             timeout="${timeout}"
             dir="${testRoot}/eclipse"
-            jvm="${env.JAVA_5_HOME}/bin/java"
+            jvm="${jvm}"
             classname="org.eclipse.equinox.launcher.Main">
             <classpath>
                 <fileset
@@ -212,24 +209,24 @@
             <jvmarg
                 value="-Djava.protocol.handler.pkgs=com.ibm.etools.www.protocol"/>
             <jvmarg
-                value="-DurlLogLocation=${buildDirectory}/outgoinghttplogfromtests.log"/>
+                value="-DurlLogLocation=${buildDirectory}/${buildLabel}/httplogstest/outgoinghttplog-${plugin-name}.log"/>
             <jvmarg
                 value="-Dwtp.autotest.noninteractive=true"/>
             <jvmarg
-                value="-DPLUGIN_PATH=${plugin-path}"/>
-            <jvmarg
                 line="${extraVMargs}"/>
             <jvmarg
+                value="-Declipse.consolelog=true"/>
+            <jvmarg
+                value="-Dosgi.debug"/>
+            <jvmarg
                 value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}"/>
             <jvmarg
                 value="-Dprojectname=${projectname}"/>
+            <jvmarg
+                value="-D${xulRunnerParam}=${env.WTP_XULRUNNER}"/>
             <arg
                 value="-nosplash"/>
             <arg
-                value="-consolelog"/>
-            <arg
-                value="-debug"/>
-            <arg
                 value="-data"/>
             <arg
                 value="${data-dir}"/>
@@ -296,6 +293,8 @@
             deprecated, each test.xml uses it, and we should remove,
             eventually
         -->
+        <echo
+            message="Deprecated. There is no need to call the collect task. It no longer does anything. Please remove from your test.xml file"/>
     </target>
     <target
         name="summarizeFailure"
diff --git a/releng.wtpbuilder/distribution/patches3.tests/testdependency.xml b/releng.wtpbuilder/distribution/patches3.tests/testdependency.xml
index 00f6df0..b0c29bb 100644
--- a/releng.wtpbuilder/distribution/patches3.tests/testdependency.xml
+++ b/releng.wtpbuilder/distribution/patches3.tests/testdependency.xml
@@ -17,10 +17,26 @@
     <echo
     	  level="debug"
         message="keyCfgFile: ${keyCfgFile}"/>
+    <fail
+        message="Required property file does not exist: ${keyCfgFile}">
+        <condition>
+            <not>
+                <available
+                    file="${keyCfgFile}"/>
+            </not>
+        </condition>
+    </fail>
     <property
         file="${keyCfgFile}"/>
     <target
         name="get">
+        <!--
+            read in this properties, just so we can make sure our
+            requested pre-reqs are defined, which we do later with
+            statements such if="${groupId}.url"
+        -->
+        <property
+            file="${dependency.properties}"/>
         <antcall
             target="getAndInstallDropins">
             <param
@@ -101,7 +117,8 @@
         </antcall>
     </target>
     <target
-        name="getAndInstallBase">
+        name="getAndInstallBase"
+        if="${groupId}.url">
         <ant
             antfile="${dependencyTargets}"
             target="checkDependency">
@@ -121,7 +138,8 @@
         </ant>
     </target>    
     <target
-        name="getAndInstallDropins">
+        name="getAndInstallDropins"
+        if="${groupId}.url">
         <ant
             antfile="${dependencyTargets}"
             target="checkDependency">
diff --git a/releng.wtpbuilder/distribution/wtp.tests/build.xml b/releng.wtpbuilder/distribution/wtp.tests/build.xml
index 72d5aa9..ba7ad2b 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/build.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/build.xml
@@ -166,9 +166,12 @@
         time out may need to be set/adjust for api or performance tests?
         This testTimeLimit is the whole, overall limit on tests. There's
         a shorter one for individual suites. some common values, of
-        milliseconds to more recognizable units: 14400000: 4 hours
-        7200000: 2 hours 3600000: 1 hour 1800000: 30 minutes 600000: 10
-        minutes
+        milliseconds to more recognizable units: 
+        14400000: 4 hours
+        7200000: 2 hours 
+        3600000: 1 hour  
+        1800000: 30 minutes 
+        600000: 10 minutes
     -->
     <property
         name="testTimeLimit"
diff --git a/releng.wtpbuilder/distribution/wtp.tests/testScripts/wtp-junit-tests.xml b/releng.wtpbuilder/distribution/wtp.tests/testScripts/wtp-junit-tests.xml
index 4ae4ce2..026e52f 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/testScripts/wtp-junit-tests.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/testScripts/wtp-junit-tests.xml
@@ -40,9 +40,12 @@
             name="testRoot"
             value="${testRoot}"/>
         <!--
-            Some common values, of milliseconds to more recognizable
-            units: 14400000: 4 hours 7200000: 2 hours 3600000: 1 hour
-            1800000: 30 minutes 600000: 10 minutes
+        Some common values, of milliseconds to more recognizable units: 
+        14400000: 4 hours
+        7200000: 2 hours 
+        3600000: 1 hour  
+        1800000: 30 minutes 
+        600000: 10 minutes
         -->
         <property
             name="timeout"