blob: 5f35bb20998d336080dc903380312abdad14ee4d [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 -->
31 <delete dir="${testRoot}/results" failOnError="false"/>
32 <mkdir dir="${testRoot}/results" />
33 <mkdir dir="${testRoot}/results/consolelogs" />
34 <mkdir dir="${testRoot}/results/consolelogs/metadata-logs" />
35 <mkdir dir="${testRoot}/results/consolelogs/configuration-logs" />
36
37 <copy todir="${testRoot}" overwrite="true">
38 <fileset dir="${test.component.dir}/testScripts"></fileset>
39 </copy>
40
41 <echo
42 message="BASEOS: ${env.BASEOS} BASEWS: ${env.BASEWS} BASEARCH: ${env.BASEARCH} " />
43
44 <ant antfile="${test.component.dir}/testdependency.xml"
45 target="get">
46 <property name="dependency.properties"
47 value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
48 <property name="base.install.dir" value="${testRoot}" />
49 </ant>
50
51 <antcall target="unzipTests" />
52
53 <antcall target="runTestEclipse">
54 <param name="testTarget" value="all" />
55 </antcall>
56 <antcall target="postRunTestEclipse">
57 <param name="testTarget" value="all" />
58 </antcall>
59
60 </target>
61
62 <target name="unzipTests">
63
64 <!--unzip the builds and junit tests
65 we use 'unzip' here, so we can continue on error
66 (such as if zip was not created, due to other failures or options).
67 -->
68 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
69 failonerror="false">
70 <arg line="-o -qq wtp-sdk-${buildLabel}.zip -d ${testRoot}" />
71 </exec>
72
73 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
74 failonerror="false">
75 <arg
76 line="-o -qq wtp-wst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
77 </exec>
78 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
79 failonerror="false">
80 <arg
81 line="-o -qq wtp-jst-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
82 </exec>
david_williamsa8187bf2006-12-11 02:37:50 +000083
84
david_williamsf5f131a2007-03-17 06:12:13 +000085 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
86 failonerror="false">
87 <arg
88 line="-o -qq wtp-jsf-sdk-${buildLabel}.zip -d ${testRoot}" />
89 </exec>
90 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
91 failonerror="false">
92 <arg
93 line="-o -qq wtp-jsf-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
94 </exec>
david_williams0c366d32006-12-10 07:08:39 +000095
david_williamsc7ee45b2006-10-01 01:12:56 +000096
david_williamsf5f131a2007-03-17 06:12:13 +000097 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
98 failonerror="false">
99 <arg line="-o -qq wtp-jpa-${buildLabel}.zip -d ${testRoot}" />
100 </exec>
101 <exec dir="${buildDirectory}/${buildLabel}" executable="unzip"
102 failonerror="false">
103 <arg
104 line="-o -qq wtp-jpa-Automated-Tests-${buildLabel}.zip -d ${testRoot}" />
105 </exec>
david_williamsa8187bf2006-12-11 02:37:50 +0000106
david_williamsf5f131a2007-03-17 06:12:13 +0000107 </target>
108
109 <!-- time out may need to be set/adjust for api or performance tests?
110 This testTimeLimit is the whole, overall limit on tests. There's a shorter
111 one for individual suites.
112
113 some common values, of milliseconds to more recognizable units:
114 7200000: 2 hours
115 3600000: 1 hour
116 1800000: 30 minutes
117 600000: 10 minutes
118 -->
119
120 <property name="testTimeLimit" value="7200000" />
121 <property name="testFailOnError" value="false" />
122
123 <target name="runTestEclipse"
124 description="Run our JUnit's within an instance of antRunner">
david_williams9d23a9d2007-03-16 02:23:53 +0000125
126
127
david_williamsf5f131a2007-03-17 06:12:13 +0000128 <property name="vmargs"
129 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}" />
david_williams9d23a9d2007-03-16 02:23:53 +0000130
david_williamsf5f131a2007-03-17 06:12:13 +0000131 <property name="test-vm" value="${env.JAVA_5_HOME}/bin/java" />
david_williams9d23a9d2007-03-16 02:23:53 +0000132
david_williamsf5f131a2007-03-17 06:12:13 +0000133 <!--ensure executable has execute permission-->
134 <chmod file="${testRoot}/eclipse/eclipse" perm="ugo+rx" />
david_williams9d23a9d2007-03-16 02:23:53 +0000135
david_williamsf5f131a2007-03-17 06:12:13 +0000136
137 <echo message="Running junits" />
david_williams9d23a9d2007-03-16 02:23:53 +0000138
david_williamsf5f131a2007-03-17 06:12:13 +0000139 <exec executable="${testRoot}/eclipse/eclipse"
140 dir="${testRoot}/eclipse" timeout="${testTimeLimit}">
141 <arg line="-nosplash" />
142 <arg line="-suppressErrors" />
143 <arg line="-debug" />
144 <arg line="-consoleLog" />
145 <arg line="-data ./antRunnerWorkspace" />
146 <arg line="-vm ${test-vm}" />
147 <arg line="-application org.eclipse.ant.core.antRunner" />
148 <arg
149 line="-propertyfile ${test.component.dir}/testScripts/test.properties" />
150 <arg line="-logger org.apache.tools.ant.DefaultLogger" />
151 <arg
152 line="-file ${test.component.dir}/testScripts/test.xml all" />
153 <arg line="-DtestRoot=${testRoot}" />
154 <arg line="-DtestDir=${testRoot}" />
155 <arg line="-DbuildDirectory=${buildDirectory}" />
156 <arg line="-Dbuild.home=${env.BUILD_HOME}" />
157 <arg line="-Dperf.buildId=${buildType}${date}-${time}" />
158 <arg line="-DeclipseBuilderDirectory=${pde.builder.path}" />
159 <arg line="-DbuildLabel=${buildLabel}" />
160 <arg line="-vmargs ${vmargs}" />
161 <env key="DISPLAY" value="${env.DISPLAY}" />
162 <redirector output="${testRoot}/results/fullOutput.txt"
163 error="${testRoot}/results/fullErrorLog.txt" />
david_williams9d23a9d2007-03-16 02:23:53 +0000164
david_williamsf5f131a2007-03-17 06:12:13 +0000165 </exec>
david_williams9d23a9d2007-03-16 02:23:53 +0000166
david_williamsf5f131a2007-03-17 06:12:13 +0000167 </target>
david_williams9d23a9d2007-03-16 02:23:53 +0000168
david_williamsf5f131a2007-03-17 06:12:13 +0000169 <target name="postRunTestEclipse">
170 <copy
171 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testLogs"
172 overwrite="true">
173 <fileset dir="${testRoot}/results">
174 <include name="**/*output.txt" />
175 </fileset>
176 </copy>
177 <copy
178 todir="${buildDirectory}/${buildLabel}/testResults/consolelogs/testSysErrorLogs"
179 overwrite="true">
180 <fileset dir="${testRoot}/results">
181 <include name="**/*error.txt" />
182 </fileset>
183 </copy>
184 <copy file="${testRoot}/results/fullOutput.txt"
185 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
186 overwrite="true">
187 </copy>
188 <copy file="${testRoot}/results/fullErrorLog.txt"
189 toDir="${buildDirectory}/${buildLabel}/testResults/consolelogs/full"
190 overwrite="true">
191 </copy>
ndaib8cedc82005-09-13 18:00:32 +0000192
david_williamsf5f131a2007-03-17 06:12:13 +0000193 <copy todir="${buildDirectory}/${buildLabel}/testResults/xml"
194 overwrite="true">
195 <fileset dir="${testRoot}/results/xml">
196 <include name="*.xml" />
197 </fileset>
198 </copy>
199 <copy todir="${buildDirectory}/${buildLabel}/testResults/html"
200 overwrite="true">
201 <fileset dir="${testRoot}/results/html">
202 <include name="*.html" />
203 </fileset>
204 </copy>
205 </target>
ndaib8cedc82005-09-13 18:00:32 +0000206
ndaib8cedc82005-09-13 18:00:32 +0000207
208</project>