blob: a5653aa901771ecebeaf31acb1cfe489a2ec5a76 [file] [log] [blame]
david_williamsd4e87622007-03-19 05:33:48 +00001<project name="Build specific targets and properties"
2 default="runTest">
ndaib8cedc82005-09-13 18:00:32 +00003
david_williamsf5f131a2007-03-17 06:12:13 +00004 <!-- Note to be cross-platform, "environment variables" are only appropriate for
5 some variables, e.g. ones we set, since properties are case sensitive, even if
6 the environment variables on your operating system are not, e.g. it will
7 be ${env.Path} not ${env.PATH} on Windows -->
8 <property environment="env" />
ndaib8cedc82005-09-13 18:00:32 +00009
david_williamsd4e87622007-03-19 05:33:48 +000010 <fail message="testRoot must be set for this task"
11 unless="testRoot" />
ndaib8cedc82005-09-13 18:00:32 +000012
david_williamsf5f131a2007-03-17 06:12:13 +000013 <!-- ===================================================================== -->
14 <!-- Steps to do after the build is done. -->
15 <!-- ===================================================================== -->
16 <target name="test">
david_williams4b3c8042007-03-19 01:06:50 +000017 <dirname file="${ant.file}" property="currentDirectory" />
david_williamsd4e87622007-03-19 05:33:48 +000018 <ant antfile="${ant.file}" target="runTest"
19 dir="${currentDirectory}" />
david_williamsf5f131a2007-03-17 06:12:13 +000020 </target>
ndaib8cedc82005-09-13 18:00:32 +000021
david_williamsf5f131a2007-03-17 06:12:13 +000022 <!-- ===================================================================== -->
23 <!-- Steps to do to test the build results -->
24 <!-- ===================================================================== -->
25 <target name="runTest">
ndaib8cedc82005-09-13 18:00:32 +000026
david_williamsf5f131a2007-03-17 06:12:13 +000027 <dirname file="${ant.file}" property="test.component.dir" />
28 <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
29 <property file="${buildDirectory}/label.properties" />
30 <property file="${wtp.builder.home}/build.properties" />
david_williamsce156292006-12-11 00:12:35 +000031
david_williamsd4e87622007-03-19 05:33:48 +000032 <fail message="testRoot must be set for this task"
33 unless="testRoot" />
david_williamsf5f131a2007-03-17 06:12:13 +000034 <mkdir dir="${testRoot}" />
35
36 <!-- if results already exist, delete them -->
david_williams7795fd62007-03-18 18:16:37 +000037 <delete dir="${testRoot}/results" failOnError="false" />
david_williamsf5f131a2007-03-17 06:12:13 +000038 <mkdir dir="${testRoot}/results" />
david_williams7795fd62007-03-18 18:16:37 +000039
david_williamsf5f131a2007-03-17 06:12:13 +000040 <mkdir dir="${testRoot}/results/consolelogs" />
41 <mkdir dir="${testRoot}/results/consolelogs/metadata-logs" />
42 <mkdir dir="${testRoot}/results/consolelogs/configuration-logs" />
43
44 <copy todir="${testRoot}" overwrite="true">
45 <fileset dir="${test.component.dir}/testScripts"></fileset>
46 </copy>
47
48 <echo
49 message="BASEOS: ${env.BASEOS} BASEWS: ${env.BASEWS} BASEARCH: ${env.BASEARCH} " />
50
51 <ant antfile="${test.component.dir}/testdependency.xml"
52 target="get">
53 <property name="dependency.properties"
54 value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
55 <property name="base.install.dir" value="${testRoot}" />
56 </ant>
57
58 <antcall target="unzipTests" />
59
60 <antcall target="runTestEclipse">
61 <param name="testTarget" value="all" />
62 </antcall>
63 <antcall target="postRunTestEclipse">
64 <param name="testTarget" value="all" />
65 </antcall>
66
67 </target>
68
69 <target name="unzipTests">
70
71 <!--unzip the builds and junit tests
72 we use 'unzip' here, so we can continue on error
73 (such as if zip was not created, due to other failures or options).
74 -->
75 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
76 failonerror="false">
77 <arg line="-o -qq wtp-sdk-${buildLabel}.zip -d ${testRoot}" />
78 </exec>
79
80 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
81 failonerror="false">
82 <arg
83 line="-o -qq wtp-wst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
84 </exec>
85 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
86 failonerror="false">
87 <arg
88 line="-o -qq wtp-jst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
89 </exec>
david_williamsa8187bf2006-12-11 02:37:50 +000090
91
david_williamsf5f131a2007-03-17 06:12:13 +000092 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
93 failonerror="false">
94 <arg
95 line="-o -qq wtp-jsf-sdk-${buildLabel}.zip -d ${testRoot}" />
96 </exec>
97 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
98 failonerror="false">
99 <arg
100 line="-o -qq wtp-jsf-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
101 </exec>
david_williams0c366d32006-12-10 07:08:39 +0000102
david_williamsc7ee45b2006-10-01 01:12:56 +0000103
david_williamsf5f131a2007-03-17 06:12:13 +0000104 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
105 failonerror="false">
106 <arg line="-o -qq wtp-jpa-${buildLabel}.zip -d ${testRoot}" />
107 </exec>
108 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
109 failonerror="false">
110 <arg
111 line="-o -qq wtp-jpa-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
112 </exec>
david_williamsa8187bf2006-12-11 02:37:50 +0000113
david_williamsf5f131a2007-03-17 06:12:13 +0000114 </target>
115
116 <!-- time out may need to be set/adjust for api or performance tests?
david_williams7795fd62007-03-18 18:16:37 +0000117 This testTimeLimit is the whole, overall limit on tests. There's a shorter
118 one for individual suites.
119
david_williamsf5f131a2007-03-17 06:12:13 +0000120 some common values, of milliseconds to more recognizable units:
121 7200000: 2 hours
122 3600000: 1 hour
123 1800000: 30 minutes
124 600000: 10 minutes
125 -->
david_williams7795fd62007-03-18 18:16:37 +0000126
david_williamsf5f131a2007-03-17 06:12:13 +0000127 <property name="testTimeLimit" value="7200000" />
128 <property name="testFailOnError" value="false" />
129
130 <target name="runTestEclipse"
131 description="Run our JUnit's within an instance of antRunner">
david_williams9d23a9d2007-03-16 02:23:53 +0000132
133
david_williamsf66fd6e2007-03-18 20:04:12 +0000134 <property name="test-vm" value="${env.JAVA_5_HOME}/bin/java" />
david_williamsd4e87622007-03-19 05:33:48 +0000135 <property name="plugin-path"
136 value="${testRoot}/eclipse/plugins" />
david_williamsf5f131a2007-03-17 06:12:13 +0000137 <property name="vmargs"
david_williams5bcfe582007-03-19 07:44:59 +0000138 value="-Xms256m -Xmx512m -Dosgi.ws=${env.BASEWS} -Dosgi.os=${env.BASEOS} -Dosgi.arch=${env.BASEARCH} -Dws=${env.BASEWS} -Dos=${env.BASEOS} -Darch=${env.BASEARCH} -Dosgi.clean=true -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 +0000139
david_williams4b093692007-03-19 09:41:32 +0000140
141 <!-- set path to eclipse folder. If local folder, use '.'; otherwise, use c:\path\to\eclipse or /path/to/eclipse/ -->
142 <property name="eclipse.home" value="${testRoot}" />
143
david_williamsf5f131a2007-03-17 06:12:13 +0000144 <echo message="Running junits" />
david_williams9d23a9d2007-03-16 02:23:53 +0000145
david_williamsd364c6c2007-03-24 16:13:38 +0000146 <!-- If there is not exactly one launcher in the stack,
147 we'd best fail fast, since we are not expecting that,
148 and may indicate an installation that would produce unpredictable
149 results -->
150 <condition property="expectedNumberOfLaunchers">
151 <resourcecount when="equal" length="1" >
152 <fileset dir="${testRoot}/eclipse/plugins">
153 <include name="org.eclipse.equinox.launcher_*.jar" />
154 </fileset>
155 </resourcecount>
156 </condition>
david_williams5c9207d2007-03-24 16:30:11 +0000157 <fail message="Did not find expected number of launcher jars. Check installation." unless="expectedNumberOfLaunchers" />
david_williamsd364c6c2007-03-24 16:13:38 +0000158 <java
159 taskname="unit-test-masterprocess"
160 fork="true"
161 resultProperty="wtpmasterjunitresult"
162 failonerror="false"
163 timeout="${testTimeLimit}"
164 dir="${testRoot}/eclipse"
165 jvm="${env.JAVA_5_HOME}/bin/java"
166 classname="org.eclipse.equinox.launcher.Main">
david_williamsba084512007-03-24 05:22:35 +0000167 <classpath>
168 <fileset dir="${testRoot}/eclipse/plugins">
169 <include name="org.eclipse.equinox.launcher_*.jar" />
170 </fileset>
171 </classpath>
david_williamsd364c6c2007-03-24 16:13:38 +0000172
david_williamsdac7e452007-03-19 15:09:58 +0000173 <jvmarg value="-Xms256m"/>
174 <jvmarg value="-Xmx512m" />
david_williamsd364c6c2007-03-24 16:13:38 +0000175
david_williams5bcfe582007-03-19 07:44:59 +0000176 <jvmarg value="-Dosgi.ws=${env.BASEWS}" />
david_williams4b093692007-03-19 09:41:32 +0000177 <jvmarg value="-Dosgi.os=${env.BASEOS}" />
178 <jvmarg value="-Dosgi.arch=${env.BASEARCH}" />
179 <jvmarg value="-Dws=${env.BASEWS}" />
180 <jvmarg value="-Dos=${env.BASEOS}" />
181 <jvmarg value="-Darch=${env.BASEARCH}" />
david_williamsd364c6c2007-03-24 16:13:38 +0000182
david_williams4b093692007-03-19 09:41:32 +0000183 <jvmarg value="-Dosgi.clean=true" />
184 <jvmarg value="-Dnoclean=true" />
185 <jvmarg value="-DbuildBranch=${buildBranch}" />
186 <jvmarg value="-DbuildType=${buildType}" />
187 <jvmarg value="-DbuildId=${buildId}" />
188
189 <arg value="-nosplash" />
david_williamsd364c6c2007-03-24 16:13:38 +0000190 <arg value="-data" />
191 <arg value="${testRoot}/overallTestWorkspace" />
david_williams4b093692007-03-19 09:41:32 +0000192 <arg value="-application" />
193 <arg value="org.eclipse.ant.core.antRunner" />
194 <arg value="-file" />
195 <arg value="${testRoot}/test.xml" />
196 <arg value="-logger" />
197 <arg value="org.apache.tools.ant.DefaultLogger" />
david_williamsd66af272007-03-18 19:04:10 +0000198 <env key="DISPLAY" value="${env.DISPLAY}" />
david_williamsd364c6c2007-03-24 16:13:38 +0000199 <redirector
200 output="${testRoot}/results/fullOutput.txt"
201 error="${testRoot}/results/fullErrorLog.txt"
202 alwayslog="true" />
david_williams4b093692007-03-19 09:41:32 +0000203 <sysproperty key="build.home" value="${env.BUILD_HOME}" />
204 <sysproperty key="buildDirectory" value="${buildDirectory}" />
205 <sysproperty key="baseLocation" value="${baseLocation}" />
206 <sysproperty key="testRoot" value="${testRoot}" />
207 <sysproperty key="testDir" value="${testRoot}" />
208 <sysproperty key="perf.buildId"
209 value="${buildType}${date}-${time}" />
210 <sysproperty key="eclipseBuilderDirectory"
211 value="${pde.builder.path}" />
212 <sysproperty key="buildLabel" value="${buildLabel}" />
david_williams7795fd62007-03-18 18:16:37 +0000213 </java>
david_williams9d23a9d2007-03-16 02:23:53 +0000214
david_williams4b093692007-03-19 09:41:32 +0000215 <echo message="wtpmasterjunitresult ${wtpmasterjunitresult}"/>
david_williamsf5f131a2007-03-17 06:12:13 +0000216 </target>
david_williams9d23a9d2007-03-16 02:23:53 +0000217
david_williamsd4e87622007-03-19 05:33:48 +0000218
david_williamsf5f131a2007-03-17 06:12:13 +0000219 <target name="postRunTestEclipse">
220 <copy
221 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
david_williamsd4e87622007-03-19 05:33:48 +0000222 overwrite="true" failonerror="false">
david_williamsf5f131a2007-03-17 06:12:13 +0000223 <fileset dir="${testRoot}/results">
david_williams70065ab2007-03-17 08:33:44 +0000224 <include name="*output.txt" />
david_williamsf5f131a2007-03-17 06:12:13 +0000225 </fileset>
226 </copy>
227 <copy
228 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
david_williamsd4e87622007-03-19 05:33:48 +0000229 overwrite="true" failonerror="false">
david_williamsf5f131a2007-03-17 06:12:13 +0000230 <fileset dir="${testRoot}/results">
david_williams70065ab2007-03-17 08:33:44 +0000231 <include name="*error.txt" />
david_williamsf5f131a2007-03-17 06:12:13 +0000232 </fileset>
233 </copy>
234 <copy file="${testRoot}/results/fullOutput.txt"
235 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
david_williamsd4e87622007-03-19 05:33:48 +0000236 overwrite="true" failonerror="false">
david_williamsf5f131a2007-03-17 06:12:13 +0000237 </copy>
238 <copy file="${testRoot}/results/fullErrorLog.txt"
239 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
david_williamsd4e87622007-03-19 05:33:48 +0000240 overwrite="true" failonerror="false">
david_williamsf5f131a2007-03-17 06:12:13 +0000241 </copy>
ndaib8cedc82005-09-13 18:00:32 +0000242
david_williamsf5f131a2007-03-17 06:12:13 +0000243 <copy todir="${buildDirectory}/${buildLabel}/testResults/xml"
david_williams4b3c8042007-03-19 01:06:50 +0000244 overwrite="true" failonerror="false">
david_williamsf5f131a2007-03-17 06:12:13 +0000245 <fileset dir="${testRoot}/results/xml">
246 <include name="*.xml" />
247 </fileset>
248 </copy>
249 <copy todir="${buildDirectory}/${buildLabel}/testResults/html"
david_williams4b3c8042007-03-19 01:06:50 +0000250 overwrite="true" failonerror="false">
david_williamsf5f131a2007-03-17 06:12:13 +0000251 <fileset dir="${testRoot}/results/html">
252 <include name="*.html" />
253 </fileset>
254 </copy>
255 </target>
ndaib8cedc82005-09-13 18:00:32 +0000256
ndaib8cedc82005-09-13 18:00:32 +0000257
258</project>