Commit | Line | Data |
---|---|---|
970ed795 | 1 | .****************************************************************************** |
d44e3c4f | 2 | .* Copyright (c) 2000-2016 Ericsson Telecom AB |
970ed795 EL |
3 | .* All rights reserved. This program and the accompanying materials |
4 | .* are made available under the terms of the Eclipse Public License v1.0 | |
5 | .* which accompanies this distribution, and is available at | |
6 | .* http://www.eclipse.org/legal/epl-v10.html | |
d44e3c4f | 7 | .* |
8 | .* Contributors: | |
9 | .* Balasko, Jeno | |
10 | .* | |
970ed795 EL |
11 | .******************************************************************************/ |
12 | :text. | |
13 | :lang eng. | |
14 | ||
15 | .* EDML webpage: http://cpi.ericsson.se/dwaxe/ | |
16 | .* EDML2PDF converter: http://dwaxe.ericsson.se/x2pdf | |
17 | .* EDML user guide: http://www.lmc.ericsson.se/~lmcmarg/isit/edml_ug.html | |
18 | ||
19 | .* Document header information | |
20 | :docname.Test Description | |
21 | :docno.xx/152 91-CRL 113 200/3 Uen | |
a38c6d4c | 22 | :rev.C |
23 | :date.2015-04-27 | |
970ed795 EL |
24 | |
25 | :prep.ETH/XZR Jeno Balasko | |
26 | :appr.ETH/XZR (Elemer Lelik) | |
27 | :checked.ESZABRE | |
28 | ||
29 | :title.Test description of the TTCN-3 config files | |
30 | :contents level=2. | |
31 | .*---------------------------------------------------------------------* | |
32 | :h1.Introduction | |
33 | .*---------------------------------------------------------------------* | |
34 | .*---------------------------------------------------------------------* | |
35 | :h2.Revision history | |
36 | .*---------------------------------------------------------------------* | |
37 | :xmp tab=2. | |
38 | REV DATE PREPARED CHANGE | |
39 | __________________________________________________ | |
40 | PA1 2013-03-01 ETHBAAT New document for TITAN CRL 113 200/3 | |
41 | ||
42 | :exmp. | |
43 | .*---------------------------------------------------------------------* | |
44 | :h2.Purpose | |
45 | .*---------------------------------------------------------------------* | |
46 | The purpose of this Test Description is to define and describe the function | |
47 | test activity for the listed functionality of the TTCN-3 executor including | |
48 | the relevant configuration options and the configuration file parser as follows: | |
49 | :li D='1.'Ordered Include | |
50 | ||
51 | :nl.SA-1/x: Unknown object. | |
52 | :p.The specification of the test cases can be found in this document. | |
53 | .*---------------------------------------------------------------------* | |
54 | :h1.Test environment | |
55 | .*---------------------------------------------------------------------* | |
56 | .*---------------------------------------------------------------------* | |
57 | :h2.Hardware | |
58 | .*---------------------------------------------------------------------* | |
59 | No specific hardware requirement. | |
60 | .*---------------------------------------------------------------------* | |
61 | :h2.Software | |
62 | .*---------------------------------------------------------------------* | |
63 | Tests shall be carried out on the following platforms: | |
64 | :list. | |
65 | :li D='1.'.Solaris 8 (Sun OS 5.8) (gcc 3.0.4) | |
66 | :li D='2.'.SUSE Linux Enterprise server 8 (2.4.19-4GB) (gcc 3.2) | |
67 | :li D='3.'.CYGWIN_NT-5.0 (Cygwin DLL: 1.5.12) on Windows 2000 (gcc 3.3.3) | |
68 | :elist. | |
69 | .*---------------------------------------------------------------------* | |
70 | :h2.Configuration | |
71 | .*---------------------------------------------------------------------* | |
72 | The test environment had been setup in CVS. The tester program is stored in: | |
73 | :nl.TTCNv3/function_test/Tools/SAtester.pl | |
74 | :nl.Test cases are stored with extension .script in the directory: | |
75 | :nl.TTCNv3/function_test/Semantic_Analyser/ | |
76 | .*---------------------------------------------------------------------* | |
77 | :h2.Installation | |
78 | .*---------------------------------------------------------------------* | |
79 | Install proper TITAN binaries on the used platforms and make sure that | |
80 | your environment settings are correct: | |
81 | :list. | |
82 | :li D='1.'.TTCN3_DIR is set | |
83 | :li D='2.'.$TTCN3_DIR/bin is added to the PATH variable | |
84 | :li D='3.'.$TTCN3_DIR/lib is added to the LD_LIBRARY_PATH variable | |
85 | :li D='4.'.Perl 5.6.0 or higher is available on the platform | |
86 | :li D='5.'.Create a symlink to your Perl binary into the directory where the | |
87 | test cases are stored: | |
88 | :nl.ln -s <your Perl> perl | |
89 | :elist. | |
90 | .*---------------------------------------------------------------------* | |
91 | :h2.Test Tools | |
92 | .*---------------------------------------------------------------------* | |
93 | A tester program had been written in Perl especially for the Semantic Analyser | |
94 | tests. For the list of command line parameters, type 'SAtester.pl -help', for the | |
95 | complete documentation, type 'SAtester.pl -doc'. | |
96 | :p.Test cases are specified in the Test Description documents in EDML format. | |
97 | The tester program parses these files and generates the TTCN-3/ASN.1 modules, then | |
98 | calls the compiler to compile them. The result printout is then matched against | |
99 | different patterns to be able to set the verdict. Test cases contain not only | |
100 | the source modules, but the patterns as well. | |
101 | :p.The tester program allows one-by-one execution of test cases and batched | |
102 | execution as well. | |
103 | :p.NOTE: the tester program requires Perl 5.6.0 or higher. | |
104 | .*---------------------------------------------------------------------* | |
105 | :h2.Test scope | |
106 | .*---------------------------------------------------------------------* | |
107 | Ref [1]: SA-1/x: Unknown object | |
108 | :nl.Explanation: all unknown objects shall be detected by SA. | |
109 | .*---------------------------------------------------------------------* | |
110 | :h2.Test strategy | |
111 | .*---------------------------------------------------------------------* | |
112 | Test cases are based on TTCN-3 BNF according to the followings: | |
113 | :list. | |
114 | :li D='1.'.For each 'basic' definition a complete coverage is done (e.g. for | |
115 | expressions, assignments, etc.). 'Basic' means that the definition is | |
116 | used in several places. | |
117 | :li D='2.'.For each definition a complete coverage is done, except for basic | |
118 | definitions, in which case only 1-2 examples are covered, not the | |
119 | whole basic definition. This is to avoid testing all possible subcases | |
120 | for all possible places it may appear. | |
121 | :nl.NOTE: a complete coverage means that all occurances are tested where | |
122 | the specific definition may occur. This is however not complete. Only | |
123 | one occurance is tested for each construct. | |
124 | :li D='3.'.Test case names are contsructed following the path in the BNF in TTCN-3 | |
125 | and following the possible notations/subtyping in ASN.1. | |
126 | :elist. | |
127 | .*---------------------------------------------------------------------* | |
128 | :h2.Status | |
129 | .*---------------------------------------------------------------------* | |
130 | The following structures are not covered: | |
131 | :list. | |
132 | :li D='-'.sub-structures that causes parse error due to limited support of that | |
133 | part of the language (e.g. interleave construct) | |
134 | :elist. | |
135 | .*---------------------------------------------------------------------* | |
136 | :h1.Test cases | |
137 | .*---------------------------------------------------------------------* | |
138 | .*---------------------------------------------------------------------* | |
139 | :h2.Ordered include - Positive tests | |
140 | .*---------------------------------------------------------------------* | |
141 | .*---------------------------------------------------------------------* | |
142 | :h3. Positive Testcase - single mode | |
143 | .*---------------------------------------------------------------------* | |
144 | :xmp tab=0. | |
145 | ||
146 | <TC - Positive Testcase - single mode> | |
147 | ||
148 | <EXECUTE> | |
149 | ||
150 | <MODULE TTCN Temp Temp.ttcn> | |
151 | module Temp{ | |
152 | ||
153 | modulepar { | |
154 | charstring tsp_c :="tsp_c_default"; | |
155 | charstring tsp_c0:="tsp_c_default0"; | |
156 | charstring tsp_c1:="tsp_c_default1"; | |
157 | charstring tsp_c2:="tsp_c_default2"; | |
158 | } | |
159 | ||
160 | type component MyComp {} | |
161 | ||
162 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
163 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
164 | } | |
165 | with { extension "transparent" } | |
166 | ||
167 | testcase tc_1() runs on MyComp{ | |
168 | f_setverdict_C(tsp_c,"0"); | |
169 | f_setverdict_C(tsp_c0,"0"); | |
170 | f_setverdict_C(tsp_c1,"1"); | |
171 | f_setverdict_C(tsp_c2,"2"); | |
172 | } | |
173 | ||
174 | control{ execute(tc_1()); } | |
175 | ||
176 | } | |
177 | ||
178 | <END_MODULE> | |
179 | ||
180 | ||
181 | <RESULT> | |
182 | Overall verdict: pass | |
183 | <END_RESULT> | |
184 | ||
185 | <MODULE CFG oi1_before1 oi1_before1.cfg> | |
186 | [DEFINE] | |
187 | MACRO1=1 | |
188 | ||
189 | [ORDERED_INCLUDE] | |
190 | "oi2.cfg" | |
191 | [MODULE_PARAMETERS] | |
192 | tsp_c=$MACRO1 | |
193 | tsp_c1=$MACRO1 | |
194 | <END_MODULE> | |
195 | ||
196 | <MODULE CFG oi2 oi2.cfg> | |
197 | [DEFINE] | |
198 | MACRO2:=2 | |
199 | [MODULE_PARAMETERS] | |
200 | tsp_c=$MACRO2 | |
201 | tsp_c2=$MACRO2 | |
202 | <END_MODULE> | |
203 | ||
204 | ||
205 | <MODULE CFG oi oi.cfg> | |
206 | [LOGGING] | |
207 | LogSourceInfo := Stack | |
208 | ConsoleMask:= LOG_ALL | |
209 | [DEFINE] | |
210 | MACRO:=0 | |
211 | [ORDERED_INCLUDE] | |
212 | "oi1_before1.cfg" | |
213 | [MODULE_PARAMETERS] | |
214 | tsp_c:=$MACRO | |
215 | tsp_c0:=$MACRO | |
216 | [EXECUTE] | |
217 | Temp.tc_1 | |
218 | ||
219 | <END_MODULE> | |
220 | ||
221 | <END_TC> | |
222 | ||
223 | :exmp. | |
224 | ||
225 | .*---------------------------------------------------------------------* | |
226 | :h3. Positive Testcase - parallel mode | |
227 | .*---------------------------------------------------------------------* | |
228 | :xmp tab=0. | |
229 | ||
230 | <TC - Positive Testcase - parallel mode> | |
231 | ||
232 | <EXECUTE_PARALLEL> | |
233 | ||
234 | <MODULE TTCN Temp Temp.ttcn> | |
235 | module Temp{ | |
236 | ||
237 | modulepar { | |
238 | charstring tsp_c :="tsp_c_default"; | |
239 | charstring tsp_c0:="tsp_c_default0"; | |
240 | charstring tsp_c1:="tsp_c_default1"; | |
241 | charstring tsp_c2:="tsp_c_default2"; | |
242 | } | |
243 | ||
244 | type component MyComp {} | |
245 | ||
246 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
247 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
248 | } | |
249 | with { extension "transparent" } | |
250 | ||
251 | testcase tc_1() runs on MyComp{ | |
252 | f_setverdict_C(tsp_c,"0"); | |
253 | f_setverdict_C(tsp_c0,"0"); | |
254 | f_setverdict_C(tsp_c1,"1"); | |
255 | f_setverdict_C(tsp_c2,"2"); | |
256 | } | |
257 | ||
258 | control{ execute(tc_1()); } | |
259 | ||
260 | } | |
261 | ||
262 | <END_MODULE> | |
263 | ||
264 | ||
265 | <MODULE CFG oi1_before1 oi1_before1.cfg> | |
266 | [DEFINE] | |
267 | MACRO1=1 | |
268 | ||
269 | [ORDERED_INCLUDE] | |
270 | "oi2.cfg" | |
271 | [MODULE_PARAMETERS] | |
272 | tsp_c=$MACRO1 | |
273 | tsp_c1=$MACRO1 | |
274 | <END_MODULE> | |
275 | ||
276 | <MODULE CFG oi2 oi2.cfg> | |
277 | [DEFINE] | |
278 | MACRO2:=2 | |
279 | [MODULE_PARAMETERS] | |
280 | tsp_c=$MACRO2 | |
281 | tsp_c2=$MACRO2 | |
282 | <END_MODULE> | |
283 | ||
284 | <MODULE CFG oi oi.cfg> | |
285 | [LOGGING] | |
286 | LogSourceInfo := Stack | |
287 | ConsoleMask:= LOG_ALL | |
288 | [DEFINE] | |
289 | MACRO:=0 | |
290 | [ORDERED_INCLUDE] | |
291 | "oi1_before1.cfg" | |
292 | [MODULE_PARAMETERS] | |
293 | tsp_c:=$MACRO | |
294 | tsp_c0:=$MACRO | |
295 | [EXECUTE] | |
296 | Temp.tc_1 | |
297 | ||
298 | <END_MODULE> | |
299 | ||
300 | ||
301 | <RESULT> | |
302 | Overall verdict: pass | |
303 | <END_RESULT> | |
304 | ||
305 | <END_TC> | |
306 | ||
307 | :exmp. | |
308 | ||
309 | ||
310 | ||
311 | .*---------------------------------------------------------------------* | |
312 | :h3. Ordered include - double import - single mode | |
313 | .*---------------------------------------------------------------------* | |
314 | :xmp tab=0. | |
315 | ||
316 | <TC - Ordered include - double import - single mode> | |
317 | ||
318 | <EXECUTE> | |
319 | ||
320 | <MODULE TTCN Temp Temp.ttcn> | |
321 | module Temp{ | |
322 | ||
323 | modulepar { | |
324 | charstring tsp_c :="tsp_c_default"; | |
325 | charstring tsp_c0:="tsp_c_default0"; | |
326 | charstring tsp_c1:="tsp_c_default1"; | |
327 | charstring tsp_c2:="tsp_c_default2"; | |
328 | } | |
329 | ||
330 | type component MyComp {} | |
331 | ||
332 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
333 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
334 | } | |
335 | with { extension "transparent" } | |
336 | ||
337 | testcase tc_1() runs on MyComp{ | |
338 | f_setverdict_C(tsp_c,"0"); | |
339 | f_setverdict_C(tsp_c0,"0"); | |
340 | f_setverdict_C(tsp_c1,"1"); | |
341 | f_setverdict_C(tsp_c2,"2"); | |
342 | } | |
343 | ||
344 | control{ execute(tc_1()); } | |
345 | ||
346 | } | |
347 | ||
348 | <END_MODULE> | |
349 | ||
350 | ||
351 | <RESULT> | |
352 | Overall verdict: pass | |
353 | <END_RESULT> | |
354 | ||
355 | <MODULE CFG oi1_before1 oi1_before1.cfg> | |
356 | ||
357 | [ORDERED_INCLUDE] | |
358 | "oi2.cfg" | |
359 | [MODULE_PARAMETERS] | |
360 | tsp_c="1" | |
361 | tsp_c1="1" | |
362 | <END_MODULE> | |
363 | ||
364 | <MODULE CFG oi2 oi2.cfg> | |
365 | [DEFINE] | |
366 | [MODULE_PARAMETERS] | |
367 | tsp_c="2" | |
368 | tsp_c2="2" | |
369 | <END_MODULE> | |
370 | ||
371 | ||
372 | <MODULE CFG oi oi.cfg> | |
373 | [LOGGING] | |
374 | LogSourceInfo := Stack | |
375 | ConsoleMask:= LOG_ALL | |
376 | [DEFINE] | |
377 | MACRO:=0 | |
378 | [ORDERED_INCLUDE] | |
379 | "oi1_before1.cfg" | |
380 | "oi1_before1.cfg" | |
381 | [MODULE_PARAMETERS] | |
382 | tsp_c:=$MACRO | |
383 | tsp_c0:=$MACRO | |
384 | [EXECUTE] | |
385 | Temp.tc_1 | |
386 | ||
387 | <END_MODULE> | |
388 | ||
389 | <END_TC> | |
390 | ||
391 | :exmp. | |
392 | ||
393 | .*---------------------------------------------------------------------* | |
394 | :h3. Ordered include - double import - parallel mode | |
395 | .*---------------------------------------------------------------------* | |
396 | :xmp tab=0. | |
397 | ||
398 | <TC - Ordered include - double import - parallel mode> | |
399 | ||
400 | <EXECUTE_PARALLEL> | |
401 | ||
402 | <MODULE TTCN Temp Temp.ttcn> | |
403 | module Temp{ | |
404 | ||
405 | modulepar { | |
406 | charstring tsp_c :="tsp_c_default"; | |
407 | charstring tsp_c0:="tsp_c_default0"; | |
408 | charstring tsp_c1:="tsp_c_default1"; | |
409 | charstring tsp_c2:="tsp_c_default2"; | |
410 | } | |
411 | ||
412 | type component MyComp {} | |
413 | ||
414 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
415 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
416 | } | |
417 | with { extension "transparent" } | |
418 | ||
419 | testcase tc_1() runs on MyComp{ | |
420 | f_setverdict_C(tsp_c,"0"); | |
421 | f_setverdict_C(tsp_c0,"0"); | |
422 | f_setverdict_C(tsp_c1,"1"); | |
423 | f_setverdict_C(tsp_c2,"2"); | |
424 | } | |
425 | ||
426 | control{ execute(tc_1()); } | |
427 | ||
428 | } | |
429 | ||
430 | <END_MODULE> | |
431 | ||
432 | ||
433 | <MODULE CFG oi1_before1 oi1_before1.cfg> | |
434 | [ORDERED_INCLUDE] | |
435 | "oi2.cfg" | |
436 | [MODULE_PARAMETERS] | |
437 | tsp_c="1" | |
438 | tsp_c1="1" | |
439 | <END_MODULE> | |
440 | ||
441 | <MODULE CFG oi2 oi2.cfg> | |
442 | [MODULE_PARAMETERS] | |
443 | tsp_c="2" | |
444 | tsp_c2="2" | |
445 | <END_MODULE> | |
446 | ||
447 | <MODULE CFG oi oi.cfg> | |
448 | [LOGGING] | |
449 | LogSourceInfo := Stack | |
450 | ConsoleMask:= LOG_ALL | |
451 | [DEFINE] | |
452 | MACRO:=0 | |
453 | [ORDERED_INCLUDE] | |
454 | "oi1_before1.cfg" | |
455 | "oi1_before1.cfg" | |
456 | [MODULE_PARAMETERS] | |
457 | tsp_c:=$MACRO | |
458 | tsp_c0:=$MACRO | |
459 | [EXECUTE] | |
460 | Temp.tc_1 | |
461 | ||
462 | <END_MODULE> | |
463 | ||
464 | ||
465 | <RESULT IF_FAIL COUNT 1> | |
466 | Overall verdict: pass | |
467 | <END_RESULT> | |
468 | ||
469 | <END_TC> | |
470 | ||
471 | :exmp. | |
472 | ||
473 | ||
474 | .*---------------------------------------------------------------------* | |
475 | :h2.Ordered include - Negative tests | |
476 | .*---------------------------------------------------------------------* | |
477 | .*---------------------------------------------------------------------* | |
478 | :h3. Cyclic ordered import - single mode | |
479 | .*---------------------------------------------------------------------* | |
480 | :xmp tab=0. | |
481 | ||
482 | <TC - Cyclic ordered import - single mode> | |
483 | ||
484 | <EXECUTE> | |
485 | ||
486 | <MODULE TTCN Temp Temp.ttcn> | |
487 | module Temp{ | |
488 | ||
489 | modulepar { | |
490 | charstring tsp_c :="tsp_c_default"; | |
491 | } | |
492 | ||
493 | type component MyComp {} | |
494 | ||
495 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
496 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
497 | } | |
498 | with { extension "transparent" } | |
499 | ||
500 | testcase tc_1() runs on MyComp{ | |
501 | f_setverdict_C(tsp_c,"0"); | |
502 | } | |
503 | ||
504 | control{ execute(tc_1()); } | |
505 | ||
506 | } | |
507 | ||
508 | <END_MODULE> | |
509 | ||
510 | <MODULE CFG oi1 oi1.cfg> | |
511 | [DEFINE] | |
512 | MACRO1=1 | |
513 | ||
514 | [ORDERED_INCLUDE] | |
515 | "oi2.cfg" | |
516 | [MODULE_PARAMETERS] | |
517 | tsp_c=$MACRO1 | |
518 | <END_MODULE> | |
519 | ||
520 | <MODULE CFG oi2 oi2.cfg> | |
521 | [DEFINE] | |
522 | MACRO2:=2 | |
523 | [MODULE_PARAMETERS] | |
524 | tsp_c=$MACRO2 | |
525 | [ORDERED_INCLUDE] | |
526 | "oi.cfg" | |
527 | <END_MODULE> | |
528 | ||
529 | ||
530 | <MODULE CFG oi oi.cfg> | |
531 | [LOGGING] | |
532 | LogSourceInfo := Stack | |
533 | ConsoleMask:= LOG_ALL | |
534 | [DEFINE] | |
535 | MACRO:=0 | |
536 | [ORDERED_INCLUDE] | |
537 | "oi1.cfg" | |
538 | [MODULE_PARAMETERS] | |
539 | tsp_c:=$MACRO | |
540 | [EXECUTE] | |
541 | Temp.tc_1 | |
542 | ||
543 | <END_MODULE> | |
544 | ||
545 | <RESULT> | |
546 | Parse error while pre-processing configuration file.*Circular import chain detected: | |
547 | <END_RESULT> | |
548 | ||
549 | <END_TC> | |
550 | ||
551 | :exmp. | |
552 | ||
553 | .*---------------------------------------------------------------------* | |
554 | :h3. Cyclic ordered import - parallel mode | |
555 | .*---------------------------------------------------------------------* | |
556 | :xmp tab=0. | |
557 | ||
558 | <TC - Cyclic ordered import - parallel mode> | |
559 | ||
560 | <EXECUTE_PARALLEL> | |
561 | ||
562 | <MODULE TTCN Temp Temp.ttcn> | |
563 | module Temp{ | |
564 | ||
565 | modulepar { | |
566 | charstring tsp_c :="tsp_c_default"; | |
567 | } | |
568 | ||
569 | type component MyComp {} | |
570 | ||
571 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
572 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
573 | } | |
574 | with { extension "transparent" } | |
575 | ||
576 | testcase tc_1() runs on MyComp{ | |
577 | f_setverdict_C(tsp_c,"0"); | |
578 | } | |
579 | ||
580 | control{ execute(tc_1()); } | |
581 | ||
582 | } | |
583 | ||
584 | <END_MODULE> | |
585 | ||
586 | <MODULE CFG oi1_before1 oi1_before1.cfg> | |
587 | [DEFINE] | |
588 | MACRO1=1 | |
589 | ||
590 | [ORDERED_INCLUDE] | |
591 | "oi2.cfg" | |
592 | [MODULE_PARAMETERS] | |
593 | tsp_c=$MACRO1 | |
594 | <END_MODULE> | |
595 | ||
596 | <MODULE CFG oi2 oi2.cfg> | |
597 | [ORDERED_INCLUDE] | |
598 | "oi.cfg" | |
599 | ||
600 | [DEFINE] | |
601 | MACRO2:=2 | |
602 | [MODULE_PARAMETERS] | |
603 | tsp_c=$MACRO2 | |
604 | <END_MODULE> | |
605 | ||
606 | <MODULE CFG oi oi.cfg> | |
607 | [LOGGING] | |
608 | LogSourceInfo := Stack | |
609 | ConsoleMask:= LOG_ALL | |
610 | [DEFINE] | |
611 | MACRO:=0 | |
612 | [ORDERED_INCLUDE] | |
613 | "oi1_before1.cfg" | |
614 | [MODULE_PARAMETERS] | |
615 | tsp_c:=$MACRO | |
616 | [EXECUTE] | |
617 | Temp.tc_1 | |
618 | ||
619 | <END_MODULE> | |
620 | ||
621 | <RESULT> | |
622 | Parse error while pre-processing configuration file.*Circular import chain detected: | |
623 | <END_RESULT> | |
624 | ||
625 | <END_TC> | |
626 | ||
627 | :exmp. | |
628 | ||
629 | .*---------------------------------------------------------------------* | |
630 | :h3. Ordered import of empty filename - single mode | |
631 | .*---------------------------------------------------------------------* | |
632 | :xmp tab=0. | |
633 | ||
634 | <TC - Ordered import of empty filename - single mode> | |
635 | ||
636 | <EXECUTE> | |
637 | ||
638 | <MODULE TTCN Temp Temp.ttcn> | |
639 | module Temp{ | |
640 | ||
641 | modulepar { | |
642 | charstring tsp_c :="tsp_c_default"; | |
643 | } | |
644 | ||
645 | type component MyComp {} | |
646 | ||
647 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
648 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
649 | } | |
650 | with { extension "transparent" } | |
651 | ||
652 | testcase tc_1() runs on MyComp{ | |
653 | f_setverdict_C(tsp_c,"0"); | |
654 | } | |
655 | ||
656 | control{ execute(tc_1()); } | |
657 | ||
658 | } | |
659 | ||
660 | <END_MODULE> | |
661 | ||
662 | <MODULE CFG oi1 oi1.cfg> | |
663 | [DEFINE] | |
664 | MACRO1=1 | |
665 | ||
666 | [ORDERED_INCLUDE] | |
667 | "oi2.cfg" | |
668 | [MODULE_PARAMETERS] | |
669 | tsp_c=$MACRO1 | |
670 | <END_MODULE> | |
671 | ||
672 | <MODULE CFG oi2 oi2.cfg> | |
673 | [DEFINE] | |
674 | MACRO2:=2 | |
675 | [MODULE_PARAMETERS] | |
676 | tsp_c=$MACRO2 | |
677 | [ORDERED_INCLUDE] | |
678 | "" | |
679 | <END_MODULE> | |
680 | ||
681 | ||
682 | <MODULE CFG oi oi.cfg> | |
683 | [LOGGING] | |
684 | LogSourceInfo := Stack | |
685 | ConsoleMask:= LOG_ALL | |
686 | [DEFINE] | |
687 | MACRO:=0 | |
688 | [ORDERED_INCLUDE] | |
689 | "oi1.cfg" | |
690 | [MODULE_PARAMETERS] | |
691 | tsp_c:=$MACRO | |
692 | [EXECUTE] | |
693 | Temp.tc_1 | |
694 | ||
695 | <END_MODULE> | |
696 | ||
697 | <RESULT> | |
698 | Parse error while pre-processing configuration file.*Empty file name | |
699 | <END_RESULT> | |
700 | ||
701 | <END_TC> | |
702 | ||
703 | :exmp. | |
704 | ||
705 | .*---------------------------------------------------------------------* | |
706 | :h3. Ordered import of empty filename - parallel mode | |
707 | .*---------------------------------------------------------------------* | |
708 | :xmp tab=0. | |
709 | ||
710 | <TC - Ordered import of empty filename - parallel mode> | |
711 | ||
712 | <EXECUTE_PARALLEL> | |
713 | ||
714 | <MODULE TTCN Temp Temp.ttcn> | |
715 | module Temp{ | |
716 | ||
717 | modulepar { | |
718 | charstring tsp_c :="tsp_c_default"; | |
719 | } | |
720 | ||
721 | type component MyComp {} | |
722 | ||
723 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
724 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
725 | } | |
726 | with { extension "transparent" } | |
727 | ||
728 | testcase tc_1() runs on MyComp{ | |
729 | f_setverdict_C(tsp_c,"0"); //pass | |
730 | } | |
731 | ||
732 | control{ execute(tc_1()); } | |
733 | ||
734 | } | |
735 | ||
736 | <END_MODULE> | |
737 | ||
738 | <MODULE CFG oi1_before1 oi1_before1.cfg> | |
739 | [DEFINE] | |
740 | MACRO1=1 | |
741 | ||
742 | [ORDERED_INCLUDE] | |
743 | "oi2.cfg" | |
744 | [MODULE_PARAMETERS] | |
745 | tsp_c=$MACRO1 | |
746 | <END_MODULE> | |
747 | ||
748 | <MODULE CFG oi2 oi2.cfg> | |
749 | [ORDERED_INCLUDE] | |
750 | "" | |
751 | ||
752 | [DEFINE] | |
753 | MACRO2:=2 | |
754 | [MODULE_PARAMETERS] | |
755 | tsp_c=$MACRO2 | |
756 | <END_MODULE> | |
757 | ||
758 | <MODULE CFG oi oi.cfg> | |
759 | [LOGGING] | |
760 | LogSourceInfo := Stack | |
761 | ConsoleMask:= LOG_ALL | |
762 | [DEFINE] | |
763 | MACRO:=0 | |
764 | [ORDERED_INCLUDE] | |
765 | "oi1_before1.cfg" | |
766 | [MODULE_PARAMETERS] | |
767 | tsp_c:=$MACRO | |
768 | [EXECUTE] | |
769 | Temp.tc_1 | |
770 | ||
771 | <END_MODULE> | |
772 | ||
773 | <RESULT> | |
774 | Parse error while pre-processing configuration file.*Empty file name | |
775 | <END_RESULT> | |
776 | ||
777 | <END_TC> | |
778 | ||
779 | :exmp. | |
780 | ||
781 | .*---------------------------------------------------------------------* | |
782 | :h3. Ordered import of not existing filename - single mode | |
783 | .*---------------------------------------------------------------------* | |
784 | :xmp tab=0. | |
785 | ||
786 | <TC - Ordered import of not existing filename - single mode> | |
787 | ||
788 | <EXECUTE> | |
789 | ||
790 | <MODULE TTCN Temp Temp.ttcn> | |
791 | module Temp{ | |
792 | ||
793 | modulepar { | |
794 | charstring tsp_c :="tsp_c_default"; | |
795 | } | |
796 | ||
797 | type component MyComp {} | |
798 | ||
799 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
800 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
801 | } | |
802 | with { extension "transparent" } | |
803 | ||
804 | testcase tc_1() runs on MyComp{ | |
805 | f_setverdict_C(tsp_c,"0"); | |
806 | } | |
807 | ||
808 | control{ execute(tc_1()); } | |
809 | ||
810 | } | |
811 | ||
812 | <END_MODULE> | |
813 | ||
814 | <MODULE CFG oi1 oi1.cfg> | |
815 | [DEFINE] | |
816 | MACRO1=1 | |
817 | ||
818 | [ORDERED_INCLUDE] | |
819 | "oi2.cfg" | |
820 | [MODULE_PARAMETERS] | |
821 | tsp_c=$MACRO1 | |
822 | <END_MODULE> | |
823 | ||
824 | <MODULE CFG oi2 oi2.cfg> | |
825 | [DEFINE] | |
826 | MACRO2:=2 | |
827 | [MODULE_PARAMETERS] | |
828 | tsp_c=$MACRO2 | |
829 | [ORDERED_INCLUDE] | |
830 | "Subidubi.cfg" | |
831 | <END_MODULE> | |
832 | ||
833 | ||
834 | <MODULE CFG oi oi.cfg> | |
835 | [LOGGING] | |
836 | LogSourceInfo := Stack | |
837 | ConsoleMask:= LOG_ALL | |
838 | [DEFINE] | |
839 | MACRO:=0 | |
840 | [ORDERED_INCLUDE] | |
841 | "oi1.cfg" | |
842 | [MODULE_PARAMETERS] | |
843 | tsp_c:=$MACRO | |
844 | [EXECUTE] | |
845 | Temp.tc_1 | |
846 | ||
847 | <END_MODULE> | |
848 | ||
849 | <RESULT> | |
850 | Parse error while pre-processing configuration file.*File not found:.*Config_Parser\/Subidubi.cfg | |
851 | <END_RESULT> | |
852 | <RESULT> | |
853 | Parse error in configuration file .*Config_Parser\/oi2.cfg.*File not found:.*Config_Parser\/Subidubi.cfg | |
854 | <END_RESULT> | |
855 | ||
856 | ||
857 | <END_TC> | |
858 | ||
859 | :exmp. | |
860 | ||
861 | .*---------------------------------------------------------------------* | |
862 | :h3. Ordered import of not existing filename - parallel mode | |
863 | .*---------------------------------------------------------------------* | |
864 | :xmp tab=0. | |
865 | ||
866 | <TC - Ordered import of not existing filename - parallel mode> | |
867 | ||
868 | <EXECUTE_PARALLEL> | |
869 | ||
870 | <MODULE TTCN Temp Temp.ttcn> | |
871 | module Temp{ | |
872 | ||
873 | modulepar { | |
874 | charstring tsp_c :="tsp_c_default"; | |
875 | } | |
876 | ||
877 | type component MyComp {} | |
878 | ||
879 | function f_setverdict_C(in charstring pl_value,in charstring pl_expected){ | |
880 | if(pl_value == pl_expected) { setverdict(pass) } else{ setverdict(fail,match(pl_value,pl_expected)) }; | |
881 | } | |
882 | with { extension "transparent" } | |
883 | ||
884 | testcase tc_1() runs on MyComp{ | |
885 | f_setverdict_C(tsp_c,"0"); //pass | |
886 | } | |
887 | ||
888 | control{ execute(tc_1()); } | |
889 | ||
890 | } | |
891 | ||
892 | <END_MODULE> | |
893 | ||
894 | <MODULE CFG oi1_before1 oi1_before1.cfg> | |
895 | [DEFINE] | |
896 | MACRO1=1 | |
897 | ||
898 | [ORDERED_INCLUDE] | |
899 | "oi2.cfg" | |
900 | [MODULE_PARAMETERS] | |
901 | tsp_c=$MACRO1 | |
902 | <END_MODULE> | |
903 | ||
904 | <MODULE CFG oi2 oi2.cfg> | |
905 | [ORDERED_INCLUDE] | |
906 | "Subidubi.cfg" | |
907 | ||
908 | [DEFINE] | |
909 | MACRO2:=2 | |
910 | [MODULE_PARAMETERS] | |
911 | tsp_c=$MACRO2 | |
912 | <END_MODULE> | |
913 | ||
914 | <MODULE CFG oi oi.cfg> | |
915 | [LOGGING] | |
916 | LogSourceInfo := Stack | |
917 | ConsoleMask:= LOG_ALL | |
918 | [DEFINE] | |
919 | MACRO:=0 | |
920 | [ORDERED_INCLUDE] | |
921 | "oi1_before1.cfg" | |
922 | [MODULE_PARAMETERS] | |
923 | tsp_c:=$MACRO | |
924 | [EXECUTE] | |
925 | Temp.tc_1 | |
926 | ||
927 | <END_MODULE> | |
928 | ||
929 | <RESULT> | |
930 | Parse error while pre-processing configuration file.*File not found:.*Config_Parser\/Subidubi.cfg | |
931 | <END_RESULT> | |
932 | <RESULT> | |
933 | Parse error in configuration file .*Config_Parser\/oi2.cfg.*File not found:.*Config_Parser\/Subidubi.cfg | |
934 | <END_RESULT> | |
935 | ||
936 | <END_TC> | |
937 | ||
938 | :exmp. | |
939 | *---------------------------------------------------------------------* | |
940 | :h1.Abbreviations | |
941 | .*---------------------------------------------------------------------* | |
942 | :list. | |
943 | :li D='ASN.1'.Abstract Syntax Notation 1 | |
944 | :li D='EDML'.Ericsson Document Markup Language | |
945 | :li D='SA'.Semantic Analyser | |
946 | :li D='TTCN-3'.Test and Test Control Notation version 3 | |
947 | :elist. | |
948 | ||
949 | .*---------------------------------------------------------------------* | |
950 | :h1.References | |
951 | .*---------------------------------------------------------------------* | |
952 | :list. | |
953 | :li D='[1]'.ETH/RZ-2005:0120 Uen | |
954 | :nl.Requirement Specification for the TITAN TTCN-3 Executor | |
955 | :li D='[2]'.1/174 02-FCPCA 101 42 Uen | |
956 | :nl.Statement of Compliance for TITAN project | |
957 | :li D='[3]'.ETSI ES 201 873-1, v3.0.0 Mockup v1 (2004-03): | |
958 | :nl.Testing and Test Control Notation version 3., | |
959 | :nl.Part 1: TTCN-3 Core Language | |
960 | :elist. | |
961 | ||
962 | .*---------------------------------------------------------------------* | |
963 | :h1.Terminology | |
964 | .*---------------------------------------------------------------------* | |
965 | :list. | |
966 | :li D='TITAN'.Ericsson's TTCN-3 Test Environment | |
967 | :elist. | |
968 | ||
969 | :etext. |