david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 1 | <project name="Build specific targets and properties" |
| 2 | default="runTest"> |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 3 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 4 | <!-- 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" /> |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 9 | |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 10 | <fail message="testRoot must be set for this task" |
| 11 | unless="testRoot" /> |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 12 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 13 | <!-- ===================================================================== --> |
| 14 | <!-- Steps to do after the build is done. --> |
| 15 | <!-- ===================================================================== --> |
| 16 | <target name="test"> |
david_williams | 4b3c804 | 2007-03-19 01:06:50 +0000 | [diff] [blame] | 17 | <dirname file="${ant.file}" property="currentDirectory" /> |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 18 | <ant antfile="${ant.file}" target="runTest" |
| 19 | dir="${currentDirectory}" /> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 20 | </target> |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 21 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 22 | <!-- ===================================================================== --> |
| 23 | <!-- Steps to do to test the build results --> |
| 24 | <!-- ===================================================================== --> |
| 25 | <target name="runTest"> |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 26 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 27 | <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_williams | ce15629 | 2006-12-11 00:12:35 +0000 | [diff] [blame] | 31 | |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 32 | <fail message="testRoot must be set for this task" |
| 33 | unless="testRoot" /> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 34 | <mkdir dir="${testRoot}" /> |
| 35 | |
| 36 | <!-- if results already exist, delete them --> |
david_williams | 7795fd6 | 2007-03-18 18:16:37 +0000 | [diff] [blame] | 37 | <delete dir="${testRoot}/results" failOnError="false" /> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 38 | <mkdir dir="${testRoot}/results" /> |
david_williams | 7795fd6 | 2007-03-18 18:16:37 +0000 | [diff] [blame] | 39 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 40 | <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_williams | a8187bf | 2006-12-11 02:37:50 +0000 | [diff] [blame] | 90 | |
| 91 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 92 | <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_williams | 0c366d3 | 2006-12-10 07:08:39 +0000 | [diff] [blame] | 102 | |
david_williams | c7ee45b | 2006-10-01 01:12:56 +0000 | [diff] [blame] | 103 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 104 | <exec dir="${buildDirectory}/${buildLabel}" executable="unzip" |
| 105 | failonerror="false"> |
david_williams | 66b0da3 | 2007-04-09 05:41:14 +0000 | [diff] [blame^] | 106 | <arg line="-o -qq wtp-jpa-sdk-${buildLabel}.zip -d ${testRoot}" /> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 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_williams | a8187bf | 2006-12-11 02:37:50 +0000 | [diff] [blame] | 113 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 114 | </target> |
| 115 | |
| 116 | <!-- time out may need to be set/adjust for api or performance tests? |
david_williams | 7795fd6 | 2007-03-18 18:16:37 +0000 | [diff] [blame] | 117 | This testTimeLimit is the whole, overall limit on tests. There's a shorter |
| 118 | one for individual suites. |
| 119 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 120 | 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_williams | 7795fd6 | 2007-03-18 18:16:37 +0000 | [diff] [blame] | 126 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 127 | <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_williams | 9d23a9d | 2007-03-16 02:23:53 +0000 | [diff] [blame] | 132 | |
| 133 | |
david_williams | f66fd6e | 2007-03-18 20:04:12 +0000 | [diff] [blame] | 134 | <property name="test-vm" value="${env.JAVA_5_HOME}/bin/java" /> |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 135 | <property name="plugin-path" |
| 136 | value="${testRoot}/eclipse/plugins" /> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 137 | <property name="vmargs" |
david_williams | 5bcfe58 | 2007-03-19 07:44:59 +0000 | [diff] [blame] | 138 | 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_williams | 9d23a9d | 2007-03-16 02:23:53 +0000 | [diff] [blame] | 139 | |
david_williams | 4b09369 | 2007-03-19 09:41:32 +0000 | [diff] [blame] | 140 | |
| 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_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 144 | <echo message="Running junits" /> |
david_williams | 9d23a9d | 2007-03-16 02:23:53 +0000 | [diff] [blame] | 145 | |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 146 | <!-- 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 --> |
david_williams | c7ccdf9 | 2007-03-25 05:53:08 +0000 | [diff] [blame] | 150 | <!-- requires ant 1.7, and at this point, we're running 1.6 from |
| 151 | eclipse ... |
| 152 | |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 153 | <condition property="expectedNumberOfLaunchers"> |
david_williams | c05c113 | 2007-03-25 00:45:15 +0000 | [diff] [blame] | 154 | <resourcecount when="equal" count="1" > |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 155 | <fileset dir="${testRoot}/eclipse/plugins"> |
| 156 | <include name="org.eclipse.equinox.launcher_*.jar" /> |
| 157 | </fileset> |
| 158 | </resourcecount> |
| 159 | </condition> |
david_williams | 5c9207d | 2007-03-24 16:30:11 +0000 | [diff] [blame] | 160 | <fail message="Did not find expected number of launcher jars. Check installation." unless="expectedNumberOfLaunchers" /> |
david_williams | c7ccdf9 | 2007-03-25 05:53:08 +0000 | [diff] [blame] | 161 | --> |
david_williams | ac15c2b | 2007-03-26 20:37:53 +0000 | [diff] [blame] | 162 | <!-- |
| 163 | Remember: using -debug for org.eclipse.ant.core.antRunner |
| 164 | produces ant debug info to be output ... which is a TON of stuff |
| 165 | --> |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 166 | <java |
| 167 | taskname="unit-test-masterprocess" |
| 168 | fork="true" |
| 169 | resultProperty="wtpmasterjunitresult" |
| 170 | failonerror="false" |
| 171 | timeout="${testTimeLimit}" |
| 172 | dir="${testRoot}/eclipse" |
| 173 | jvm="${env.JAVA_5_HOME}/bin/java" |
| 174 | classname="org.eclipse.equinox.launcher.Main"> |
david_williams | ba08451 | 2007-03-24 05:22:35 +0000 | [diff] [blame] | 175 | <classpath> |
| 176 | <fileset dir="${testRoot}/eclipse/plugins"> |
| 177 | <include name="org.eclipse.equinox.launcher_*.jar" /> |
| 178 | </fileset> |
| 179 | </classpath> |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 180 | |
david_williams | dac7e45 | 2007-03-19 15:09:58 +0000 | [diff] [blame] | 181 | <jvmarg value="-Xms256m"/> |
| 182 | <jvmarg value="-Xmx512m" /> |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 183 | |
david_williams | 5bcfe58 | 2007-03-19 07:44:59 +0000 | [diff] [blame] | 184 | <jvmarg value="-Dosgi.ws=${env.BASEWS}" /> |
david_williams | 4b09369 | 2007-03-19 09:41:32 +0000 | [diff] [blame] | 185 | <jvmarg value="-Dosgi.os=${env.BASEOS}" /> |
| 186 | <jvmarg value="-Dosgi.arch=${env.BASEARCH}" /> |
| 187 | <jvmarg value="-Dws=${env.BASEWS}" /> |
| 188 | <jvmarg value="-Dos=${env.BASEOS}" /> |
| 189 | <jvmarg value="-Darch=${env.BASEARCH}" /> |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 190 | |
david_williams | 4b09369 | 2007-03-19 09:41:32 +0000 | [diff] [blame] | 191 | <jvmarg value="-Dosgi.clean=true" /> |
| 192 | <jvmarg value="-Dnoclean=true" /> |
| 193 | <jvmarg value="-DbuildBranch=${buildBranch}" /> |
| 194 | <jvmarg value="-DbuildType=${buildType}" /> |
| 195 | <jvmarg value="-DbuildId=${buildId}" /> |
| 196 | |
| 197 | <arg value="-nosplash" /> |
david_williams | acc8886 | 2007-03-25 21:33:54 +0000 | [diff] [blame] | 198 | <arg value="-consolelog" /> |
david_williams | ac15c2b | 2007-03-26 20:37:53 +0000 | [diff] [blame] | 199 | |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 200 | <arg value="-data" /> |
| 201 | <arg value="${testRoot}/overallTestWorkspace" /> |
david_williams | 4b09369 | 2007-03-19 09:41:32 +0000 | [diff] [blame] | 202 | <arg value="-application" /> |
| 203 | <arg value="org.eclipse.ant.core.antRunner" /> |
| 204 | <arg value="-file" /> |
| 205 | <arg value="${testRoot}/test.xml" /> |
| 206 | <arg value="-logger" /> |
| 207 | <arg value="org.apache.tools.ant.DefaultLogger" /> |
david_williams | d66af27 | 2007-03-18 19:04:10 +0000 | [diff] [blame] | 208 | <env key="DISPLAY" value="${env.DISPLAY}" /> |
david_williams | d364c6c | 2007-03-24 16:13:38 +0000 | [diff] [blame] | 209 | <redirector |
| 210 | output="${testRoot}/results/fullOutput.txt" |
david_williams | acc8886 | 2007-03-25 21:33:54 +0000 | [diff] [blame] | 211 | error="${testRoot}/results/fullErrorLog.txt"/> |
david_williams | 4b09369 | 2007-03-19 09:41:32 +0000 | [diff] [blame] | 212 | <sysproperty key="build.home" value="${env.BUILD_HOME}" /> |
| 213 | <sysproperty key="buildDirectory" value="${buildDirectory}" /> |
david_williams | 535d681 | 2007-03-29 06:46:26 +0000 | [diff] [blame] | 214 | <sysproperty key="buildLabel" value="${buildLabel}" /> |
david_williams | 4b09369 | 2007-03-19 09:41:32 +0000 | [diff] [blame] | 215 | <sysproperty key="baseLocation" value="${baseLocation}" /> |
| 216 | <sysproperty key="testRoot" value="${testRoot}" /> |
| 217 | <sysproperty key="testDir" value="${testRoot}" /> |
| 218 | <sysproperty key="perf.buildId" |
| 219 | value="${buildType}${date}-${time}" /> |
| 220 | <sysproperty key="eclipseBuilderDirectory" |
| 221 | value="${pde.builder.path}" /> |
| 222 | <sysproperty key="buildLabel" value="${buildLabel}" /> |
david_williams | 7795fd6 | 2007-03-18 18:16:37 +0000 | [diff] [blame] | 223 | </java> |
david_williams | 9d23a9d | 2007-03-16 02:23:53 +0000 | [diff] [blame] | 224 | |
david_williams | 4b09369 | 2007-03-19 09:41:32 +0000 | [diff] [blame] | 225 | <echo message="wtpmasterjunitresult ${wtpmasterjunitresult}"/> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 226 | </target> |
david_williams | 9d23a9d | 2007-03-16 02:23:53 +0000 | [diff] [blame] | 227 | |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 228 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 229 | <target name="postRunTestEclipse"> |
| 230 | <copy |
| 231 | todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs" |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 232 | overwrite="true" failonerror="false"> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 233 | <fileset dir="${testRoot}/results"> |
david_williams | 70065ab | 2007-03-17 08:33:44 +0000 | [diff] [blame] | 234 | <include name="*output.txt" /> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 235 | </fileset> |
| 236 | </copy> |
| 237 | <copy |
| 238 | todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs" |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 239 | overwrite="true" failonerror="false"> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 240 | <fileset dir="${testRoot}/results"> |
david_williams | 70065ab | 2007-03-17 08:33:44 +0000 | [diff] [blame] | 241 | <include name="*error.txt" /> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 242 | </fileset> |
| 243 | </copy> |
| 244 | <copy file="${testRoot}/results/fullOutput.txt" |
| 245 | toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full" |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 246 | overwrite="true" failonerror="false"> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 247 | </copy> |
| 248 | <copy file="${testRoot}/results/fullErrorLog.txt" |
| 249 | toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full" |
david_williams | d4e8762 | 2007-03-19 05:33:48 +0000 | [diff] [blame] | 250 | overwrite="true" failonerror="false"> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 251 | </copy> |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 252 | |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 253 | <copy todir="${buildDirectory}/${buildLabel}/testResults/xml" |
david_williams | 4b3c804 | 2007-03-19 01:06:50 +0000 | [diff] [blame] | 254 | overwrite="true" failonerror="false"> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 255 | <fileset dir="${testRoot}/results/xml"> |
| 256 | <include name="*.xml" /> |
| 257 | </fileset> |
| 258 | </copy> |
| 259 | <copy todir="${buildDirectory}/${buildLabel}/testResults/html" |
david_williams | 4b3c804 | 2007-03-19 01:06:50 +0000 | [diff] [blame] | 260 | overwrite="true" failonerror="false"> |
david_williams | f5f131a | 2007-03-17 06:12:13 +0000 | [diff] [blame] | 261 | <fileset dir="${testRoot}/results/html"> |
| 262 | <include name="*.html" /> |
| 263 | </fileset> |
| 264 | </copy> |
| 265 | </target> |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 266 | |
ndai | b8cedc8 | 2005-09-13 18:00:32 +0000 | [diff] [blame] | 267 | |
| 268 | </project> |