changes for post M5 test framework
diff --git a/releng.wtpbuilder/distribution/wtp.tests/build.xml b/releng.wtpbuilder/distribution/wtp.tests/build.xml
index 64f8dae..f203ccc 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/build.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/build.xml
@@ -162,12 +162,15 @@
                                 <arg line="-logger org.apache.tools.ant.DefaultLogger" />
                                 <arg line="-file ${test.component.dir}/testScripts/test.xml all"/>
                                 <arg line="-DtestRoot=${testRoot}" />
+                                <arg line="-DtestDir=${testRoot}" />
                                 <arg line="-DbuildDirectory=${buildDirectory}" />
                                 <arg line="-Dbuild.home=${env.BUILD_HOME}" />
                                 <arg line="-Dperf.buildId=${buildType}${date}-${time}" />
                                 <arg line="-DeclipseBuilderDirectory=${pde.builder.path}" />
                                 <arg line="-DbuildLabel=${buildLabel}" />
                                 <arg line="-vmargs ${vmargs}"/>
+                                <env key="DISPLAY" value="${env.DISPLAY}" />
+                                <redirector output="./antRunnerExecOutput.txt" error="./antRunnerExecErrorOutput.txt"/>
 
                         </exec>
 
diff --git a/releng.wtpbuilder/distribution/wtp.tests/testScripts/junit-tests.xml b/releng.wtpbuilder/distribution/wtp.tests/testScripts/junit-tests.xml
index 78dcca1..86ddfb7 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/testScripts/junit-tests.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/testScripts/junit-tests.xml
@@ -5,7 +5,9 @@
     <!-- basedir should be "eclipse-home", the eclipse install being tested -->
 
     <property name="library-xml-file"
-              value="${basedir}/plugins/org.eclipse.test_3.1.0/library.xml" />
+              value="${testRoot}/library.xml" />
+           <!--   value="${basedir}/plugins/org.eclipse.test_3.1.0/library.xml" /> -->
+
 
     <import file="${library-xml-file}" />
 
@@ -38,7 +40,7 @@
                       value="org.eclipse.test.coretestapplication" />
             <property name="extraVMargs"
                       value="${extraVMargs} ${otherVMArgs}" />
-            <property name="timeout" value="1700000" />
+            <property name="timeout" value="600000" />
             <property name="junit-report-output"
                       value="${junit-report-output}" />
             <property name="plugin-path"
@@ -74,7 +76,7 @@
             <property name="application"
                       value="org.eclipse.test.uitestapplication" />
             <property name="extraVMargs"
-                value="${extraVMargs} ${otherVMArgs}" />
+                      value="${extraVMargs} ${otherVMArgs}" />
             <property name="timeout" value="600000" />
             <property name="junit-report-output"
                       value="${junit-report-output}" />
@@ -86,7 +88,7 @@
                       value="${eclipse-home}/${classname}.xml" />
             <property name="useEclispeExe" value="true" />
             <property name="classname" value="${classname}" />
-           <property name="jvm" value="${env.JAVA_HOME}/bin/java" />
+            <property name="jvm" value="${env.JAVA_5_HOME}/bin/java" />
         </ant>
     </target>
 
