blob: f9f4ff06c0d9873b298185d9aeea4d893a476ece [file] [log] [blame]
david_williams331eaf32007-03-17 22:39:31 +00001<?xml version="1.0"?>
david_williams403beae2007-12-09 02:10:40 +00002<project
3 name="JUnit tests"
4 basedir=".">
david_williams5dde2052008-02-12 05:44:11 +00005 <property
david_williams8e4dc9c2008-07-06 08:08:58 +00006 environment="env"/>
david_williamscfd9a4a2008-03-27 16:35:01 +00007
david_williams8e4dc9c2008-07-06 08:08:58 +00008 <!-- required to get proper value of dropinsFolder -->
9 <property
10 name="keyCfgFile"
11 value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG}/maps/build.cfg"/>
12 <echo
david_williamsd1184892008-07-07 02:45:47 +000013 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +000014 message="keyCfgFile: ${keyCfgFile}"/>
15 <property
16 file="${keyCfgFile}"/>
david_williams5dde2052008-02-12 05:44:11 +000017 <target
18 name="init">
david_williams8e4dc9c2008-07-06 08:08:58 +000019 <!--
20 Parameters: (Mandatory) data-dir - the workspace directory
21 for Eclipse to write its data plugin-name - symboic name of
22 the plugin to test testPlugin - directory name of plugin
23 (with version suffix) classname - the name of the test class
24 (Optional - overrides defaults set in script) extraVMargs -
25 allows separate setting of VM args from separate caller.
26 timeout - overrides default test timeout value (in
27 milliseconds).
david_williams403beae2007-12-09 02:10:40 +000028 -->
david_williams403beae2007-12-09 02:10:40 +000029 <property
30 name="junit-report-output"
david_williams8e4dc9c2008-07-06 08:08:58 +000031 value="${testRoot}/results"/>
david_williams5dde2052008-02-12 05:44:11 +000032 <mkdir
david_williams8e4dc9c2008-07-06 08:08:58 +000033 dir="${junit-report-output}/raw"/>
34 <!--
35 if not otherwise set, be sure extraVMargs is at least empty
36 string
37 -->
david_williams403beae2007-12-09 02:10:40 +000038 <property
39 name="extraVMargs"
david_williams8e4dc9c2008-07-06 08:08:58 +000040 value=""/>
david_williams5ab33bf2007-03-20 03:15:25 +000041
david_williams5dde2052008-02-12 05:44:11 +000042 <!-- if not otherwise set, use a unique workspace name -->
david_williams403beae2007-12-09 02:10:40 +000043 <property
44 name="data-dir"
david_williams8e4dc9c2008-07-06 08:08:58 +000045 value="${testRoot}/junitworkspaces/workspace-${classname}"/>
david_williams403beae2007-12-09 02:10:40 +000046 <property
47 name="testRoot"
david_williams8e4dc9c2008-07-06 08:08:58 +000048 value="${testRoot}"/>
david_williamsdd69f372008-08-11 07:07:33 +000049 <!-- temporarily changed from 30 minutes to 1 hrs
david_williamscac5f302008-08-09 19:18:59 +000050 to help spot problematic tests -->
david_williamsdd69f372008-08-11 07:07:33 +000051 <!--
52 Some common values, of milliseconds to more recognizable units:
53 14400000: 4 hours
54 7200000: 2 hours
55 3600000: 1 hour
56 1800000: 30 minutes
57 600000: 10 minutes
58 -->
59
david_williams403beae2007-12-09 02:10:40 +000060 <property
61 name="timeout"
david_williamsdd69f372008-08-11 07:07:33 +000062 value="3600000"/>
david_williams403beae2007-12-09 02:10:40 +000063 <property
64 name="junit-report-output"
david_williams8e4dc9c2008-07-06 08:08:58 +000065 value="${junit-report-output}"/>
david_williams403beae2007-12-09 02:10:40 +000066 <property
67 name="plugin-path"
david_williams8e4dc9c2008-07-06 08:08:58 +000068 value="${testRoot}${dropinsFolder}/eclipse/plugins/${testPlugin}"/>
david_williams403beae2007-12-09 02:10:40 +000069 <property
70 name="formatter"
david_williams8e4dc9c2008-07-06 08:08:58 +000071 value="org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter"/>
david_williams403beae2007-12-09 02:10:40 +000072 <property
73 name="test-output"
david_williams8e4dc9c2008-07-06 08:08:58 +000074 value="${junit-report-output}/raw/${classname}.xml"/>
david_williams403beae2007-12-09 02:10:40 +000075 <property
76 name="jvm"
david_williams49f82ef2008-12-18 19:58:24 +000077 value="${env.JAVA_5_HOME}/bin/java"/>
david_williams403beae2007-12-09 02:10:40 +000078 <dirname
79 file="${ant.file}"
david_williams8e4dc9c2008-07-06 08:08:58 +000080 property="currentDir"/>
david_williams403beae2007-12-09 02:10:40 +000081 <echo
82 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +000083 message="data-dir: ${data-dir}"/>
david_williams403beae2007-12-09 02:10:40 +000084 <echo
85 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +000086 message="plugin-name: ${plugin-name}"/>
david_williams403beae2007-12-09 02:10:40 +000087 <echo
88 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +000089 message="testPlugin: ${testPlugin}"/>
david_williams403beae2007-12-09 02:10:40 +000090 <echo
91 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +000092 message="classname: ${classname}"/>
david_williams403beae2007-12-09 02:10:40 +000093 <echo
94 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +000095 message="extraVMargs: ${extraVMargs}"/>
david_williams403beae2007-12-09 02:10:40 +000096 <echo
97 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +000098 message="timeout: ${timeout}"/>
david_williams403beae2007-12-09 02:10:40 +000099 <echo
100 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000101 message="testRoot: ${testRoot}"/>
david_williams403beae2007-12-09 02:10:40 +0000102 <echo
103 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000104 message="basedir: ${basedir}"/>
david_williams403beae2007-12-09 02:10:40 +0000105 <echo
106 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000107 message="eclipse-home: ${eclipse-home}"/>
david_williams403beae2007-12-09 02:10:40 +0000108 <echo
109 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000110 message="plugin-path: ${plugin-path}"/>
david_williams403beae2007-12-09 02:10:40 +0000111 <echo
112 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000113 message="junit-report-output: ${junit-report-output}"/>
david_williams403beae2007-12-09 02:10:40 +0000114 <echo
115 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000116 message="test-output: ${test-output}"/>
david_williams403beae2007-12-09 02:10:40 +0000117 <echo
118 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000119 message="buildDirectory: ${buildDirectory}"/>
david_williams403beae2007-12-09 02:10:40 +0000120 <echo
121 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000122 message="buildLabel: ${buildLabel}"/>
david_williams403beae2007-12-09 02:10:40 +0000123 <echo
124 level="debug"
david_williamsf3cfc042008-09-20 03:57:43 +0000125 message="jvm: ${jvm}"/>
david_williams403beae2007-12-09 02:10:40 +0000126 </target>
david_williams403beae2007-12-09 02:10:40 +0000127 <target
128 name="core-test"
129 depends="init">
130 <echo
131 level="info"
david_williams8e4dc9c2008-07-06 08:08:58 +0000132 message="test-type: core-test"/>
david_williams403beae2007-12-09 02:10:40 +0000133 <ant
134 antfile="${ant.file}"
135 dir="${currentDir}"
136 target="eclipse-test">
137 <property
138 name="application"
david_williams8e4dc9c2008-07-06 08:08:58 +0000139 value="org.eclipse.test.coretestapplication"/>
david_williams403beae2007-12-09 02:10:40 +0000140 </ant>
141 </target>
david_williams403beae2007-12-09 02:10:40 +0000142 <target
143 name="ui-test"
144 depends="init">
145 <echo
146 level="info"
david_williams8e4dc9c2008-07-06 08:08:58 +0000147 message="test-type: ui-test"/>
david_williams403beae2007-12-09 02:10:40 +0000148 <ant
149 antfile="${ant.file}"
150 dir="${currentDir}"
151 target="eclipse-test">
152 <property
153 name="application"
david_williams8e4dc9c2008-07-06 08:08:58 +0000154 value="org.eclipse.test.uitestapplication"/>
david_williams403beae2007-12-09 02:10:40 +0000155 </ant>
156 </target>
david_williams403beae2007-12-09 02:10:40 +0000157 <target
158 name="eclipse-test"
159 description="Runs the specified classname as a plug-in test.">
david_williams403beae2007-12-09 02:10:40 +0000160 <echo
161 level="info"
david_williams8e4dc9c2008-07-06 08:08:58 +0000162 message="Running ${classname}"/>
david_williams403beae2007-12-09 02:10:40 +0000163 <echo
164 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000165 message="Result file: ${junit-report-output}/${classname}.xml."/>
david_williams403beae2007-12-09 02:10:40 +0000166 <echo
167 level="debug"
david_williams8e4dc9c2008-07-06 08:08:58 +0000168 message="DISPLAY: ${env.DISPLAY}"/>
169 <!--
170 If there is not exactly one launcher in the stack, we'd best
171 fail fast, since we are not expecting that, and may indicate
172 an installation that would produce unpredictable results
173 -->
174 <!--
175 requires ant 1.7, and at this point, we're running 1.6 from
176 eclipse ... <condition property="expectedNumberOfLaunchers">
177 <resourcecount when="equal" count="1" > <fileset
178 dir="${testRoot}/eclipse/plugins"> <include
179 name="org.eclipse.equinox.launcher_*.jar" /> </fileset>
180 </resourcecount> </condition> <fail message="Did not find
181 expected number of launcher jars. Check installation."
182 unless="expectedNumberOfLaunchers" />
david_williams403beae2007-12-09 02:10:40 +0000183 -->
184 <java
185 taskname="suiteUnitTest"
186 fork="true"
187 resultProperty="suitejunitresult"
188 failonerror="false"
189 timeout="${timeout}"
190 dir="${testRoot}/eclipse"
david_williamsf3cfc042008-09-20 03:57:43 +0000191 jvm="${jvm}"
david_williams403beae2007-12-09 02:10:40 +0000192 classname="org.eclipse.equinox.launcher.Main">
193 <classpath>
david_williams5dde2052008-02-12 05:44:11 +0000194 <fileset
195 dir="${testRoot}/eclipse/plugins">
196 <include
david_williams8e4dc9c2008-07-06 08:08:58 +0000197 name="org.eclipse.equinox.launcher_*.jar"/>
david_williams403beae2007-12-09 02:10:40 +0000198 </fileset>
199 </classpath>
david_williams5dde2052008-02-12 05:44:11 +0000200 <jvmarg
david_williams3ac3b032008-09-23 05:23:34 +0000201 value="-Xmx758m"/>
david_williams5dde2052008-02-12 05:44:11 +0000202 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000203 value="-Dosgi.ws=${env.BASEWS}"/>
david_williams5dde2052008-02-12 05:44:11 +0000204 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000205 value="-Dosgi.os=${env.BASEOS}"/>
david_williams5dde2052008-02-12 05:44:11 +0000206 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000207 value="-Dosgi.arch=${env.BASEARCH}"/>
david_williams5dde2052008-02-12 05:44:11 +0000208 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000209 value="-DbuildLabel=${buildLabel}"/>
david_williams5dde2052008-02-12 05:44:11 +0000210 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000211 value="-DbuildDirectory=${buildDirectory}"/>
david_williams5dde2052008-02-12 05:44:11 +0000212 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000213 value="-Djava.protocol.handler.pkgs=com.ibm.etools.www.protocol"/>
david_williams5dde2052008-02-12 05:44:11 +0000214 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000215 value="-DurlLogLocation=${buildDirectory}/outgoinghttplogfromtests.log"/>
david_williams5dde2052008-02-12 05:44:11 +0000216 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000217 value="-Dwtp.autotest.noninteractive=true"/>
david_williams5dde2052008-02-12 05:44:11 +0000218 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000219 value="-DPLUGIN_PATH=${plugin-path}"/>
david_williams5dde2052008-02-12 05:44:11 +0000220 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000221 line="${extraVMargs}"/>
david_williams5dde2052008-02-12 05:44:11 +0000222 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000223 value="-Djava.io.tmpdir=${env.RECOMMENDED_TMP_DIR}"/>
david_williams249fae52008-05-02 03:41:42 +0000224 <jvmarg
david_williams8e4dc9c2008-07-06 08:08:58 +0000225 value="-Dprojectname=${projectname}"/>
david_williams5dde2052008-02-12 05:44:11 +0000226 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000227 value="-nosplash"/>
david_williams5dde2052008-02-12 05:44:11 +0000228 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000229 value="-consolelog"/>
david_williams5dde2052008-02-12 05:44:11 +0000230 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000231 value="-debug"/>
david_williams5dde2052008-02-12 05:44:11 +0000232 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000233 value="-data"/>
david_williams5dde2052008-02-12 05:44:11 +0000234 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000235 value="${data-dir}"/>
david_williams5dde2052008-02-12 05:44:11 +0000236 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000237 value="-application"/>
david_williams5dde2052008-02-12 05:44:11 +0000238 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000239 value="${application}"/>
david_williams5dde2052008-02-12 05:44:11 +0000240 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000241 value="formatter=${formatter},${test-output}"/>
david_williams5dde2052008-02-12 05:44:11 +0000242 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000243 value="-testPluginName"/>
david_williams5dde2052008-02-12 05:44:11 +0000244 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000245 value="${plugin-name}"/>
david_williams5dde2052008-02-12 05:44:11 +0000246 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000247 value="-className"/>
david_williams5dde2052008-02-12 05:44:11 +0000248 <arg
david_williams8e4dc9c2008-07-06 08:08:58 +0000249 value="${classname}"/>
david_williams403beae2007-12-09 02:10:40 +0000250 <env
251 key="DISPLAY"
david_williams8e4dc9c2008-07-06 08:08:58 +0000252 value="${env.DISPLAY}"/>
david_williams403beae2007-12-09 02:10:40 +0000253 <redirector
254 output="${junit-report-output}/${classname}.output.txt"
david_williams8e4dc9c2008-07-06 08:08:58 +0000255 error="${junit-report-output}/${classname}.error.txt"/>
david_williams403beae2007-12-09 02:10:40 +0000256 </java>
david_williams5dde2052008-02-12 05:44:11 +0000257 <echo
258 level="info"
david_williams8e4dc9c2008-07-06 08:08:58 +0000259 message="suitejunitresult: ${suitejunitresult}"/>
david_williams5dde2052008-02-12 05:44:11 +0000260 <antcall
david_williams8e4dc9c2008-07-06 08:08:58 +0000261 target="summarizeFailure"/>
david_williams5dde2052008-02-12 05:44:11 +0000262 <antcall
david_williams8e4dc9c2008-07-06 08:08:58 +0000263 target="collect-results"/>
david_williams403beae2007-12-09 02:10:40 +0000264 </target>
david_williams5dde2052008-02-12 05:44:11 +0000265 <target
266 name="collect-results">
david_williams403beae2007-12-09 02:10:40 +0000267 <dirname
268 property="output-dir"
david_williams8e4dc9c2008-07-06 08:08:58 +0000269 file="${test-output}"/>
david_williams403beae2007-12-09 02:10:40 +0000270 <basename
271 property="output-file-name"
david_williams8e4dc9c2008-07-06 08:08:58 +0000272 file="${test-output}"/>
david_williams5dde2052008-02-12 05:44:11 +0000273 <mkdir
david_williams8e4dc9c2008-07-06 08:08:58 +0000274 dir="${junit-report-output}/xml"/>
david_williams403beae2007-12-09 02:10:40 +0000275 <junitreport
276 todir="${junit-report-output}/xml"
277 tofile="${classname}.xml">
david_williams5dde2052008-02-12 05:44:11 +0000278 <fileset
279 dir="${output-dir}">
280 <include
david_williams8e4dc9c2008-07-06 08:08:58 +0000281 name="${output-file-name}"/>
david_williams403beae2007-12-09 02:10:40 +0000282 </fileset>
283 </junitreport>
david_williams5dde2052008-02-12 05:44:11 +0000284 <mkdir
david_williams8e4dc9c2008-07-06 08:08:58 +0000285 dir="${junit-report-output}/html"/>
david_williams6b198a72008-01-26 06:19:56 +0000286 <xslt
david_williams403beae2007-12-09 02:10:40 +0000287 style="${testRoot}/JUNIT.XSL"
288 basedir="${junit-report-output}"
289 includes="${classname}.xml"
david_williams8e4dc9c2008-07-06 08:08:58 +0000290 destdir="${junit-report-output}/html"/>
david_williams403beae2007-12-09 02:10:40 +0000291 <copy
292 file="${data-dir}/.metadata/.log"
293 toFile="${testRoot}/results/consolelogs/metadata-logs/${classname}.workspace.log"
294 overwrite="true"
david_williams8e4dc9c2008-07-06 08:08:58 +0000295 failonError="false"/>
296 <!--
297 todo: this, especially, should be concat (there could be
298 more than one, in theory)
299 -->
david_williams403beae2007-12-09 02:10:40 +0000300 <copy
301 file="${testRoot}/eclipse/configuration/*.log"
302 toFile="${testRoot}/results/consolelogs/configuration-logs/${classname}.config.log"
303 overwrite="true"
david_williams8e4dc9c2008-07-06 08:08:58 +0000304 failonError="false"/>
david_williams403beae2007-12-09 02:10:40 +0000305 </target>
david_williams5dde2052008-02-12 05:44:11 +0000306 <target
307 name="collect">
david_williams8e4dc9c2008-07-06 08:08:58 +0000308 <!--
309 deprecated, each test.xml uses it, and we should remove,
310 eventually
311 -->
david_williams403beae2007-12-09 02:10:40 +0000312 </target>
david_williams5dde2052008-02-12 05:44:11 +0000313 <target
314 name="summarizeFailure"
315 depends="checkFailure"
316 if="doFailure">
317 <echo
318 append="true"
319 file="${buildDirectory}/junitFailureList.log">${plugin-name}${line.separator}</echo>
david_williams6f5ad422008-02-11 02:54:54 +0000320 </target>
david_williams5dde2052008-02-12 05:44:11 +0000321 <target
322 name="checkFailure">
323 <condition
324 property="doFailure">
325 <not>
326 <equals
327 arg1="${suitejunitresult}"
328 arg2="0"
david_williams8e4dc9c2008-07-06 08:08:58 +0000329 trim="true"/>
david_williams5dde2052008-02-12 05:44:11 +0000330 </not>
331 </condition>
332 </target>
333</project>