|
1 <!-- |
|
2 ============================================================================ |
|
3 Name : test_sbs_input.ant.xml |
|
4 Part of : Helium AntLib |
|
5 |
|
6 Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
7 All rights reserved. |
|
8 This component and the accompanying materials are made available |
|
9 under the terms of the License "Eclipse Public License v1.0" |
|
10 which accompanies this distribution, and is available |
|
11 at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
12 |
|
13 Initial Contributors: |
|
14 Nokia Corporation - initial contribution. |
|
15 |
|
16 Contributors: |
|
17 |
|
18 Description: |
|
19 |
|
20 ============================================================================ |
|
21 --> |
|
22 <project name="test-sbs-input" xmlns:au="antlib:org.apache.ant.antunit" xmlns:hlm="http://www.nokia.com/helium"> |
|
23 <description>Helium metadata SBS input unittests.</description> |
|
24 |
|
25 <dirname property="project.dir" file="${ant.file.test-metadata-regex}" /> |
|
26 <taskdef resource="com/nokia/helium/metadata/ant/antlib.xml" uri="http://www.nokia.com/helium" /> |
|
27 <taskdef name="fmpp" classname="fmpp.tools.AntTask" onerror="report"/> |
|
28 |
|
29 <target name="setUp"> |
|
30 <echo>---=====================================---</echo> |
|
31 <mkdir dir="${test.temp.dir}" /> |
|
32 <delete dir="${test.temp.dir}" /> |
|
33 <mkdir dir="${test.temp.dir}" /> |
|
34 </target> |
|
35 |
|
36 <target name="tearDown"> |
|
37 <delete dir="${test.temp.dir}" /> |
|
38 <echo>---=====================================---</echo> |
|
39 </target> |
|
40 |
|
41 <hlm:metadatafilterset id="error.filterset"> |
|
42 <hlm:metadatafilter severity="error" regex="^ERROR: .*" description="Simple error pattern"/> |
|
43 <hlm:metadatafilter severity="warning" regex="^WARNING: .*" description="Simple warning pattern"/> |
|
44 </hlm:metadatafilterset> |
|
45 |
|
46 |
|
47 |
|
48 <!-- Test categorization for sbs scanlog |
|
49 --> |
|
50 <target name="test-categorization"> |
|
51 <echo message="categorization validation" /> |
|
52 <hlm:metadatarecord database="${test.temp.dir}/categorization_db"> |
|
53 <hlm:sbsmetadatainput> |
|
54 <fileset dir="${project.dir}/../data/sbs"> |
|
55 <include name="categorization.log"/> |
|
56 </fileset> |
|
57 <metadatafilterset refid="error.filterset" /> |
|
58 </hlm:sbsmetadatainput> |
|
59 </hlm:metadatarecord> |
|
60 <fmpp sourceFile="${project.dir}/../data/sbs/parsing_result.ini.ftl" |
|
61 outputfile="${test.temp.dir}/categorization_db_result.ini"> |
|
62 <data expandProperties="yes"> |
|
63 dbPath: ${test.temp.dir}/categorization_db |
|
64 ant: antProperties() |
|
65 </data> |
|
66 </fmpp> |
|
67 <property file="${test.temp.dir}/categorization_db_result.ini" /> |
|
68 <echo>number.of.logs: ${number.of.logs}</echo> |
|
69 <echo>number.of.execution.times: ${number.of.execution.times}</echo> |
|
70 <echo>number.of.components: ${number.of.components}</echo> |
|
71 <echo>execution.time.0: ${execution.time.0}</echo> |
|
72 <echo>number.of.component.times: ${number.of.component.times}</echo> |
|
73 <au:assertTrue message="Invalid number of logs"> |
|
74 <equals arg1="${number.of.logs}" arg2="1" /> |
|
75 </au:assertTrue> |
|
76 <au:assertTrue message="Invalid number of execution time"> |
|
77 <equals arg1="${number.of.execution.times}" arg2="1" /> |
|
78 </au:assertTrue> |
|
79 <au:assertTrue message="Invalid number of logs"> |
|
80 <equals arg1="${execution.time.0}" arg2="226" /> |
|
81 </au:assertTrue> |
|
82 <au:assertTrue message="Invalid number of components"> |
|
83 <equals arg1="${number.of.components}" arg2="2" /> |
|
84 </au:assertTrue> |
|
85 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/categorization.log" database="${test.temp.dir}/categorization_db" property="cleanlog_errors"/> |
|
86 <echo>cleanlog_errors: ${cleanlog_errors}</echo> |
|
87 <au:assertTrue> |
|
88 <equals arg1="${cleanlog_errors}" arg2="2"/> |
|
89 </au:assertTrue> |
|
90 <au:assertTrue message="Invalid number of component times"> |
|
91 <equals arg1="${number.of.component.times}" arg2="2" /> |
|
92 </au:assertTrue> |
|
93 </target> |
|
94 |
|
95 <target name="test-categorization-component-check"> |
|
96 <echo message="component error check for categorization" /> |
|
97 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
98 <hlm:sbsmetadatainput> |
|
99 <fileset dir="${project.dir}/../data/sbs"> |
|
100 <include name="categorization_compile.log"/> |
|
101 </fileset> |
|
102 <metadatafilterset refid="error.filterset" /> |
|
103 </hlm:sbsmetadatainput> |
|
104 </hlm:metadatarecord> |
|
105 <fmpp sourceFile="${project.dir}/../data/templates/component_categorization.txt.ftl" |
|
106 outputfile="${test.temp.dir}/faults.txt"> |
|
107 <data expandProperties="yes"> |
|
108 dbPath: ${test.temp.dir}/metadata_db |
|
109 ant: antProperties() |
|
110 </data> |
|
111 </fmpp> |
|
112 <loadfile property="componentlogEntry" |
|
113 srcFile="${test.temp.dir}/faults.txt"/> |
|
114 <au:assertMatches string="${componentlogEntry}" pattern="sf/app/organizer/group:error:2" |
|
115 casesensitive="false"/> |
|
116 </target> |
|
117 |
|
118 <target name="test-categorization-component-check-after"> |
|
119 <echo message="component error check for categorization" /> |
|
120 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
121 <hlm:sbsmetadatainput> |
|
122 <fileset dir="${project.dir}/../data/sbs"> |
|
123 <include name="categorization_error_after_compile.log"/> |
|
124 </fileset> |
|
125 <metadatafilterset refid="error.filterset" /> |
|
126 </hlm:sbsmetadatainput> |
|
127 </hlm:metadatarecord> |
|
128 <fmpp sourceFile="${project.dir}/../data/templates/component_categorization.txt.ftl" |
|
129 outputfile="${test.temp.dir}/faults.txt"> |
|
130 <data expandProperties="yes"> |
|
131 dbPath: ${test.temp.dir}/metadata_db |
|
132 ant: antProperties() |
|
133 </data> |
|
134 </fmpp> |
|
135 <loadfile property="componentlogEntry" |
|
136 srcFile="${test.temp.dir}/faults.txt"/> |
|
137 <au:assertMatches string="${componentlogEntry}" pattern="sf/app/organizer/group:error:2" |
|
138 casesensitive="false"/> |
|
139 </target> |
|
140 |
|
141 |
|
142 <target name="test-categorization-nocleanlog-failed-empty-recipe"> |
|
143 <echo message="test-categorization-nocleanlog-failed-empty-recipe" /> |
|
144 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
145 <hlm:sbsmetadatainput> |
|
146 <fileset dir="${project.dir}/../data/sbs"> |
|
147 <include name="categorization_failed_empty_recipe.log"/> |
|
148 </fileset> |
|
149 <metadatafilterset refid="error.filterset" /> |
|
150 </hlm:sbsmetadatainput> |
|
151 </hlm:metadatarecord> |
|
152 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/categorization_failed_empty_recipe.log" database="${test.temp.dir}/metadata_db" property="empty_nocleanlog_errors"/> |
|
153 <au:assertTrue> |
|
154 <equals arg1="${empty_nocleanlog_errors}" arg2="2"/> |
|
155 </au:assertTrue> |
|
156 </target> |
|
157 |
|
158 <target name="test-categorization-nocleanlog-failed-error-in-recipe"> |
|
159 <echo message="test-categorization-nocleanlog-failed-error-in-recipe" /> |
|
160 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
161 <hlm:sbsmetadatainput> |
|
162 <fileset dir="${project.dir}/../data/sbs"> |
|
163 <include name="categorization_failed_error_in_recipe.log"/> |
|
164 </fileset> |
|
165 <metadatafilterset refid="error.filterset" /> |
|
166 </hlm:sbsmetadatainput> |
|
167 </hlm:metadatarecord> |
|
168 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/categorization_failed_error_in_recipe.log" |
|
169 database="${test.temp.dir}/metadata_db" property="empty_nocleanlog_errors"/> |
|
170 <echo>empty_nocleanlog_errors: ${empty_nocleanlog_errors}</echo> |
|
171 <au:assertTrue> |
|
172 <equals arg1="${empty_nocleanlog_errors}" arg2="2"/> |
|
173 </au:assertTrue> |
|
174 </target> |
|
175 |
|
176 |
|
177 <!-- To verify some lengthy text for recipe tag from |
|
178 sbs metadata input. |
|
179 --> |
|
180 <target name="test-recipe-lengthy-text"> |
|
181 <echo message="test-recipe-lengthy-text" /> |
|
182 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
183 <hlm:sbsmetadatainput> |
|
184 <fileset dir="${project.dir}/../data/sbs"> |
|
185 <include name="receipe_lengthy_warn.log"/> |
|
186 </fileset> |
|
187 <metadatafilterset refid="error.filterset" /> |
|
188 </hlm:sbsmetadatainput> |
|
189 </hlm:metadatarecord> |
|
190 <au:assertTrue> |
|
191 <available type="dir" file="${test.temp.dir}/metadata_db" /> |
|
192 </au:assertTrue> |
|
193 <hlm:metadataCountSeverity severity="warning" log="${project.dir}/../data/sbs/receipe_lengthy_warn.log" |
|
194 database="${test.temp.dir}/metadata_db" property="warnings"/> |
|
195 <echo>warnings: ${warnings}</echo> |
|
196 <au:assertTrue> |
|
197 <equals arg1="${warnings}" arg2="1"/> |
|
198 </au:assertTrue> |
|
199 </target> |
|
200 |
|
201 <!-- To verify some lengthy member are not failing the recording |
|
202 --> |
|
203 <target name="test-recipe-lengthy-member"> |
|
204 <echo message="test-recipe-lengthy-member" /> |
|
205 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
206 <hlm:sbsmetadatainput> |
|
207 <fileset dir="${project.dir}/../data/sbs"> |
|
208 <include name="receipe_lengthy_whatlog.log"/> |
|
209 </fileset> |
|
210 <metadatafilterset refid="error.filterset" /> |
|
211 </hlm:sbsmetadatainput> |
|
212 </hlm:metadatarecord> |
|
213 <au:assertTrue> |
|
214 <available type="dir" file="${test.temp.dir}/metadata_db" /> |
|
215 </au:assertTrue> |
|
216 </target> |
|
217 |
|
218 <target name="test-metadatacount-no-error-with-missing-files-path-with-backslashes"> |
|
219 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
220 <hlm:sbsmetadatainput> |
|
221 <fileset dir="${project.dir}/../data/sbs"> |
|
222 <include name="metadatacount_missing_files.log"/> |
|
223 </fileset> |
|
224 <metadatafilterset> |
|
225 <metadatafilter severity="INFO" regex="^INFO:" description="info" /> |
|
226 <metadatafilter severity="ERROR" regex="^ERROR:" description="error" /> |
|
227 <metadatafilter severity="WARNING" regex=".*warning C4503:.*" description="warning" /> |
|
228 </metadatafilterset> |
|
229 </hlm:sbsmetadatainput> |
|
230 </hlm:metadatarecord> |
|
231 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/metadatacount_missing_files.log" database="${test.temp.dir}/metadata_db" property="errors"/> |
|
232 <echo>errors: ${errors}</echo> |
|
233 <au:assertTrue message="We must have 5 missing files counted as error."> |
|
234 <equals arg1="${errors}" arg2="5"/> |
|
235 </au:assertTrue> |
|
236 </target> |
|
237 |
|
238 <target name="test-metadatacount-no-error-with-missing-files"> |
|
239 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
240 <hlm:sbsmetadatainput > |
|
241 <fileset dir="${project.dir}/../data/sbs"> |
|
242 <include name="metadatacount_missing_files.log"/> |
|
243 </fileset> |
|
244 <metadatafilterset> |
|
245 <metadatafilter severity="INFO" regex="^INFO:" description="info" /> |
|
246 <metadatafilter severity="ERROR" regex="^ERROR:" description="error" /> |
|
247 <metadatafilter severity="WARNING" regex=".*warning C4503:.*" description="warning" /> |
|
248 </metadatafilterset> |
|
249 </hlm:sbsmetadatainput> |
|
250 </hlm:metadatarecord> |
|
251 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/metadatacount_missing_files.log" database="${test.temp.dir}/metadata_db" property="errors"/> |
|
252 <echo>errors: ${errors}</echo> |
|
253 <au:assertTrue message="We must have 5 missing files counted as error."> |
|
254 <equals arg1="${errors}" arg2="5"/> |
|
255 </au:assertTrue> |
|
256 </target> |
|
257 |
|
258 <target name="test-metadatacount-error-with-missing-files"> |
|
259 <echo>test-metadatacount-error-with-missing-files</echo> |
|
260 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
261 <hlm:sbsmetadatainput> |
|
262 <fileset dir="${project.dir}/../data/sbs"> |
|
263 <include name="metadatacount_error_and_missing_files.log"/> |
|
264 </fileset> |
|
265 <metadatafilterset> |
|
266 <metadatafilter severity="INFO" regex="^INFO:" description="info" /> |
|
267 <metadatafilter severity="ERROR" regex="^ERROR:" description="error" /> |
|
268 <metadatafilter severity="WARNING" regex=".*warning C4503:.*" description="warning" /> |
|
269 </metadatafilterset> |
|
270 </hlm:sbsmetadatainput> |
|
271 </hlm:metadatarecord> |
|
272 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/metadatacount_error_and_missing_files.log" database="${test.temp.dir}/metadata_db" property="errors"/> |
|
273 <echo>error: ${errors}</echo> |
|
274 <au:assertTrue message="We must have 6 missing files counted as error."> |
|
275 <equals arg1="${errors}" arg2="6"/> |
|
276 </au:assertTrue> |
|
277 </target> |
|
278 |
|
279 <target name="test-count-error-without-missing-files"> |
|
280 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
281 <hlm:sbsmetadatainput checkMissing="false"> |
|
282 <fileset dir="${project.dir}/../data/sbs"> |
|
283 <include name="metadatacount_error_and_missing_files.log"/> |
|
284 </fileset> |
|
285 <metadatafilterset> |
|
286 <metadatafilter severity="INFO" regex="^INFO:" description="info" /> |
|
287 <metadatafilter severity="ERROR" regex="^ERROR:" description="error" /> |
|
288 <metadatafilter severity="WARNING" regex=".*warning C4503:.*" description="warning" /> |
|
289 </metadatafilterset> |
|
290 </hlm:sbsmetadatainput> |
|
291 </hlm:metadatarecord> |
|
292 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/metadatacount_error_and_missing_files.log" |
|
293 database="${test.temp.dir}/metadata_db" property="errors" |
|
294 /> |
|
295 <au:assertTrue message="We must have 1 missing files counted as error."> |
|
296 <equals arg1="${errors}" arg2="1"/> |
|
297 </au:assertTrue> |
|
298 </target> |
|
299 |
|
300 <target name="test-whatlog-parsing"> |
|
301 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
302 <hlm:sbsmetadatainput> |
|
303 <fileset dir="${project.dir}/../data/sbs"> |
|
304 <include name="build_whatlog.log"/> |
|
305 </fileset> |
|
306 <metadatafilterset> |
|
307 <metadatafilter severity="INFO" regex="^INFO:" description="info" /> |
|
308 <metadatafilter severity="ERROR" regex="^ERROR:" description="error" /> |
|
309 <metadatafilter severity="WARNING" regex=".*warning C4503:.*" description="warning" /> |
|
310 </metadatafilterset> |
|
311 </hlm:sbsmetadatainput> |
|
312 </hlm:metadatarecord> |
|
313 <fmpp sourceFile="${project.dir}/../data/sbs/whatlog_result.ini.ftl" |
|
314 outputfile="${test.temp.dir}/whatlog_result.ini"> |
|
315 <data expandProperties="yes"> |
|
316 dbPath: ${test.temp.dir}/metadata_db |
|
317 ant: antProperties() |
|
318 </data> |
|
319 </fmpp> |
|
320 <property file="${test.temp.dir}/whatlog_result.ini" /> |
|
321 <au:assertTrue message="Invalid number of logs"> |
|
322 <equals arg1="${number.of.logs}" arg2="1" /> |
|
323 </au:assertTrue> |
|
324 <au:assertTrue message="Invalid number of whatlog entries"> |
|
325 <equals arg1="${number.of.whatlog.entries}" arg2="5" /> |
|
326 </au:assertTrue> |
|
327 </target> |
|
328 |
|
329 <target name="test-count-error-with-invalid-xml-fail-on-invalid-xml-false"> |
|
330 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
331 <hlm:sbsmetadatainput checkMissing="false" failOnInvalidXml="false"> |
|
332 <fileset dir="${project.dir}/../data/sbs"> |
|
333 <include name="invalid_xml_log_format.log"/> |
|
334 </fileset> |
|
335 <metadatafilterset> |
|
336 <metadatafilter severity="INFO" regex="^INFO:" description="info" /> |
|
337 <metadatafilter severity="ERROR" regex="^ERROR:" description="error" /> |
|
338 <metadatafilter severity="WARNING" regex=".*warning C4503:.*" description="warning" /> |
|
339 </metadatafilterset> |
|
340 </hlm:sbsmetadatainput> |
|
341 </hlm:metadatarecord> |
|
342 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/invalid_xml_log_format.log" |
|
343 database="${test.temp.dir}/metadata_db" property="errors" |
|
344 /> |
|
345 <au:assertTrue message="We must have 1 error in the log because of invalid xml format."> |
|
346 <equals arg1="${errors}" arg2="1"/> |
|
347 </au:assertTrue> |
|
348 </target> |
|
349 |
|
350 <target name="test-count-error-with-invalid-xml-fail-on-invalid-xml-true"> |
|
351 <au:expectfailure expectedMessage="The element type "error" must be terminated by the matching end-tag "</error>""> |
|
352 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
353 <hlm:sbsmetadatainput> |
|
354 <fileset dir="${project.dir}/../data/sbs"> |
|
355 <include name="invalid_xml_log_format.log"/> |
|
356 </fileset> |
|
357 <metadatafilterset> |
|
358 <metadatafilter severity="INFO" regex="^INFO:" description="info" /> |
|
359 <metadatafilter severity="ERROR" regex="^ERROR:" description="error" /> |
|
360 <metadatafilter severity="WARNING" regex=".*warning C4503:.*" description="warning" /> |
|
361 </metadatafilterset> |
|
362 </hlm:sbsmetadatainput> |
|
363 </hlm:metadatarecord> |
|
364 </au:expectfailure> |
|
365 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/invalid_xml_log_format.log" |
|
366 database="${test.temp.dir}/metadata_db" property="errors" |
|
367 /> |
|
368 <au:assertTrue message="We must have 1 error in the log because of invalid xml format."> |
|
369 <equals arg1="${errors}" arg2="1"/> |
|
370 </au:assertTrue> |
|
371 </target> |
|
372 |
|
373 <target name="test-emake-errors-in-sbs-compile"> |
|
374 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
375 <hlm:sbsmetadatainput> |
|
376 <fileset dir="${project.dir}/../data/sbs"> |
|
377 <include name="sbs_compile_emake_errors.log"/> |
|
378 </fileset> |
|
379 <metadatafilterset> |
|
380 <metadatafilter priority="error" regex="^ERROR\s+EC\d+:.*$" description="To capture emake errors" /> |
|
381 </metadatafilterset> |
|
382 </hlm:sbsmetadatainput> |
|
383 </hlm:metadatarecord> |
|
384 <hlm:metadataCountSeverity severity="error" log="${project.dir}/../data/sbs/sbs_compile_emake_errors.log" |
|
385 database="${test.temp.dir}/metadata_db" property="errors"/> |
|
386 <au:assertTrue message="We must have 5 emake errors in the log."> |
|
387 <equals arg1="${errors}" arg2="5"/> |
|
388 </au:assertTrue> |
|
389 </target> |
|
390 |
|
391 |
|
392 <target name="test-unit-linkage"> |
|
393 <property name="epocroot" location="../" /> |
|
394 <copy file="${project.dir}/../data/sbs/unit_categorization_compile.log" tofile="${test.temp.dir}/unit_categorization_compile.log"> |
|
395 <filterchain> |
|
396 <expandproperties/> |
|
397 </filterchain> |
|
398 </copy> |
|
399 <hlm:metadatarecord database="${test.temp.dir}/metadata_db"> |
|
400 <hlm:sysdefmetadatainput file="../data/sbs/sysdef3.xml" epocroot="${epocroot}" /> |
|
401 <hlm:sbsmetadatainput epocroot="../"> |
|
402 <fileset file="${test.temp.dir}/unit_categorization_compile.log" /> |
|
403 <metadatafilterset> |
|
404 <metadatafilter priority="error" regex="^ERROR:.*" description="To capture emake errors" /> |
|
405 </metadatafilterset> |
|
406 </hlm:sbsmetadatainput> |
|
407 </hlm:metadatarecord> |
|
408 <fmpp sourceFile="../data/sbs/sysdef_data.ini.ftl" |
|
409 outputfile="${test.temp.dir}/sysdef_data.ini"> |
|
410 <data expandProperties="yes"> |
|
411 dbPath: ${test.temp.dir}/metadata_db |
|
412 ant: antProperties() |
|
413 </data> |
|
414 </fmpp> |
|
415 <property file="${test.temp.dir}/sysdef_data.ini" /> |
|
416 <echo>component.count: ${component.count}</echo> |
|
417 <echo>component.0.unit.id: ${component.0.unit.id}</echo> |
|
418 <echo>component.0.unit.location: ${component.0.unit.location}</echo> |
|
419 <echo>component.1.unit.id: ${component.1.unit.id}</echo> |
|
420 <echo>component.1.unit.location: ${component.1.unit.location}</echo> |
|
421 <au:assertTrue message="Check the first component do not links to any unit (uncategorized)"> |
|
422 <equals arg1="${component.0.unit.id}" arg2="0" /> |
|
423 </au:assertTrue> |
|
424 <au:assertTrue message="Check the first component do not links to any unit (uncategorized)"> |
|
425 <equals arg1="${component.0.unit.location}" arg2="" /> |
|
426 </au:assertTrue> |
|
427 <au:assertTrue message="Check the second component links to a unit"> |
|
428 <equals arg1="${component.1.unit.location}" arg2="sf/mw/helloworldapi/group" /> |
|
429 </au:assertTrue> |
|
430 </target> |
|
431 |
|
432 </project> |