blob: 5c79d0173f34442916816fcc5d36cf43d58d90dd [file] [log] [blame]
david_williams26f3a5f2008-03-07 22:56:23 +00001<project
2 name="Build specific targets and properties"
3 default="runTest">
david_williams8e4dc9c2008-07-06 08:08:58 +00004 <!--
5 Note to be cross-platform, "environment variables" are only
6 appropriate for some variables, e.g. ones we set, since
7 properties are case sensitive, even if the environment variables
8 on your operating system are not, e.g. it will be ${env.Path}
9 not ${env.PATH} on Windows
10 -->
david_williams26f3a5f2008-03-07 22:56:23 +000011 <property
david_williams8e4dc9c2008-07-06 08:08:58 +000012 environment="env"/>
david_williams26f3a5f2008-03-07 22:56:23 +000013 <fail
14 message="testRoot must be set for this task"
david_williams8e4dc9c2008-07-06 08:08:58 +000015 unless="testRoot"/>
16 <!--
17 =====================================================================
18 -->
david_williams26f3a5f2008-03-07 22:56:23 +000019 <!-- Steps to do after the build is done. -->
david_williams8e4dc9c2008-07-06 08:08:58 +000020 <!--
21 =====================================================================
22 -->
david_williams26f3a5f2008-03-07 22:56:23 +000023 <target
24 name="test">
25 <dirname
26 file="${ant.file}"
david_williams8e4dc9c2008-07-06 08:08:58 +000027 property="currentDirectory"/>
david_williams26f3a5f2008-03-07 22:56:23 +000028 <ant
29 antfile="${ant.file}"
30 target="runTest"
david_williams8e4dc9c2008-07-06 08:08:58 +000031 dir="${currentDirectory}"/>
david_williams26f3a5f2008-03-07 22:56:23 +000032 </target>
david_williams8e4dc9c2008-07-06 08:08:58 +000033 <!--
34 =====================================================================
35 -->
david_williams26f3a5f2008-03-07 22:56:23 +000036 <!-- Steps to do to test the build results -->
david_williams8e4dc9c2008-07-06 08:08:58 +000037 <!--
38 =====================================================================
39 -->
david_williams26f3a5f2008-03-07 22:56:23 +000040 <target
41 name="runTest">
42 <dirname
43 file="${ant.file}"
david_williams8e4dc9c2008-07-06 08:08:58 +000044 property="test.component.dir"/>
david_williams26f3a5f2008-03-07 22:56:23 +000045 <ant
david_williams8e4dc9c2008-07-06 08:08:58 +000046 antfile="${wtp.builder.home}/scripts/build/label.xml"/>
david_williams26f3a5f2008-03-07 22:56:23 +000047 <property
david_williams8e4dc9c2008-07-06 08:08:58 +000048 file="${buildDirectory}/label.properties"/>
david_williams26f3a5f2008-03-07 22:56:23 +000049 <property
david_williams8e4dc9c2008-07-06 08:08:58 +000050 file="${wtp.builder.home}/build.properties"/>
david_williams26f3a5f2008-03-07 22:56:23 +000051 <fail
52 message="testRoot must be set for this task"
david_williams8e4dc9c2008-07-06 08:08:58 +000053 unless="testRoot"/>
david_williams26f3a5f2008-03-07 22:56:23 +000054 <mkdir
david_williams8e4dc9c2008-07-06 08:08:58 +000055 dir="${testRoot}"/>
david_williams26f3a5f2008-03-07 22:56:23 +000056
57 <!-- if results already exist, delete them -->
58 <delete
59 dir="${testRoot}/results"
david_williams8e4dc9c2008-07-06 08:08:58 +000060 failOnError="false"/>
david_williams26f3a5f2008-03-07 22:56:23 +000061 <mkdir
david_williams8e4dc9c2008-07-06 08:08:58 +000062 dir="${testRoot}/results"/>
david_williams26f3a5f2008-03-07 22:56:23 +000063 <mkdir
david_williams8e4dc9c2008-07-06 08:08:58 +000064 dir="${testRoot}/results/consolelogs"/>
david_williamsec71cef2009-11-15 06:32:08 +000065
david_williams26f3a5f2008-03-07 22:56:23 +000066 <copy
67 todir="${testRoot}"
68 overwrite="true">
69 <fileset
70 dir="${test.component.dir}/testScripts"></fileset>
71 </copy>
72 <echo
david_williams8e4dc9c2008-07-06 08:08:58 +000073 message="BASEOS: ${env.BASEOS} BASEWS: ${env.BASEWS} BASEARCH: ${env.BASEARCH} "/>
david_williams26f3a5f2008-03-07 22:56:23 +000074 <ant
75 antfile="${test.component.dir}/testdependency.xml"
76 target="get">
77 <property
78 name="dependency.properties"
david_williamscecc5a92009-09-30 03:17:50 +000079 value="${buildDirectory}/maps/${env.RELENG}${env.DEP_DIR}/maps/dependencies.properties"/>
david_williams26f3a5f2008-03-07 22:56:23 +000080 <property
81 name="base.install.dir"
david_williams8e4dc9c2008-07-06 08:08:58 +000082 value="${testRoot}"/>
david_williams26f3a5f2008-03-07 22:56:23 +000083 </ant>
84 <antcall
david_williams8e4dc9c2008-07-06 08:08:58 +000085 target="unzipTests"/>
david_williams26f3a5f2008-03-07 22:56:23 +000086 <antcall
87 target="runTestEclipse">
88 <param
89 name="testTarget"
david_williams8e4dc9c2008-07-06 08:08:58 +000090 value="all"/>
david_williams26f3a5f2008-03-07 22:56:23 +000091 </antcall>
92 <antcall
93 target="postRunTestEclipse">
94 <param
95 name="testTarget"
david_williams8e4dc9c2008-07-06 08:08:58 +000096 value="all"/>
david_williams26f3a5f2008-03-07 22:56:23 +000097 </antcall>
98 </target>
99 <target
100 name="unzipTests">
david_williams8e4dc9c2008-07-06 08:08:58 +0000101 <!--
102 unzip the builds and junit tests we use 'unzip' here, so we
103 can continue on error (such as if zip was not created, due
104 to other failures or options).
david_williams26f3a5f2008-03-07 22:56:23 +0000105 -->
david_williams8e4dc9c2008-07-06 08:08:58 +0000106 <!--
107 this main block of zips is handled by 'dependancies' in the
108 patch build <exec dir="${buildDirectory}/${buildLabel}"
109 executable="unzip" failonerror="false"> <arg line="-o -qq
110 wtp-sdk-${buildLabel}.zip -d ${testRoot}" /> </exec> <exec
111 dir="${buildDirectory}/${buildLabel}" executable="unzip"
112 failonerror="false"> <arg line="-o -qq
113 wtp-wst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
114 </exec> <exec dir="${buildDirectory}/${buildLabel}"
115 executable="unzip" failonerror="false"> <arg line="-o -qq
116 wtp-jst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
117 </exec> <exec dir="${buildDirectory}/${buildLabel}"
118 executable="unzip" failonerror="false"> <arg line="-o -qq
119 wtp-jpt-sdk-${buildLabel}.zip -d ${testRoot}" /> </exec>
120 <exec dir="${buildDirectory}/${buildLabel}"
121 executable="unzip" failonerror="false"> <arg line="-o -qq
122 wtp-jpt-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
123 </exec>
david_williams26f3a5f2008-03-07 22:56:23 +0000124 -->
david_williams26f3a5f2008-03-07 22:56:23 +0000125 <exec
126 dir="${buildDirectory}/${buildLabel}"
127 executable="unzip"
128 failonerror="false">
129 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000130 line="-o -qq wtp-${buildLabel}.zip -d ${testRoot}"/>
131 </exec>
132 <exec
133 dir="${buildDirectory}/${buildLabel}"
134 executable="unzip"
135 failonerror="false">
136 <arg
137 line="-o -qq wtp-patches-tests-${buildLabel}.zip -d ${testRoot}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000138 </exec>
139 </target>
david_williams8e4dc9c2008-07-06 08:08:58 +0000140 <!--
141 time out may need to be set/adjust for api or performance tests?
142 This testTimeLimit is the whole, overall limit on tests. There's
143 a shorter one for individual suites. some common values, of
144 milliseconds to more recognizable units: 7200000: 2 hours
145 3600000: 1 hour 1800000: 30 minutes 600000: 10 minutes
david_williams26f3a5f2008-03-07 22:56:23 +0000146 -->
147 <property
148 name="testTimeLimit"
david_williams8e4dc9c2008-07-06 08:08:58 +0000149 value="7200000"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000150 <property
151 name="testFailOnError"
david_williams8e4dc9c2008-07-06 08:08:58 +0000152 value="false"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000153 <target
154 name="runTestEclipse"
155 description="Run our JUnit's within an instance of antRunner">
156 <property
157 name="test-vm"
david_williams8e4dc9c2008-07-06 08:08:58 +0000158 value="${env.JAVA_5_HOME}/bin/java"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000159 <property
160 name="plugin-path"
david_williams8e4dc9c2008-07-06 08:08:58 +0000161 value="${testRoot}/eclipse/plugins"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000162 <property
163 name="vmargs"
david_williams3ac3b032008-09-23 05:23:34 +0000164 value="-Xmx512m -Dosgi.ws=${env.BASEWS} -Dosgi.os=${env.BASEOS} -Dosgi.arch=${env.BASEARCH} -Dws=${env.BASEWS} -Dos=${env.BASEOS} -Darch=${env.BASEARCH} -Dnoclean=true -DbuildBranch=${buildBranch} -DbuildType=${buildType} -DbuildId=${buildId} -DtestRoot=${testRoot} -DtestDir=${testRoot} -DbuildDirectory=${buildDirectory} -Dbuild.home=${env.BUILD_HOME} -DeclipseBuilderDirectory=${pde.builder.path} -DbuildLabel=${buildLabel} -Dtest-vm=${test-vm} -Dperf.buildId=${buildType}${date}-${time}"/>
david_williams8e4dc9c2008-07-06 08:08:58 +0000165 <!--
166 set path to eclipse folder. If local folder, use '.';
167 otherwise, use c:\path\to\eclipse or /path/to/eclipse/
168 -->
david_williams26f3a5f2008-03-07 22:56:23 +0000169 <property
170 name="eclipse.home"
david_williams8e4dc9c2008-07-06 08:08:58 +0000171 value="${testRoot}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000172 <echo
david_williams8e4dc9c2008-07-06 08:08:58 +0000173 message="Running junits"/>
174 <!--
175 If there is not exactly one launcher in the stack, we'd best
176 fail fast, since we are not expecting that, and may indicate
177 an installation that would produce unpredictable results
david_williams26f3a5f2008-03-07 22:56:23 +0000178 -->
david_williams8e4dc9c2008-07-06 08:08:58 +0000179 <!--
180 requires ant 1.7, and at this point, we're running 1.6 from
181 eclipse ... <condition property="expectedNumberOfLaunchers">
182 <resourcecount when="equal" count="1" > <fileset
183 dir="${testRoot}/eclipse/plugins"> <include
184 name="org.eclipse.equinox.launcher_*.jar" /> </fileset>
185 </resourcecount> </condition> <fail message="Did not find
186 expected number of launcher jars. Check installation."
187 unless="expectedNumberOfLaunchers" />
188 -->
189 <!--
190 Remember: using -debug for org.eclipse.ant.core.antRunner
191 produces ant debug info to be output ... which is a TON of
192 stuff
david_williams26f3a5f2008-03-07 22:56:23 +0000193 -->
194 <java
195 taskname="unit-test-masterprocess"
196 fork="true"
197 resultProperty="wtpmasterjunitresult"
198 failonerror="false"
199 timeout="${testTimeLimit}"
200 dir="${testRoot}/eclipse"
201 jvm="${env.JAVA_5_HOME}/bin/java"
202 classname="org.eclipse.equinox.launcher.Main">
203 <classpath>
204 <fileset
205 dir="${testRoot}/eclipse/plugins">
206 <include
david_williams8e4dc9c2008-07-06 08:08:58 +0000207 name="org.eclipse.equinox.launcher_*.jar"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000208 </fileset>
209 </classpath>
210 <jvmarg
david_williams3ac3b032008-09-23 05:23:34 +0000211 value="-Xmx512m"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000212 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000213 value="-Dosgi.ws=${env.BASEWS}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000214 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000215 value="-Dosgi.os=${env.BASEOS}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000216 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000217 value="-Dosgi.arch=${env.BASEARCH}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000218 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000219 value="-Dws=${env.BASEWS}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000220 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000221 value="-Dos=${env.BASEOS}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000222 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000223 value="-Darch=${env.BASEARCH}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000224 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000225 value="-Dnoclean=true"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000226 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000227 value="-DbuildBranch=${buildBranch}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000228 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000229 value="-DbuildType=${buildType}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000230 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000231 value="-DbuildId=${buildId}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000232 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000233 value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}"/>
david_williams249fae52008-05-02 03:41:42 +0000234 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000235 value="-Dprojectname=${projectname}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000236 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000237 value="-nosplash"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000238 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000239 value="-consolelog"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000240 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000241 value="-data"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000242 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000243 value="${testRoot}/overallTestWorkspace"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000244 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000245 value="-application"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000246 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000247 value="org.eclipse.ant.core.antRunner"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000248 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000249 value="-file"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000250 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000251 value="${testRoot}/test.xml"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000252 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000253 value="-logger"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000254 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000255 value="org.apache.tools.ant.DefaultLogger"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000256 <env
257 key="DISPLAY"
david_williams8e4dc9c2008-07-06 08:08:58 +0000258 value="${env.DISPLAY}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000259 <redirector
260 output="${testRoot}/results/fullOutput.txt"
david_williams8e4dc9c2008-07-06 08:08:58 +0000261 error="${testRoot}/results/fullErrorLog.txt"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000262 <sysproperty
263 key="build.home"
david_williams8e4dc9c2008-07-06 08:08:58 +0000264 value="${env.BUILD_HOME}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000265 <sysproperty
266 key="buildDirectory"
david_williams8e4dc9c2008-07-06 08:08:58 +0000267 value="${buildDirectory}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000268 <sysproperty
269 key="buildLabel"
david_williams8e4dc9c2008-07-06 08:08:58 +0000270 value="${buildLabel}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000271 <sysproperty
272 key="baseLocation"
david_williams8e4dc9c2008-07-06 08:08:58 +0000273 value="${baseLocation}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000274 <sysproperty
275 key="testRoot"
david_williams8e4dc9c2008-07-06 08:08:58 +0000276 value="${testRoot}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000277 <sysproperty
278 key="testDir"
david_williams8e4dc9c2008-07-06 08:08:58 +0000279 value="${testRoot}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000280 <sysproperty
281 key="perf.buildId"
david_williams8e4dc9c2008-07-06 08:08:58 +0000282 value="${buildType}${date}-${time}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000283 <sysproperty
284 key="eclipseBuilderDirectory"
david_williams8e4dc9c2008-07-06 08:08:58 +0000285 value="${pde.builder.path}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000286 <sysproperty
287 key="buildLabel"
david_williams8e4dc9c2008-07-06 08:08:58 +0000288 value="${buildLabel}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000289 </java>
290 <echo
david_williams8e4dc9c2008-07-06 08:08:58 +0000291 message="wtpmasterjunitresult ${wtpmasterjunitresult}"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000292 </target>
293 <target
294 name="postRunTestEclipse">
295 <copy
296 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
297 overwrite="true"
298 failonerror="false">
299 <fileset
300 dir="${testRoot}/results">
301 <include
david_williams8e4dc9c2008-07-06 08:08:58 +0000302 name="*output.txt"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000303 </fileset>
304 </copy>
305 <copy
306 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
307 overwrite="true"
308 failonerror="false">
309 <fileset
310 dir="${testRoot}/results">
311 <include
david_williams8e4dc9c2008-07-06 08:08:58 +0000312 name="*error.txt"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000313 </fileset>
314 </copy>
315 <copy
316 file="${testRoot}/results/fullOutput.txt"
317 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
318 overwrite="true"
319 failonerror="false">
320 </copy>
321 <copy
322 file="${testRoot}/results/fullErrorLog.txt"
323 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
324 overwrite="true"
325 failonerror="false">
326 </copy>
327 <copy
328 todir="${buildDirectory}/${buildLabel}/testResults/xml"
329 overwrite="true"
330 failonerror="false">
331 <fileset
332 dir="${testRoot}/results/xml">
333 <include
david_williams8e4dc9c2008-07-06 08:08:58 +0000334 name="*.xml"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000335 </fileset>
336 </copy>
337 <copy
338 todir="${buildDirectory}/${buildLabel}/testResults/html"
339 overwrite="true"
340 failonerror="false">
341 <fileset
342 dir="${testRoot}/results/html">
343 <include
david_williams8e4dc9c2008-07-06 08:08:58 +0000344 name="*.html"/>
david_williams26f3a5f2008-03-07 22:56:23 +0000345 </fileset>
346 </copy>
347 </target>
348</project>