post M5 test infrastructure
diff --git a/releng.wtpbuilder/distribution/wtp.tests/build.xml b/releng.wtpbuilder/distribution/wtp.tests/build.xml
index f203ccc..5f35bb2 100644
--- a/releng.wtpbuilder/distribution/wtp.tests/build.xml
+++ b/releng.wtpbuilder/distribution/wtp.tests/build.xml
@@ -1,190 +1,208 @@
-<project
-    name="Build specific targets and properties"
-    default="test">
+<project name="Build specific targets and properties" default="test">
 
-    <!-- Note to be cross-platform, "environment variables" are only appropriate for
-        some variables, e.g. ones we set, since properties are case sensitive, even if
-        the environment variables on your operating system are not, e.g. it will
-        be ${env.Path} not ${env.PATH} on Windows -->
-    <property environment="env" />
+	<!-- Note to be cross-platform, "environment variables" are only appropriate for
+		some variables, e.g. ones we set, since properties are case sensitive, even if
+		the environment variables on your operating system are not, e.g. it will
+		be ${env.Path} not ${env.PATH} on Windows -->
+	<property environment="env" />
 
 
-    <!-- ===================================================================== -->
-    <!-- Steps to do after the build is done. -->
-    <!-- ===================================================================== -->
-    <target name="test">
-        <antcall target="runTest" />
-    </target>
+	<!-- ===================================================================== -->
+	<!-- Steps to do after the build is done. -->
+	<!-- ===================================================================== -->
+	<target name="test">
+		<antcall target="runTest" />
+	</target>
 
-    <!-- ===================================================================== -->
-    <!-- Steps to do to test the build results -->
-    <!-- ===================================================================== -->
-    <target name="runTest">
+	<!-- ===================================================================== -->
+	<!-- Steps to do to test the build results -->
+	<!-- ===================================================================== -->
+	<target name="runTest">
 
