blob: 2e7ca57779a8ea02befe8c76907db401705023c0 [file] [log] [blame]
david_williamsf5f131a2007-03-17 06:12:13 +00001<project name="Build specific targets and properties" default="test">
ndaib8cedc82005-09-13 18:00:32 +00002
david_williamsf5f131a2007-03-17 06:12:13 +00003 <!-- Note to be cross-platform, "environment variables" are only appropriate for
4 some variables, e.g. ones we set, since properties are case sensitive, even if
5 the environment variables on your operating system are not, e.g. it will
6 be ${env.Path} not ${env.PATH} on Windows -->
7 <property environment="env" />
ndaib8cedc82005-09-13 18:00:32 +00008
9
david_williamsf5f131a2007-03-17 06:12:13 +000010 <!-- ===================================================================== -->
11 <!-- Steps to do after the build is done. -->
12 <!-- ===================================================================== -->
13 <target name="test">
14 <antcall target="runTest" />
15 </target>
ndaib8cedc82005-09-13 18:00:32 +000016
david_williamsf5f131a2007-03-17 06:12:13 +000017 <!-- ===================================================================== -->
18 <!-- Steps to do to test the build results -->
19 <!-- ===================================================================== -->
20 <target name="runTest">
ndaib8cedc82005-09-13 18:00:32 +000021
david_williamsf5f131a2007-03-17 06:12:13 +000022 <dirname file="${ant.file}" property="test.component.dir" />
23 <ant antfile="${wtp.builder.home}/scripts/build/label.xml" />
24 <property file="${buildDirectory}/label.properties" />
25 <property file="${wtp.builder.home}/build.properties" />
david_williamsce156292006-12-11 00:12:35 +000026
david_williamsa8187bf2006-12-11 02:37:50 +000027
david_williamsf5f131a2007-03-17 06:12:13 +000028 <mkdir dir="${testRoot}" />
29
30 <!-- if results already exist, delete them -->
david_williams7795fd62007-03-18 18:16:37 +000031 <delete dir="${testRoot}/results" failOnError="false" />
david_williamsf5f131a2007-03-17 06:12:13 +000032 <mkdir dir="${testRoot}/results" />
david_williams7795fd62007-03-18 18:16:37 +000033
david_williamsf5f131a2007-03-17 06:12:13 +000034 <mkdir dir="${testRoot}/results/consolelogs" />
35 <mkdir dir="${testRoot}/results/consolelogs/metadata-logs" />
36 <mkdir dir="${testRoot}/results/consolelogs/configuration-logs" />
37
38 <copy todir="${testRoot}" overwrite="true">
39 <fileset dir="${test.component.dir}/testScripts"></fileset>
40 </copy>
41
42 <echo
43 message="BASEOS: ${env.BASEOS} BASEWS: ${env.BASEWS} BASEARCH: ${env.BASEARCH} " />
44
45 <ant antfile="${test.component.dir}/testdependency.xml"
46 target="get">
47 <property name="dependency.properties"
48 value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
49 <property name="base.install.dir" value="${testRoot}" />
50 </ant>
51
52 <antcall target="unzipTests" />
53
54 <antcall target="runTestEclipse">
55 <param name="testTarget" value="all" />
56 </antcall>
57 <antcall target="postRunTestEclipse">
58 <param name="testTarget" value="all" />
59 </antcall>
60
61 </target>
62
63 <target name="unzipTests">
64
65 <!--unzip the builds and junit tests
66 we use 'unzip' here, so we can continue on error
67 (such as if zip was not created, due to other failures or options).
68 -->
69 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
70 failonerror="false">
71 <arg line="-o -qq wtp-sdk-${buildLabel}.zip -d ${testRoot}" />
72 </exec>
73
74 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
75 failonerror="false">
76 <arg
77 line="-o -qq wtp-wst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
78 </exec>
79 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
80 failonerror="false">
81 <arg
82 line="-o -qq wtp-jst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
83 </exec>
david_williamsa8187bf2006-12-11 02:37:50 +000084
85
david_williamsf5f131a2007-03-17 06:12:13 +000086 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
87 failonerror="false">
88 <arg
89 line="-o -qq wtp-jsf-sdk-${buildLabel}.zip -d ${testRoot}" />
90 </exec>
91 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
92 failonerror="false">
93 <arg
94 line="-o -qq wtp-jsf-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
95 </exec>
david_williams0c366d32006-12-10 07:08:39 +000096
david_williamsc7ee45b2006-10-01 01:12:56 +000097
david_williamsf5f131a2007-03-17 06:12:13 +000098 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
99 failonerror="false">
100 <arg line="-o -qq wtp-jpa-${buildLabel}.zip -d ${testRoot}" />
101 </exec>
102 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
103 failonerror="false">
104 <arg
105 line="-o -qq wtp-jpa-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
106 </exec>
david_williamsa8187bf2006-12-11 02:37:50 +0000107
david_williamsf5f131a2007-03-17 06:12:13 +0000108 </target>
109
110 <!-- time out may need to be set/adjust for api or performance tests?
david_williams7795fd62007-03-18 18:16:37 +0000111 This testTimeLimit is the whole, overall limit on tests. There's a shorter
112 one for individual suites.
113
david_williamsf5f131a2007-03-17 06:12:13 +0000114 some common values, of milliseconds to more recognizable units:
115 7200000: 2 hours
116 3600000: 1 hour
117 1800000: 30 minutes
118 600000: 10 minutes
119 -->
david_williams7795fd62007-03-18 18:16:37 +0000120
david_williamsf5f131a2007-03-17 06:12:13 +0000121 <property name="testTimeLimit" value="7200000" />
122 <property name="testFailOnError" value="false" />
123
124 <target name="runTestEclipse"
125 description="Run our JUnit's within an instance of antRunner">
david_williams9d23a9d2007-03-16 02:23:53 +0000126
127
128
david_williamsf5f131a2007-03-17 06:12:13 +0000129 <property name="vmargs"
david_williams7795fd62007-03-18 18:16:37 +0000130 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} -DPLUGIN_PATH=${plugin-path} -DtestRoot=${testRoot} -DtestDir=${testRoot} -DbuildDirectory=${buildDirectory} -Dbuild.home=${env.BUILD_HOME} -Dperf.buildId=${buildType}${date}-${time} -DeclipseBuilderDirectory=${pde.builder.path} -DbuildLabel=${buildLabel}" />
131
132 <!-- -DtestRoot=${testRoot} -DtestDir=${testRoot} -DbuildDirectory=${buildDirectory} -Dbuild.home=${env.BUILD_HOME} -Dperf.buildId=${buildType}${date}-${time} -DeclipseBuilderDirectory=${pde.builder.path} -DbuildLabel=${buildLabel} -->
david_williams9d23a9d2007-03-16 02:23:53 +0000133
david_williamsf5f131a2007-03-17 06:12:13 +0000134 <property name="test-vm" value="${env.JAVA_5_HOME}/bin/java" />
david_williams9d23a9d2007-03-16 02:23:53 +0000135
david_williams9d23a9d2007-03-16 02:23:53 +0000136
david_williamsf5f131a2007-03-17 06:12:13 +0000137 <echo message="Running junits" />
david_williams9d23a9d2007-03-16 02:23:53 +0000138
david_williams7795fd62007-03-18 18:16:37 +0000139 <java taskname="unit-test-${classname}" fork="true"
140 resultProperty="wtpjunitresult-${classname}" failonerror="false"
141 timeout="${testTimeLimit}" dir="${testRoot}/eclipse"
142 jvm="${env.JAVA_5_HOME}/bin/java"
143 classname="org.eclipse.equinox.launcher.Main">
144 <classpath>
145 <fileset dir="${testRoot}/eclipse/plugins">
146 <include name="org.eclipse.equinox.launcher_*.jar" />
147 </fileset>
148 </classpath>
149
150 <arg line="./antRunnerWorkspace" />
151 <arg line="${test-vm}" />
david_williamsf5f131a2007-03-17 06:12:13 +0000152 <arg line="-application org.eclipse.ant.core.antRunner" />
david_williams7795fd62007-03-18 18:16:37 +0000153 <arg line="formatter=${formatter},${test-output}" />
david_williamsf5f131a2007-03-17 06:12:13 +0000154 <arg
david_williamsec0a2c52007-03-18 05:19:55 +0000155 line="-propertyfile ${test.component.dir}/testScripts/testServer.properties" />
david_williamsf5f131a2007-03-17 06:12:13 +0000156 <arg line="-logger org.apache.tools.ant.DefaultLogger" />
157 <arg
158 line="-file ${test.component.dir}/testScripts/test.xml all" />
david_williams7795fd62007-03-18 18:16:37 +0000159 <arg line="-nosplash" />
160 <arg line="-suppressErrors" />
161 <arg line="-debug" />
162 <arg line="-consoleLog" />
163 <arg
164 <arg line="-vmargs ${vmargs}" />
165 <env key="DISPLAY" value="${env.DISPLAY}" />
166 <redirector output="${testRoot}/results/fullOutput.txt"
167 error="${testRoot}/results/fullErrorLog.txt" alwayslog="true" />
168 </java>
david_williams9d23a9d2007-03-16 02:23:53 +0000169
david_williams9d23a9d2007-03-16 02:23:53 +0000170
david_williamsf5f131a2007-03-17 06:12:13 +0000171 </target>
david_williams9d23a9d2007-03-16 02:23:53 +0000172
david_williamsf5f131a2007-03-17 06:12:13 +0000173 <target name="postRunTestEclipse">
174 <copy
175 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
176 overwrite="true">
177 <fileset dir="${testRoot}/results">
david_williams70065ab2007-03-17 08:33:44 +0000178 <include name="*output.txt" />
david_williamsf5f131a2007-03-17 06:12:13 +0000179 </fileset>
180 </copy>
181 <copy
182 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
183 overwrite="true">
184 <fileset dir="${testRoot}/results">
david_williams70065ab2007-03-17 08:33:44 +0000185 <include name="*error.txt" />
david_williamsf5f131a2007-03-17 06:12:13 +0000186 </fileset>
187 </copy>
188 <copy file="${testRoot}/results/fullOutput.txt"
189 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
190 overwrite="true">
191 </copy>
192 <copy file="${testRoot}/results/fullErrorLog.txt"
193 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
194 overwrite="true">
195 </copy>
ndaib8cedc82005-09-13 18:00:32 +0000196
david_williamsf5f131a2007-03-17 06:12:13 +0000197 <copy todir="${buildDirectory}/${buildLabel}/testResults/xml"
198 overwrite="true">
199 <fileset dir="${testRoot}/results/xml">
200 <include name="*.xml" />
201 </fileset>
202 </copy>
203 <copy todir="${buildDirectory}/${buildLabel}/testResults/html"
204 overwrite="true">
205 <fileset dir="${testRoot}/results/html">
206 <include name="*.html" />
207 </fileset>
208 </copy>
209 </target>
ndaib8cedc82005-09-13 18:00:32 +0000210
ndaib8cedc82005-09-13 18:00:32 +0000211
212</project>