diff --git a/releng.wtpbuilder/distribution/wtp.tests/testScripts/library.xml b/releng.wtpbuilder/distribution/wtp.tests/testScripts/library.xml
new file mode 100644
index 0000000..7cf904e
--- /dev/null
+++ b/releng.wtpbuilder/distribution/wtp.tests/testScripts/library.xml
@@ -0,0 +1,220 @@
+<?xml version="1.0"?>
+<project name="Library" default="usage" basedir=".">
+
+        <property environment="env" />
+
+        <target name="usage">
+                <echo message="Please refer to the testframework.html in org.eclipse.test for instructions on usage." />
+        </target>
+
+        <target name="init">
+                <!--
+                        Parameters:
+                                (Mandatory)
+                                data-dir                - the directory for Eclipse to write its data
+                                plugin-name             - the name of the plugin to test
+                                classname               - the name of the test class
+
+                                (Optional - overrides defaults set in script)
+                                vmargs                  - a string containing arguments to pass to the VM.
+                                extraVMargs             - allows separate setting of VM args from separate caller.
+                                timeout                 - overrides default test timeout value (in milliseconds).
+                                test-output             - overrides default output file produced from test run.
+                                plugin-path             - path to root of plug-in
+                                useEclipseExe   - property setting forces test to launch via eclipse executable.
+                                junit-report-output - output directory for junit reports produced for specified classname.
+                -->
+
+                <tstamp>
+                <format property="TIMENOW" pattern="HHmmssSSSS"/>
+            </tstamp>
+                <!--property setting useEclipseExe launches tests using the eclipse executable-->
+                <condition property="launchTarget" value="eclipse-test">
+                        <isset property="useEclipseExe" />
+                </condition>
+                <!--default launch target for launching tests-->
+                <property name="launchTarget" value="java-test" />
+                <property name="formatter" value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter"/>
+            <!--default heap sizes when running performance tests-->
+            <condition property="vmargs" value=" -Xms256M -Xmx256M">
+                        <equals arg1="${test.target}" arg2="performance" />
+            </condition>
+                <property name="extraVMargs" value=""/>
+                <property name="plugin-path" value="" />
+                <property name="timeout" value="7200000" />
+                <property name="test-output" value="${eclipse-home}/${classname}.xml" />
+                <property name="junit-report-output" value="${eclipse-home}/results" />
+                <mkdir dir="${junit-report-output}"/>
+        </target>
+
+        <target name="core-test" description="Eclipse application used to launch HEADLESS plugin tests." depends="init">
+                <antcall target="${launchTarget}">
+                        <param name="application" value="org.eclipse.test.coretestapplication"/>
+                </antcall>
+        </target>
+
+        <target name="ui-test" description="Eclipse application used to launch UI plugin tests." depends="init">
+                <antcall target="${launchTarget}">
+                        <param name="application" value="org.eclipse.test.uitestapplication"/>
+                </antcall>
+        </target>
+
+        <target name="java-test">
+                <!--default vm args-->
+                <property name="vmargs" value=" -Xms40m -Xmx256m"/>
+
+                <!--set default jvm to use for testing-->
+                <property name="jvm" value="${java.home}/bin/java" />
+
+                <echo message="Running ${classname}. Result file: ${junit-report-output}/${classname}.xml."/>
+
+                <java fork="true" dir="." timeout="${timeout}" jvm="${jvm}" logError="true"
+                        classname="org.eclipse.core.launcher.Main" output="${junit-report-output}/${classname}.txt">
+                <classpath>
+                        <fileset dir="${eclipse-home}/plugins">
+                        <include name="org.eclipse.equinox.launcher_*.jar"/>
+                        </fileset>
+                </classpath>
+                    <arg line="-application ${application}"/>
+                    <arg line="-data ${data-dir}"/>
+                    <arg line="formatter=${formatter},${test-output}"/>
+                    <arg line="-testPluginName ${plugin-name}"/>
+                    <arg line="-className ${classname}"/>
+                    <arg line="-os ${os}"/>
+                    <arg line="-ws ${ws}"/>
+                    <arg line="-arch ${arch}"/>
+                    <arg line="-consolelog"/>
+                    <jvmarg line="${vmargs} ${extraVMargs}"/>
+                    <sysproperty key="PLUGIN_PATH" value="${plugin-path}"/>
+                </java>
+                <antcall target="collect-results" />
+        </target>
+
+        <target name="eclipse-test" description="Runs the specified classname as a plug-in test.">
+                <property name="vmargs" value="-Xms256m -Xmx512m"/>
+
+                <!--use -consolelog if launching a headless test-->
+                <condition property="consolelog" value="-consolelog">
+                        <equals arg1="${application}" arg2="org.eclipse.test.coretestapplication"/>
+                </condition>
+                <property name="consolelog" value="" />
+
+                <!--
+                        vm selection priority:
+                        1.  user-specified java executable via outer Ant property setting of "jvm".
+                        2.  java executable on path.
+                -->
+                <condition property="test-vm" value="-vm ${jvm}">
+                        <isset property="jvm" />
+                </condition>
+                <property name="test-vm" value="" />
+
+                <!--ensure executable has execute permission-->
+                <chmod file="${eclipse-home}/eclipse" perm="ugo+rx"/>
+
+
+                <echo message="Running ${classname}" /> 
+                <echo message="Result file: ${junit-report-output}/${classname}.xml."/>
+                <echo message="DISPLAY: ${env.DISPLAY}" />
+                <exec executable="${eclipse-home}/eclipse" dir="${eclipse-home}" timeout="${timeout}" logError="true" failonerror="false" >
+                        <arg line="-data ${data-dir}"/>
+                        <arg line="${test-vm}"/>
+                        <arg line="-application ${application}"/>
+                        <arg line="formatter=${formatter},${test-output}"/>
+                        <arg line="-testPluginName ${plugin-name}"/>
+                        <arg line="-className ${classname}"/>
+                        <arg line="-nosplash"/>
+                        <arg line="-suppressErrors"/>
+                        <arg line="${consolelog}"/>
+                        <arg line="-vmargs ${vmargs} ${extraVMargs} -DPLUGIN_PATH=${plugin-path}"/>
+                        <env key="DISPLAY" value="${env.DISPLAY}"  />
+                        <redirector output="${junit-report-output}/${classname}.output.txt" error="${junit-report-output}/${classname}.error.txt"/>
+                        
+                </exec>
+                <antcall target="collect-results" />
+        </target>
+
+        <target name="collect-results">
+                <dirname property="output-dir" file="${test-output}"/>
+                <basename property="output-file-name" file="${test-output}"/>
+                <junitreport todir="${junit-report-output}" tofile="${classname}.xml">
+                        <fileset dir="${output-dir}">
+                                <include name="${output-file-name}"/>
+                        </fileset>
+                </junitreport>
+
+                <style style="${eclipse-home}/plugins/org.eclipse.test/JUNIT.XSL"
+                        basedir="${junit-report-output}"
+                        includes="${classname}.result.xml"
+                        destdir="${junit-report-output}" />
+
+                <!--save .log content and *.log content from configuration directory-->
+                <concat destfile="${junit-report-output}/${classname}.log">
+                        <fileset dir="${eclipse-home}" includes="${data-dir}/.metadata/*.log"/>
+                        <fileset dir="${eclipse-home}" includes="configuration/*.log"/>
+                </concat>
+        </target>
+
+        <target name="collect">
+                <!--
+                        This target can be used to aggragate test runs from multiple test suites into a single report.
+
+                        Parameters to this target:
+                        includes                - the names of the files to include
+                        output-file             - the name of the output file to produce
+                -->
+                <junitreport todir="." tofile="${output-file}">
+                        <fileset dir=".">
+                                <include name="${includes}"/>
+                        </fileset>
+                </junitreport>
+        </target>
+
+        <target name="test-regressions">
+                <!--
+                        Parameters to this target:
+                        oldfile                 - the name of the baseline XML file to test against
+                        newfile                 - the name of the XML file containing most recent test results
+                        outfile                 - the name of the file produced
+                -->
+
+                <echo message="Running Regression Tests"/>
+                <property name="test-plugin-dir" value="${basedir}/fragments/org.eclipse.test"/>
+                <property name="rt-stylesheet" value="${test-plugin-dir}/regression-test.xsl"/>
+                <property name="rt-classname" value="org.eclipse.test.RegressionTest"/>
+
+                <!-- Ensure that the file exists, and give sensible behaviour if not -->
+                <style style="${rt-stylesheet}" in="${newfile}" out="${newfile}.tmp"/>
+                <style style="${rt-stylesheet}" in="${oldfile}" out="${oldfile}.tmp"/>
+                <java classname="${rt-classname}">
+                        <classpath>
+                                <pathelement location="${test-plugin-dir}/bin"/>
+                        </classpath>
+                        <arg value="${oldfile}.tmp"/>
+                        <arg value="${newfile}.tmp"/>
+                        <arg value="${outfile}"/>
+                </java>
+
+                <delete file="${oldfile}.tmp"/>
+                <delete file="${newfile}.tmp"/>
+        </target>
+
+        <target name="notfiy">
+                <!--
+                        Parameters to this target:
+                        infile  - the name of the file that contains the message body
+                        address - the e-mail address to notify
+                -->
+                <echo message="Sending Notification"/>
+                <property name="email-from" value="Eclipse Automated Test@oti.com"/>
+                <property name="email-subject" value="Nightly Build Report"/>
+                <property name="email-server" value="mail.ott.oti.com"/>
+
+                <mail from="${email-from}" tolist="${address}"
+          subject="${email-subject}" files="${infile}"
+          mailhost="${email-server}"/>
+
+        </target>
+
+</project>
+