blob: 054e6a34562ee65e13a14b15ce038c75e0382222 [file] [log] [blame]
<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>