-        <dirname
-            file="${ant.file}"
-            property="test.component.dir" />
-        <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
-        <property file="${buildDirectory}/label.properties" />
-        <property file="${wtp.builder.home}/build.properties" />
-
-        <mkdir dir="${testRoot}" />
-        <mkdir dir="${testRoot}/results" />
-        <mkdir dir="${testRoot}/results/consolelogs" />
-
-        <copy
-            todir="${testRoot}"
-            overwrite="true">
-            <fileset dir="${test.component.dir}/testScripts"></fileset>
-        </copy>
-
-        <echo message="BASEOS: ${env.BASEOS}   BASEWS: ${env.BASEWS}   BASEARCH: ${env.BASEARCH} " />
-
-        <ant
-            antfile="${test.component.dir}/testdependency.xml"
-            target="get">
-            <property
-                name="dependency.properties"
-                value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
-            <property
-                name="base.install.dir"
-                value="${testRoot}" />
-        </ant>
-
-        <antcall target="unzipTests" />
-
-        <antcall target="runTestEclipse">
-            <param
-                name="testTarget"
-                value="all" />
-        </antcall>
-        <antcall target="postRunTestEclipse">
-            <param
-                name="testTarget"
-                value="all" />
-        </antcall>
-
-    </target>
-
-    <target name="unzipTests">
-
-        <!--unzip the builds and junit tests
-        we use 'unzip' here, so we can continue on error
-        (such as if zip was not created, due to other failures or options).
-        -->
-        <exec
-            dir="${buildDirectory}/${buildLabel}"
-            executable="unzip"
-            failonerror="false">
-            <arg line="-o -qq wtp-sdk-${buildLabel}.zip -d ${testRoot}" />
-        </exec>
-
-        <exec
-            dir="${buildDirectory}/${buildLabel}"
-            executable="unzip"
-            failonerror="false">
-            <arg line="-o -qq wtp-wst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
-        </exec>
-        <exec
-            dir="${buildDirectory}/${buildLabel}"
-            executable="unzip"
-            failonerror="false">
-            <arg line="-o -qq wtp-jst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
-        </exec>
+		<dirname file="${ant.file}" property="test.component.dir" />
+		<ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
+		<property file="${buildDirectory}/label.properties" />
+		<property file="${wtp.builder.home}/build.properties" />
 
 
-        <exec
-            dir="${buildDirectory}/${buildLabel}"
-            executable="unzip"
-            failonerror="false">
-            <arg line="-o -qq wtp-jsf-sdk-${buildLabel}.zip -d ${testRoot}" />
-        </exec>
-        <exec
-            dir="${buildDirectory}/${buildLabel}"
-            executable="unzip"
-            failonerror="false">
-            <arg line="-o -qq wtp-jsf-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
-        </exec>
+		<mkdir dir="${testRoot}" />
+
+		<!-- if results already exist, delete them -->
+		<delete dir="${testRoot}/results" failOnError="false"/>
+		<mkdir dir="${testRoot}/results" />
+		<mkdir dir="${testRoot}/results/consolelogs" />
+		<mkdir dir="${testRoot}/results/consolelogs/metadata-logs" />
+		<mkdir dir="${testRoot}/results/consolelogs/configuration-logs" />
+
+		<copy todir="${testRoot}" overwrite="true">
+			<fileset dir="${test.component.dir}/testScripts"></fileset>
+		</copy>
+
+		<echo
+			message="BASEOS: ${env.BASEOS}   BASEWS: ${env.BASEWS}   BASEARCH: ${env.BASEARCH} " />
+
+		<ant antfile="${test.component.dir}/testdependency.xml"
+			target="get">
+			<property name="dependency.properties"
+				value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
+			<property name="base.install.dir" value="${testRoot}" />
+		</ant>
+
+		<antcall target="unzipTests" />
+
+		<antcall target="runTestEclipse">
+			<param name="testTarget" value="all" />
+		</antcall>
+		<antcall target="postRunTestEclipse">
+			<param name="testTarget" value="all" />
+		</antcall>
+
+	</target>
+
+	<target name="unzipTests">
+
+		<!--unzip the builds and junit tests
+			we use 'unzip' here, so we can continue on error
+			(such as if zip was not created, due to other failures or options).
+		-->
+		<exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
+			failonerror="false">
+			<arg line="-o -qq wtp-sdk-${buildLabel}.zip -d ${testRoot}" />
+		</exec>
+
+		<exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
+			failonerror="false">
+			<arg
+				line="-o -qq wtp-wst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
+		</exec>
+		<exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
+			failonerror="false">
+			<arg
+				line="-o -qq wtp-jst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
+		</exec>
 
 
-        <exec
-            dir="${buildDirectory}/${buildLabel}"
-            executable="unzip"
-            failonerror="false">
-            <arg line="-o -qq wtp-jpa-${buildLabel}.zip -d ${testRoot}" />
-        </exec>
-        <exec
-            dir="${buildDirectory}/${buildLabel}"
-            executable="unzip"
-            failonerror="false">
-            <arg line="-o -qq wtp-jpa-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
-        </exec>
+		<exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
+			failonerror="false">
+			<arg
+				line="-o -qq wtp-jsf-sdk-${buildLabel}.zip -d ${testRoot}" />
+		</exec>
+		<exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
+			failonerror="false">
+			<arg
+				line="-o -qq wtp-jsf-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
+		</exec>
 
-    </target>
 
-    <!-- time out may need to be set/adjust for api or performance tests?
-        some common values:
-        7200000: 2 hours
-        3600000: 1 hour
-        1800000: 30 minutes
-         600000: 10 minutes
-    -->
-    <property
-        name="testTimeLimit"
-        value="3600000" />
-    <property
-        name="testFailOnError"
-        value="false" />
+		<exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
+			failonerror="false">
+			<arg line="-o -qq wtp-jpa-${buildLabel}.zip -d ${testRoot}" />
+		</exec>
+		<exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
+			failonerror="false">
+			<arg
+				line="-o -qq wtp-jpa-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
+		</exec>
 
-    <target name="runTestEclipse" description="Run our JUnit's within an instance of antRunner" >
+	</target>
+
+	<!-- 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:
+		7200000: 2 hours
+		3600000: 1 hour
+		1800000: 30 minutes
+		600000: 10 minutes
+	-->
+	
+	<property name="testTimeLimit" value="7200000" />
+	<property name="testFailOnError" value="false" />
+
+	<target name="runTestEclipse"
+		description="Run our JUnit's within an instance of antRunner">
 
 
 
