| <project | |
| name="standalonePerfTest" | |
| default="standalonePerfTest" | |
| basedir="."> | |
| <!-- Required inputs: build.home buildType buildId timestamp build.stream | |
| [optional] build.committers [optional] testTarget [optional] --> | |
| <property environment="env"/> | |
| <!-- Let users override standard properties, if desired. If directory, file, | |
| or some properties do not exist, then standard properties will be used. --> | |
| <property | |
| name="wtp.builder.home" | |
| value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}"/> | |
| <property | |
| file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/> | |
| <fail | |
| unless="projectname" | |
| message="a projectname is required"/> | |
| <property | |
| name="keyCfgFile" | |
| value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/> | |
| <property | |
| name="build.home" | |
| value="${env.BUILD_HOME}"/> | |
| <echo | |
| level="info" | |
| message="keyCfgFile: ${keyCfgFile}"/> | |
| <!-- required to get proper value of dropinsFolder --> | |
| <property file="${keyCfgFile}"/> | |
| <fail | |
| message="testRoot must be set for this task" | |
| unless="env.PROJECT_TESTS"/> | |
| <property | |
| name="testRoot" | |
| value="${env.PROJECT_TESTS}/${projectname}"/> | |
| <property | |
| name="dependencyFileLocation" | |
| value="helios/dependencies.properties"/> | |
| <property | |
| name="build.distribution" | |
| value="wtp"/> | |
| <property | |
| name="buildDirectory" | |
| value="${env.PROJECT_PROJECTS}/${projectName}/workdir"/> | |
| <property | |
| name="dependency.properties" | |
| value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/${dependencyFileLocation}"/> | |
| <available | |
| file="${dependency.properties}" | |
| property="dependency.properties.exists"/> | |
| <fail | |
| message="dependency file not found: ${dependency.properties}" | |
| unless="dependency.properties.exists"/> | |
| <target name="standalonePerfTest"> | |
| <property | |
| file="${build.home}/${env.RELENG_BUILDER}/build.properties"/> | |
| <property | |
| name="local.cache.dir" | |
| value="${env.LOCAL_PREREQS_CACHE}"/> | |
| <property | |
| name="wtp.id" | |
| value="${buildType}-${buildId}-${timestamp}"/> | |
| <property | |
| name="wtp.dir.id" | |
| value="${build.stream}/${wtp.id}"/> | |
| <property file="${dependency.properties}"/> | |
| <condition property="eclipse.id" value="${wtp.eclipse.build.id}"> | |
| <isset property="wtp.eclipse.build.id"/> | |
| </condition> | |
| <property | |
| name="wtptests.repo" | |
| value="wtp-tests-repo-${wtptests.id}.zip"/> | |
| <property | |
| name="getprereq.wtp" | |
| value="true"/> | |
| <property | |
| name="getprereq.wtptests" | |
| value="true"/> | |
| <property | |
| name="test.installed" | |
| value="true"/> | |
| <property | |
| name="doNotPublishEarly" | |
| value="true"/> | |
| <mkdir | |
| dir="${env.RECOMMENDED_TMP_DIR}"/> | |
| <mkdir | |
| dir="${testRoot}"/> | |
| <condition | |
| property="installed"> | |
| <available | |
| file="${testRoot}/eclipse" | |
| type="dir"/> | |
| </condition> | |
| <echo message="installed: ${installed}"/> | |
| <echo message="installed location: ${testRoot}/eclipse"/> | |
| <antcall target="run"/> | |
| <antcall target="getEclipseTestDependencies"/> | |
| <antcall target="runEclipsePerfTests"/> | |
| </target> | |
| <target | |
| name="run"> | |
| <ant | |
| antfile="${wtp.builder.home}/distribution/${build.distribution}.tests/perfbuild.xml"> | |
| <property | |
| name="testRoot" | |
| value="${testRoot}"/> | |
| <property | |
| name="base.install.dir" | |
| value="${testRoot}"/> | |
| <property | |
| name="dependencyTargets" | |
| value="${wtp.builder.home}/scripts/dependency/build.xml"/> | |
| </ant> | |
| <copy | |
| file="${wtp.builder.home}/distribution/${build.distribution}.tests/templateFiles/index.php" | |
| todir="${testRoot}/results" | |
| overwrite="true"/> | |
| </target> | |
| <target | |
| name="runEclipsePerfTests"> | |
| <!--set which tests are to be run. This can be a single test suite as well (specified by calling runtest -onePerfSuite) --> | |
| <property | |
| name="testBundle" | |
| value="all"/> | |
| <exec dir="${testRoot}" executable="cmd"> | |
| <env key="JAVA_6_HOME" value="${env.JAVA_6_HOME}"/> | |
| <env key="JAVA_HOME" value="${env.JAVA_HOME}"/> | |
| <env key="ECLIPSE_ID" value="${eclipse.id}"/> | |
| <arg line="/c runEclipsePerfTests.bat -os ${env.BASEOS} -ws ${env.BASEWS} -arch ${env.BASEARCH} ${testBundle}"/> | |
| </exec> | |
| </target> | |
| <target | |
| name="getEclipseTestDependencies"> | |
| <property name="eAT.url" value="${eclipse.url}"/> | |
| <property name="eAT" value="eclipse-Automated-Tests-${eclipse.id}.zip"/> | |
| <available | |
| file="${local.cache.dir}/${eAT}" | |
| property="eAT.exists"/> | |
| <antcall target="getEclipseAutomatedTests"/> | |
| <available | |
| file="${local.cache.dir}/${eAT}" | |
| property="eAT.exists"/> | |
| <antcall target="installEclipseAutomatedTests"/> | |
| </target> | |
| <target | |
| name="getEclipseAutomatedTests" | |
| unless="eAT.exists"> | |
| <get | |
| dest="${local.cache.dir}/${eAT}" | |
| src="${eAT.url}/${eAT}" | |
| ignoreerrors="true"/> | |
| </target> | |
| <target | |
| name="installEclipseAutomatedTests" | |
| if="eAT.exists"> | |
| <!--this extracts the eclipse Automated Tests zip and then the eclipse test framework will install everything correctly.--> | |
| <exec dir="." executable="unzip"> | |
| <arg line="-o -qq ${local.cache.dir}/${eAT} -d ${testRoot}"/> | |
| </exec> | |
| <copy todir="${testRoot}"> | |
| <fileset dir="${testRoot}/eclipse-testing"/> | |
| </copy> | |
| <copy file="${wtp.builder.home}/scripts/standaloneTest/runEclipsePerfTests.bat" todir="${testRoot}" overwrite="true"/> | |
| <copy file="${wtp.builder.home}/scripts/standaloneTest/eclipsePerfTests.xml" todir="${testRoot}" overwrite="true" /> | |
| <delete dir="${testRoot}/eclipse-testing" /> | |
| </target> | |
| </project> |