aboutsummaryrefslogtreecommitdiff
path: root/basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/scripts/test.xml
diff options
context:
space:
mode:
Diffstat (limited to 'basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/scripts/test.xml')
-rw-r--r--basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/scripts/test.xml145
1 files changed, 145 insertions, 0 deletions
diff --git a/basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/scripts/test.xml b/basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/scripts/test.xml
new file mode 100644
index 0000000..81762df
--- /dev/null
+++ b/basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/scripts/test.xml
@@ -0,0 +1,145 @@
+<project name="Targets to run Automated Tests Locally and Remotely" default="main" basedir=".">
+
+<!--
+This script must be called with the ${tester} property set.
+
+The testing.properties file must contain definitions for all other properties in this script if they are not
+set in a calling script or command line. See test.properties.template for property descriptions.
+-->
+
+<property name="customTest" value="${tester}/customTest.xml" />
+<property name="testing.properties" value="${tester}/testing.properties" />
+<property file="${testing.properties}" />
+<property name="dropLocation" value="${buildDirectory}" />
+
+<target name="main">
+ <antcall target="${testTarget}" />
+</target>
+
+<!--
+Targets for setting up and running tests remotely
+It is assumed that keys are set up on test machines to permit connections without user name and password prompts.
+-->
+<target name="runtests-remote" depends="setRemoteLoginClient,setRemoteCopyClient">
+ <property name="testResults" value="${dropLocation}/${buildLabel}/testresults" />
+
+ <exec dir="." executable="${loginClient}">
+ <arg line="${testMachine} mkdir ${testDir}" />
+ </exec>
+
+ <!--install the vm used for testing-->
+ <antcall target="installVmForRemote" />
+
+ <!--set up the automated testing framework-->
+ <exec dir="." executable="${copyClient}">
+ <arg line="${dropLocation}/${buildLabel}/${testFramework} ${testMachine}:${testDir}" />
+ </exec>
+ <exec dir="." executable="${loginClient}">
+ <arg line="${testMachine} unzip -o -qq ${testDir}/${testFramework} -d ${testDir}" />
+ </exec>
+ <exec dir="." executable="${copyClient}">
+ <arg line="${dropLocation}/${buildLabel}/${runtime} ${testMachine}:${executionDir}" />
+ </exec>
+
+ <!--callback to custom script for post setup-->
+ <ant antfile="${customTest}" target="customSetup" dir="${basedir}"/>
+
+ <exec dir="." executable="${loginClient}">
+ <arg line="${testMachine} ${testScript} ${args}" />
+ </exec>
+
+ <!--${testResults} and ${testResults}/consolelogs must exist before rcp and scp copy operations.
+ Directories contents are copied flattened if the destination directories don't exist.-->
+ <mkdir dir="${testResults}/consolelogs" />
+
+ <exec dir="." executable="${copyClient}">
+ <arg line="-r ${testMachine}:${executionDir}/results/* ${testResults}"/>
+ </exec>
+ <!-- copy the console log from testing -->
+ <exec dir="." executable="${copyClient}">
+ <arg line="-r ${testMachine}:${executionDir}/${consolelog} ${testResults}/consolelogs"/>
+ </exec>
+</target>
+
+<target name="setRemoteLoginClient">
+ <!--use rsh if rsh is set, otherwise use default, ssh-->
+ <condition property="loginClient" value="rsh">
+ <isset property="rsh" />
+ </condition>
+ <!--default remote login client-->
+ <property name="loginClient" value="ssh" />
+</target>
+
+<target name="setRemoteCopyClient">
+ <!--use rcp if rsh is set, otherwise use default, scp-->
+ <condition property="copyClient" value="rcp">
+ <isset property="rsh" />
+ </condition>
+ <!--default remote copy client-->
+ <property name="copyClient" value="scp" />
+</target>
+
+<target name="installVmForRemote" unless="skipVmInstall">
+ <available file="${vmDest}" property="vmExists" />
+ <antcall target="getVM" />
+
+ <exec dir="." executable="${copyClient}">
+ <arg line="${vmDest} ${testMachine}:${testDir}" />
+ </exec>
+
+ <exec dir="." executable="${loginClient}">
+ <arg line="${testMachine} ${vmInstallCommand}" />
+ </exec>
+</target>
+
+
+<!--
+
+Targets for setting up and running tests locally
+
+-->
+<target name="runtests-local">
+ <delete dir="${testDir}" quiet="true"/>
+ <mkdir dir="${testDir}" />
+ <property name="testResults" value="${dropLocation}/${buildLabel}/testresults" />
+
+ <!--set up testing directory-->
+ <unzip src="${dropLocation}/${buildLabel}/${testFramework}" dest="${testDir}" />
+
+ <!--install the vm used for testing-->
+ <antcall target="installVmForLocal" />
+
+ <!--copy in the runtime to test-->
+ <copy todir="${executionDir}" file="${dropLocation}/${buildLabel}/${runtime}" />
+
+ <!--callback to custom script for additional setup-->
+ <ant antfile="${customTest}" target="customSetup" dir="${basedir}" />
+
+ <!--run the tests-->
+ <exec dir="${executionDir}" executable="${testExecutable}">
+ <arg line="${args}" />
+ </exec>
+
+ <mkdir dir="${testResults}" />
+ <mkdir dir="${testResults}/consolelogs" />
+
+ <copy todir="${testResults}">
+ <fileset dir="${executionDir}/results" />
+ </copy>
+
+ <copy todir="${testResults}/consolelogs" file="${executionDir}/${consolelog}" />
+</target>
+
+<target name="installVmForLocal" unless="skipVmInstall">
+ <available file="${vmDest}" property="vmExists" />
+ <antcall target="getVM" />
+ <exec dir="${testDir}" executable="${vmInstallExecutable}">
+ <arg line="${vmInstallCommand}" />
+ </exec>
+</target>
+
+<target name="getVM" unless="vmExists">
+ <get src="${vmUrl}" dest="${vmDest}" usetimestamp="true"/>
+</target>
+
+</project> \ No newline at end of file