-                        <property name="vmargs" value="-Xms256m -Xmx512m -Dosgi.ws=${env.BASEWS} -Dosgi.os=${env.BASEOS} -Dosgi.arch=${env.BASEARCH} -Dws=${env.BASEWS} -Dos=${env.BASEOS} -Darch=${env.BASEARCH} -Dosgi.clean=true -Dnoclean=true -DbuildBranch=${buildBranch} -DbuildType=${buildType} -DbuildId=${buildId}"/>
+		<property name="vmargs"
+			value="-Xms256m -Xmx512m -Dosgi.ws=${env.BASEWS} -Dosgi.os=${env.BASEOS} -Dosgi.arch=${env.BASEARCH} -Dws=${env.BASEWS} -Dos=${env.BASEOS} -Darch=${env.BASEARCH} -Dosgi.clean=true -Dnoclean=true -DbuildBranch=${buildBranch} -DbuildType=${buildType} -DbuildId=${buildId}" />
 
-                        <property name="test-vm" value="${env.JAVA_5_HOME}/bin/java" />
+		<property name="test-vm" value="${env.JAVA_5_HOME}/bin/java" />
 
-                        <!--ensure executable has execute permission-->
-                        <chmod file="${testRoot}/eclipse/eclipse" perm="ugo+rx"/>
+		<!--ensure executable has execute permission-->
+		<chmod file="${testRoot}/eclipse/eclipse" perm="ugo+rx" />
 
+		
+		<echo message="Running junits" />
 
-                        <echo message="Running junits" />
+		<exec executable="${testRoot}/eclipse/eclipse"
+			dir="${testRoot}/eclipse" timeout="${testTimeLimit}">
+			<arg line="-nosplash" />
+			<arg line="-suppressErrors" />
+			<arg line="-debug" />
+			<arg line="-consoleLog" />
+			<arg line="-data ./antRunnerWorkspace" />
+			<arg line="-vm ${test-vm}" />
+			<arg line="-application org.eclipse.ant.core.antRunner" />
+			<arg
+				line="-propertyfile ${test.component.dir}/testScripts/test.properties" />
+			<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="${testRoot}/results/fullOutput.txt"
+				error="${testRoot}/results/fullErrorLog.txt" />
 
-                        <exec executable="${testRoot}/eclipse/eclipse" dir="${testRoot}/eclipse" timeout="${testTimeLimit}" >
-                                <arg line="-nosplash"/>
-                                <arg line="-suppressErrors"/>
-                                <arg line="-debug"/>
-                                <arg line="-consoleLog"/>
-                                <arg line="-data ./antRunnerWorkspace"/>
-                                <arg line="-vm ${test-vm}"/>
-                                <arg line="-application org.eclipse.ant.core.antRunner"/>
-                                <arg line="-propertyfile ${test.component.dir}/testScripts/test.properties" />
-                                <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>
 
-                        </exec>
+	</target>
 
-     </target>
+	<target name="postRunTestEclipse">
+		<copy
+			todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
+			overwrite="true">
+			<fileset dir="${testRoot}/results">
+				<include name="**/*output.txt" />
+			</fileset>
+		</copy>
+		<copy
+			todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
+			overwrite="true">
+			<fileset dir="${testRoot}/results">
+				<include name="**/*error.txt" />
+			</fileset>
+		</copy>
+		<copy file="${testRoot}/results/fullOutput.txt"
+			toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
+			overwrite="true">
+		</copy>
+		<copy file="${testRoot}/results/fullErrorLog.txt"
+			toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
+			overwrite="true">
+		</copy>
 
-    <target name="postRunTestEclipse">
-        <copy
-            todir="${buildDirectory}/${buildLabel}/testResults"
-            overwrite="true">
-            <fileset dir="${testRoot}/results">
-                <include name="**/*.*" />
-            </fileset>
-        </copy>
-    </target>
+		<copy todir="${buildDirectory}/${buildLabel}/testResults/xml"
+			overwrite="true">
+			<fileset dir="${testRoot}/results/xml">
+				<include name="*.xml" />
+			</fileset>
+		</copy>
+		<copy todir="${buildDirectory}/${buildLabel}/testResults/html"
+			overwrite="true">
+			<fileset dir="${testRoot}/results/html">
+				<include name="*.html" />
+			</fileset>
+		</copy>
+	</target>
 
 
 </project>