blob: 0ef1aea67f9c11e456c0381ffec6fb9c247a18b6 [file] [log] [blame]
david_williams403beae2007-12-09 02:10:40 +00001<project
2 name="Build specific targets and properties"
3 default="runTest">
ndaib8cedc82005-09-13 18:00:32 +00004
david_williams403beae2007-12-09 02:10:40 +00005 <!-- Note to be cross-platform, "environment variables" are only appropriate for
6 some variables, e.g. ones we set, since properties are case sensitive, even if
7 the environment variables on your operating system are not, e.g. it will
8 be ${env.Path} not ${env.PATH} on Windows -->
david_williamsad2097e2008-01-28 06:06:12 +00009 <property
10 environment="env" />
david_williamscfd9a4a2008-03-27 16:35:01 +000011 <!-- required to get proper value of dropinsFolder -->
12 <property name="keyCfgFile" value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg" />
13 <echo message="keyCfgFile: ${keyCfgFile}" />
14 <property file="${keyCfgFile}" />
david_williams403beae2007-12-09 02:10:40 +000015 <fail
16 message="testRoot must be set for this task"
17 unless="testRoot" />
ndaib8cedc82005-09-13 18:00:32 +000018
david_williams43089362008-03-25 05:43:38 +000019 <!--
20 Steps to do after the build is done.
21 -->
david_williamsad2097e2008-01-28 06:06:12 +000022 <target
23 name="test">
david_williams403beae2007-12-09 02:10:40 +000024 <dirname
25 file="${ant.file}"
26 property="currentDirectory" />
27 <ant
28 antfile="${ant.file}"
29 target="runTest"
30 dir="${currentDirectory}" />
31 </target>
ndaib8cedc82005-09-13 18:00:32 +000032
david_williams43089362008-03-25 05:43:38 +000033 <!--
34 Steps to do to test the build results
35 -->
david_williamsad2097e2008-01-28 06:06:12 +000036 <target
37 name="runTest">
david_williams403beae2007-12-09 02:10:40 +000038 <dirname
39 file="${ant.file}"
40 property="test.component.dir" />
david_williamsad2097e2008-01-28 06:06:12 +000041 <ant
42 antfile="${wtp.builder.home}/scripts/build/label.xml" />
43 <property
44 file="${buildDirectory}/label.properties" />
45 <property
46 file="${wtp.builder.home}/build.properties" />
david_williams403beae2007-12-09 02:10:40 +000047 <fail
48 message="testRoot must be set for this task"
49 unless="testRoot" />
david_williamsad2097e2008-01-28 06:06:12 +000050 <mkdir
51 dir="${testRoot}" />
david_williamsf5f131a2007-03-17 06:12:13 +000052
david_williams403beae2007-12-09 02:10:40 +000053 <!-- if results already exist, delete them -->
54 <delete
55 dir="${testRoot}/results"
56 failOnError="false" />
david_williamsad2097e2008-01-28 06:06:12 +000057 <mkdir
58 dir="${testRoot}/results" />
59 <mkdir
60 dir="${testRoot}/results/consolelogs" />
61 <mkdir
62 dir="${testRoot}/results/consolelogs/metadata-logs" />
63 <mkdir
64 dir="${testRoot}/results/consolelogs/configuration-logs" />
david_williams403beae2007-12-09 02:10:40 +000065 <copy
66 todir="${testRoot}"
67 overwrite="true">
david_williamsad2097e2008-01-28 06:06:12 +000068 <fileset
david_williams43089362008-03-25 05:43:38 +000069 dir="${test.component.dir}/testScripts" />
david_williams403beae2007-12-09 02:10:40 +000070 </copy>
david_williams403beae2007-12-09 02:10:40 +000071 <echo
72 message="BASEOS: ${env.BASEOS} BASEWS: ${env.BASEWS} BASEARCH: ${env.BASEARCH} " />
david_williams403beae2007-12-09 02:10:40 +000073 <ant
74 antfile="${test.component.dir}/testdependency.xml"
75 target="get">
76 <property
77 name="dependency.properties"
78 value="${buildDirectory}/maps/${env.RELENG}/maps/dependencies.properties" />
79 <property
80 name="base.install.dir"
81 value="${testRoot}" />
82 </ant>
david_williamsad2097e2008-01-28 06:06:12 +000083 <antcall
84 target="unzipTests" />
85 <antcall
86 target="runTestEclipse">
david_williams403beae2007-12-09 02:10:40 +000087 <param
88 name="testTarget"
89 value="all" />
90 </antcall>
david_williamsad2097e2008-01-28 06:06:12 +000091 <antcall
92 target="postRunTestEclipse">
david_williams403beae2007-12-09 02:10:40 +000093 <param
94 name="testTarget"
95 value="all" />
96 </antcall>
david_williams403beae2007-12-09 02:10:40 +000097 </target>
david_williamsad2097e2008-01-28 06:06:12 +000098 <target
99 name="unzipTests">
david_williamsf5f131a2007-03-17 06:12:13 +0000100
david_williams403beae2007-12-09 02:10:40 +0000101 <!--unzip the builds and junit tests
david_williams43089362008-03-25 05:43:38 +0000102 we use 'unzip' here, so we can continue on error, if desired.
david_williams403beae2007-12-09 02:10:40 +0000103 (such as if zip was not created, due to other failures or options).
104 -->
105 <exec
106 dir="${buildDirectory}/${buildLabel}"
107 executable="unzip"
108 failonerror="false">
david_williamsad2097e2008-01-28 06:06:12 +0000109 <arg
david_williams421f20d2008-05-02 03:55:11 +0000110 line="-o -qq wtp-sdk-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
david_williams403beae2007-12-09 02:10:40 +0000111 </exec>
david_williams403beae2007-12-09 02:10:40 +0000112 <exec
113 dir="${buildDirectory}/${buildLabel}"
114 executable="unzip"
115 failonerror="false">
116 <arg
david_williams421f20d2008-05-02 03:55:11 +0000117 line="-o -qq wtp-wst-Automated-Tests-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
david_williams403beae2007-12-09 02:10:40 +0000118 </exec>
119 <exec
120 dir="${buildDirectory}/${buildLabel}"
121 executable="unzip"
122 failonerror="false">
123 <arg
david_williams421f20d2008-05-02 03:55:11 +0000124 line="-o -qq wtp-jst-Automated-Tests-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
david_williams403beae2007-12-09 02:10:40 +0000125 </exec>
david_williams403beae2007-12-09 02:10:40 +0000126 <exec
127 dir="${buildDirectory}/${buildLabel}"
128 executable="unzip"
129 failonerror="false">
130 <arg
david_williams421f20d2008-05-02 03:55:11 +0000131 line="-o -qq wtp-jpt-sdk-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
david_williams403beae2007-12-09 02:10:40 +0000132 </exec>
133 <exec
134 dir="${buildDirectory}/${buildLabel}"
135 executable="unzip"
136 failonerror="false">
137 <arg
david_williams421f20d2008-05-02 03:55:11 +0000138 line="-o -qq wtp-jpt-Automated-Tests-${buildLabel}.zip -d ${testRoot}${dropinsFolder}" />
david_williams403beae2007-12-09 02:10:40 +0000139 </exec>
david_williams403beae2007-12-09 02:10:40 +0000140 </target>
david_williamsf5f131a2007-03-17 06:12:13 +0000141
david_williams403beae2007-12-09 02:10:40 +0000142 <!-- time out may need to be set/adjust for api or performance tests?
143 This testTimeLimit is the whole, overall limit on tests. There's a shorter
144 one for individual suites.
145
146 some common values, of milliseconds to more recognizable units:
david_williams64426ec2008-03-27 02:26:58 +0000147 14400000: 4 hours ... up'd to 4 hours after P2
david_williams403beae2007-12-09 02:10:40 +0000148 7200000: 2 hours
149 3600000: 1 hour
150 1800000: 30 minutes
151 600000: 10 minutes
152 -->
david_williams403beae2007-12-09 02:10:40 +0000153 <property
154 name="testTimeLimit"
david_williams64426ec2008-03-27 02:26:58 +0000155 value="14400000" />
david_williams403beae2007-12-09 02:10:40 +0000156 <property
157 name="testFailOnError"
158 value="false" />
david_williams403beae2007-12-09 02:10:40 +0000159 <target
160 name="runTestEclipse"
161 description="Run our JUnit's within an instance of antRunner">
david_williams403beae2007-12-09 02:10:40 +0000162 <property
163 name="test-vm"
164 value="${env.JAVA_5_HOME}/bin/java" />
165 <property
166 name="plugin-path"
david_williams421f20d2008-05-02 03:55:11 +0000167 value="${testRoot}${dropinsFolder}/eclipse/plugins" />
david_williams403beae2007-12-09 02:10:40 +0000168 <property
169 name="vmargs"
david_williams8f4d7732008-03-27 23:08:26 +0000170 value="-Xms256m -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_williams9d23a9d2007-03-16 02:23:53 +0000171
david_williams4b093692007-03-19 09:41:32 +0000172
david_williams403beae2007-12-09 02:10:40 +0000173 <!-- set path to eclipse folder. If local folder, use '.'; otherwise, use c:\path\to\eclipse or /path/to/eclipse/ -->
174 <property
175 name="eclipse.home"
176 value="${testRoot}" />
david_williamsad2097e2008-01-28 06:06:12 +0000177 <echo
178 message="Running junits" />
david_williams9d23a9d2007-03-16 02:23:53 +0000179
david_williams403beae2007-12-09 02:10:40 +0000180 <!-- If there is not exactly one launcher in the stack,
181 we'd best fail fast, since we are not expecting that,
182 and may indicate an installation that would produce unpredictable
183 results -->
184 <!-- requires ant 1.7, and at this point, we're running 1.6 from
185 eclipse ...
186
187 <condition property="expectedNumberOfLaunchers">
188 <resourcecount when="equal" count="1" >
189 <fileset dir="${testRoot}/eclipse/plugins">
190 <include name="org.eclipse.equinox.launcher_*.jar" />
191 </fileset>
192 </resourcecount>
193 </condition>
194 <fail message="Did not find expected number of launcher jars. Check installation." unless="expectedNumberOfLaunchers" />
195 -->
david_williamsfe1d0922008-03-25 03:01:25 +0000196
197
david_williams403beae2007-12-09 02:10:40 +0000198 <!--
199 Remember: using -debug for org.eclipse.ant.core.antRunner
200 produces ant debug info to be output ... which is a TON of stuff
201 -->
david_williams43089362008-03-25 05:43:38 +0000202 <echo
203 message="eclipse.launcher: ${eclipse.launcher}" />
david_williams403beae2007-12-09 02:10:40 +0000204 <java
205 taskname="unit-test-masterprocess"
206 fork="true"
207 resultProperty="wtpmasterjunitresult"
208 failonerror="false"
209 timeout="${testTimeLimit}"
210 dir="${testRoot}/eclipse"
211 jvm="${env.JAVA_5_HOME}/bin/java"
212 classname="org.eclipse.equinox.launcher.Main">
213 <classpath>
david_williamsad2097e2008-01-28 06:06:12 +0000214 <fileset
215 dir="${testRoot}/eclipse/plugins">
216 <include
217 name="org.eclipse.equinox.launcher_*.jar" />
david_williams403beae2007-12-09 02:10:40 +0000218 </fileset>
219 </classpath>
david_williamsad2097e2008-01-28 06:06:12 +0000220 <jvmarg
david_williamsad2097e2008-01-28 06:06:12 +0000221 value="-Xms512m" />
222 <jvmarg
223 value="-Xmx1024m" />
224 <jvmarg
david_williams015c81c2008-05-18 05:09:45 +0000225 value="-Xverify" />
226 <jvmarg
david_williamsad2097e2008-01-28 06:06:12 +0000227 value="-Dosgi.ws=${env.BASEWS}" />
228 <jvmarg
229 value="-Dosgi.os=${env.BASEOS}" />
230 <jvmarg
231 value="-Dosgi.arch=${env.BASEARCH}" />
232 <jvmarg
233 value="-Dws=${env.BASEWS}" />
234 <jvmarg
235 value="-Dos=${env.BASEOS}" />
236 <jvmarg
237 value="-Darch=${env.BASEARCH}" />
david_williams8f4d7732008-03-27 23:08:26 +0000238
david_williamsad2097e2008-01-28 06:06:12 +0000239 <jvmarg
240 value="-Dnoclean=true" />
241 <jvmarg
242 value="-DbuildBranch=${buildBranch}" />
243 <jvmarg
244 value="-DbuildType=${buildType}" />
245 <jvmarg
246 value="-DbuildId=${buildId}" />
david_williams26f3a5f2008-03-07 22:56:23 +0000247 <jvmarg
david_williamscf432b52008-05-13 04:58:34 +0000248 value="-Dprojectname=${projectname}" />
249 <jvmarg
david_williams26f3a5f2008-03-07 22:56:23 +0000250 value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}" />
david_williamsad2097e2008-01-28 06:06:12 +0000251 <arg
252 value="-nosplash" />
253 <arg
254 value="-consolelog" />
255 <arg
256 value="-data" />
257 <arg
258 value="${testRoot}/overallTestWorkspace" />
259 <arg
260 value="-application" />
261 <arg
262 value="org.eclipse.ant.core.antRunner" />
263 <arg
264 value="-file" />
265 <arg
266 value="${testRoot}/test.xml" />
267 <arg
268 value="-logger" />
269 <arg
270 value="org.apache.tools.ant.DefaultLogger" />
david_williams403beae2007-12-09 02:10:40 +0000271 <env
272 key="DISPLAY"
273 value="${env.DISPLAY}" />
274 <redirector
275 output="${testRoot}/results/fullOutput.txt"
276 error="${testRoot}/results/fullErrorLog.txt" />
277 <sysproperty
278 key="build.home"
279 value="${env.BUILD_HOME}" />
280 <sysproperty
281 key="buildDirectory"
282 value="${buildDirectory}" />
283 <sysproperty
284 key="buildLabel"
285 value="${buildLabel}" />
286 <sysproperty
287 key="baseLocation"
288 value="${baseLocation}" />
289 <sysproperty
290 key="testRoot"
291 value="${testRoot}" />
292 <sysproperty
293 key="testDir"
294 value="${testRoot}" />
295 <sysproperty
296 key="perf.buildId"
297 value="${buildType}${date}-${time}" />
298 <sysproperty
299 key="eclipseBuilderDirectory"
300 value="${pde.builder.path}" />
301 <sysproperty
302 key="buildLabel"
david_williams26f3a5f2008-03-07 22:56:23 +0000303 value="${buildLabel}" />
david_williams403beae2007-12-09 02:10:40 +0000304 </java>
david_williamsad2097e2008-01-28 06:06:12 +0000305 <echo
306 message="wtpmasterjunitresult ${wtpmasterjunitresult}" />
david_williams403beae2007-12-09 02:10:40 +0000307 </target>
david_williamsad2097e2008-01-28 06:06:12 +0000308 <target
309 name="postRunTestEclipse">
david_williams403beae2007-12-09 02:10:40 +0000310 <copy
311 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
312 overwrite="true"
313 failonerror="false">
david_williamsad2097e2008-01-28 06:06:12 +0000314 <fileset
315 dir="${testRoot}/results">
316 <include
317 name="*output.txt" />
david_williams403beae2007-12-09 02:10:40 +0000318 </fileset>
319 </copy>
320 <copy
321 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
322 overwrite="true"
323 failonerror="false">
david_williamsad2097e2008-01-28 06:06:12 +0000324 <fileset
325 dir="${testRoot}/results">
326 <include
327 name="*error.txt" />
david_williams403beae2007-12-09 02:10:40 +0000328 </fileset>
329 </copy>
330 <copy
331 file="${testRoot}/results/fullOutput.txt"
332 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
333 overwrite="true"
334 failonerror="false">
335 </copy>
336 <copy
337 file="${testRoot}/results/fullErrorLog.txt"
338 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
339 overwrite="true"
340 failonerror="false">
341 </copy>
david_williams403beae2007-12-09 02:10:40 +0000342 <copy
343 todir="${buildDirectory}/${buildLabel}/testResults/xml"
344 overwrite="true"
345 failonerror="false">
david_williamsad2097e2008-01-28 06:06:12 +0000346 <fileset
347 dir="${testRoot}/results/xml">
348 <include
349 name="*.xml" />
david_williams403beae2007-12-09 02:10:40 +0000350 </fileset>
351 </copy>
352 <copy
353 todir="${buildDirectory}/${buildLabel}/testResults/html"
354 overwrite="true"
355 failonerror="false">
david_williamsad2097e2008-01-28 06:06:12 +0000356 <fileset
357 dir="${testRoot}/results/html">
358 <include
359 name="*.html" />
david_williams403beae2007-12-09 02:10:40 +0000360 </fileset>
361 </copy>
362 </target>
david_williamsad2097e2008-01-28 06:06:12 +0000363</project>