1 .******************************************************************************
2 .* Copyright (c) 2000-2014 Ericsson Telecom AB
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
7 .******************************************************************************/
11 .* EDML webpage: http://cpi.ericsson.se/dwaxe/
12 .* EDML2PDF converter: http://dwaxe.ericsson.se/x2pdf
13 .* EDML user guide: http://www.lmc.ericsson.se/~lmcmarg/isit/edml_ug.html
15 .* Document header information
16 :docname.Test Description
17 :docno.14/152 91-CRL 113 200/5 Uen
21 :prep.ETH/XZ Jeno Balasko
22 :appr.ETH/XZ (Elemer Lelik)
25 :title.Test description of the TTCN-3 Semantic Analyzer: Scope Rules
27 .*---------------------------------------------------------------------*
29 .*---------------------------------------------------------------------*
30 .*---------------------------------------------------------------------*
32 .*---------------------------------------------------------------------*
34 REV DATE PREPARED CHANGE
35 ________________________________________________________
36 PA1 2005-02-19 ETIBHRA New document for TITAN R6
37 A 2005-03-18 ETIBHRA Approved after review
38 B 2006-07-31 EJNOSZA Updates for TITAN R6E
39 C 2007-03-06 EJNOSZA Updates for TITAN R7A (expected error messages for identifier overloading)
40 D 2007-06-08 EJNOSZA Updates for TITAN R7B (expected error messages for identifier overloading)
41 E 2007-10-10 ETHNBA Updates for TITAN R7C (runs on self tests)
42 F 2009-06-11 EKRISZA Name correction
43 G 2010-07-02 EKRISZA version update
44 A 2011-12-12 EKRISZA Updated for release
45 A 2012-06-27 EFERKOV Updated for release
46 A 2013-01-17 EKRIPND Updated for release
48 .*---------------------------------------------------------------------*
50 .*---------------------------------------------------------------------*
51 The purpose of this Test Description is to define and describe the function
52 test activity for the Semantic Analyser functionality of the TTCN-3 compiler:
53 :nl.SA-1/3: Scope Rules.
54 :p.The specification of the test cases can be found in this document.
55 .*---------------------------------------------------------------------*
57 .*---------------------------------------------------------------------*
58 .*---------------------------------------------------------------------*
60 .*---------------------------------------------------------------------*
61 No specific hardware requirement.
62 .*---------------------------------------------------------------------*
64 .*---------------------------------------------------------------------*
65 Tests shall be carried out on the following platforms:
67 :li D='1.'.Solaris 8 (Sun OS 5.8) (gcc 3.0.4)
68 :li D='2.'.SUSE Linux Enterprise server 8 (2.4.19-4GB) (gcc 3.2)
69 :li D='3.'.CYGWIN_NT-5.0 (Cygwin DLL: 1.5.12) on Windows 2000 (gcc 3.3.3)
71 .*---------------------------------------------------------------------*
73 .*---------------------------------------------------------------------*
74 The test environment had been setup in CVS. The tester program is stored in:
75 :nl.TTCNv3/function_test/Tools/SAtester.pl
76 :nl.Test cases are stored with extension .script in the directory:
77 :nl.TTCNv3/function_test/Semantic_Analyser/
78 .*---------------------------------------------------------------------*
80 .*---------------------------------------------------------------------*
81 Install proper TITAN binaries on the used platforms and make sure that
82 your environment settings are correct:
84 :li D='1.'.TTCN3_DIR is set
85 :li D='2.'.$TTCN3_DIR/bin is added to the PATH variable
86 :li D='3.'.$TTCN3_DIR/lib is added to the LD_LIBRARY_PATH variable
87 :li D='4.'.Perl 5.6.0 or higher is available on the platform
88 :li D='5.'.Create a symlink to your Perl binary into the directory where the
89 test cases are stored:
90 :nl.ln -s <your Perl> perl
92 .*---------------------------------------------------------------------*
94 .*---------------------------------------------------------------------*
95 A tester program had been written in Perl especially for the Semantic Analyser
96 tests. For the list of command line parameters, type 'SAtester.pl -help', for the
97 complete documentation, type 'SAtester.pl -doc'.
98 :p.Test cases are specified in the Test Description documents in EDML format.
99 The tester program parses these files and generates the TTCN-3/ASN.1 modules, then
100 calls the compiler to compile them. The result printout is then matched against
101 different patterns to be able to set the verdict. Test cases contain not only
102 the source modules, but the patterns as well.
103 :p.The tester program allows one-by-one execution of test cases and batched
105 :p.NOTE: the tester program requires Perl 5.6.0 or higher.
108 .*---------------------------------------------------------------------*
110 .*---------------------------------------------------------------------*
111 .*---------------------------------------------------------------------*
113 .*---------------------------------------------------------------------*
114 :nl.This test case group covers the requirement SA-3/1.
116 :nl.- Definitions made in a scope unit are visible only in that scope hierarchy.
117 :nl.- Scope rule at the "for" statement: see there (ScopeUnits-> For statement).
121 Hierarchy of scope units
126 MDP: Module Definitons Part
127 MCP: Module Control Part
129 FUN: Function without runs on-clause
130 ALT: Altstep without runs on-clause
131 FWR: Function with runs on-clause
132 AWR: Altstep with runs on-clause
133 TC : Testcase with runs on-clause and optional system-clause
134 BS : Block of statements (within a compound statement)
135 EBS: Embedded block of statements (within a compound statement)
139 _____________________________________________
141 0. _____| MDP |_______
142 | |_____________________________________________| |
143 __|__ __|__ __|__ __|__
145 1. | MCP | ________| CT |________ | FUN | | ALT |
146 |_____| | |_____| | |_____| |_____|
147 | __|__ __|__ __|__ | |
149 2. | | FWR | | AWR | | TC | | |
150 | |_____| |_____| |_____| | |
151 __|__ __|__ __|__ __|__ __|__ __|__
152 | | | | | | | | | | | |
153 3. | BS | | BS | | BS | | BS | | BS | | BS |
154 |_____| |_____| |_____| |_____| |_____| |_____|
155 __|__ __|__ __|__ __|__ __|__ __|__
156 | | | | | | | | | | | |
157 4. | EBS | | EBS | | EBS | | EBS | | EBS | | EBS |
158 |_____| |_____| |_____| |_____| |_____| |_____|
164 Test cases are based on TTCN-3 according to the followings:
165 - Every bubble on the 1.-2. level is checked with each other.
166 - We checked the "const", the "var" and the "timer" definition.
167 - First we checked a bubble's BS and EBS branches (except CT), second
168 its parent bubbles and then the other bubbles from left to right
169 direction on the 1.-2. level.
170 In the FUN, ALT, FWR, AWR, TC cases we can use a parameter list.
171 There we check "var" and "timer" (except TC for timer) parameters
172 just in the same way as when we make a definition in the BS bubble.
174 - Example: FUN bubble
175 Every const and var definiton is an integer.
176 1. Definition of a const in the FUN's EBS is checked in the BS.
177 Definition of a var in the FUN's EBS is checked in the BS.
178 Definition of a timer in the FUN's EBS is checked in the BS.
179 2. Definition of a const in the FUN's BS is checked in the MDP.
180 3. Value parameter of FUN is checked in the MCP.
181 Timer parameter in FUN is checked in the MCP.
182 Value parameter in FUN is checked in the CT.
183 Value parameter in FUN is checked in the ALT.
184 Timer parameter in FUN is checked in the ALT.
185 Value parameter in FUN is checked in the FWR.
186 Timer parameter in FUN is checked in the FWR.
187 Value parameter in FUN is checked in the AWR.
188 Timer parameter in FUN is checked in the AWR.
189 Value parameter in FUN is checked in the TC.
190 Timer parameter in FUN is checked in the TC.
191 4. Definition of a const in the FUN's BS is checked in the MCP.
192 Definition of a var in the FUN's BS is checked in the MCP.
193 Definition of a timer in the FUN's BS is checked in the MCP.
194 5. Definition of a const in the FUN's BS is checked in the CT.
195 Definition of a var in the FUN's BS is checked in the CT.
196 6. Definition of a const in the FUN's BS is checked in the ALT.
197 Definition of a var in the FUN's BS is checked in the ALT.
198 Definition of a timer in the FUN's BS is checked in the ALT.
199 7. Definition of a const in the FUN's BS is checked in the FWR.
200 Definition of a var in the FUN's BS is checked in the FWR.
201 Definition of a timer in the FUN's BS is checked in the FWR.
202 8. Definition of a const in the FUN's BS is checked in the AWR.
203 Definition of a var in the FUN's BS is checked in the AWR.
204 Definition of a timer in the FUN's BS is checked in the AWR.
205 9. Definition of a const in the FUN's BS is checked in the TC.
206 Definition of a var in the FUN's BS is checked in the TC.
207 Definition of a timer in the FUN's BS is checked in the TC.
210 :nl. We can check the definitions of "const" and "var" for every type.
212 .*---------------------------------------------------------------------*
213 :h3.TTCN-3::ScopeUnits-> Control part: embedded case -- const definition
214 .*---------------------------------------------------------------------*
216 <TC - TTCN-3::ScopeUnits-> Control part: embedded case -- const definition>
220 <MODULE TTCN ModuleA ModuleA.ttcn>
223 var integer MyControlInt := 1;
225 const integer MyControlIntConstE := 18;
227 MyControlInt := MyControlIntConstE;
231 <RESULT IF_PASS COUNT 1>
232 (?im)\berror\b.+?no.+?definition.+?MyControlIntConstE
234 <RESULT IF_PASS COUNT 1>
237 <RESULT IF_PASS POSITIVE>
238 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
244 .*---------------------------------------------------------------------*
245 :h3.TTCN-3::ScopeUnits-> Control part: embedded case -- var definition
246 .*---------------------------------------------------------------------*
248 <TC - TTCN-3::ScopeUnits-> Control part: embedded case -- var definition>
252 <MODULE TTCN ModuleA ModuleA.ttcn>
255 var integer MyControlInt := 1;
257 var integer MyControlIntE := 18;
259 MyControlInt := MyControlIntE;
263 <RESULT IF_PASS COUNT 1>
264 (?im)\berror\b.+?no.+?definition.+?MyControlIntE
266 <RESULT IF_PASS COUNT 1>
269 <RESULT IF_PASS POSITIVE>
270 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
276 .*---------------------------------------------------------------------*
277 :h3.TTCN-3::ScopeUnits-> Control part: embedded case -- timer definition
278 .*---------------------------------------------------------------------*
280 <TC - TTCN-3::ScopeUnits-> Control part: embedded case -- timer definition>
284 <MODULE TTCN ModuleA ModuleA.ttcn>
288 timer MyControlTimerE := 3.0;
290 MyControlTimerE.start;
294 <RESULT IF_PASS COUNT 1>
295 (?im)\berror\b.+?no.+?definition.+?MyControlTimerE
297 <RESULT IF_PASS COUNT 1>
300 <RESULT IF_PASS POSITIVE>
301 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
307 .*---------------------------------------------------------------------*
308 :h3.TTCN-3::ScopeUnits-> Control part: const definition -> Definitions part
309 .*---------------------------------------------------------------------*
311 <TC - TTCN-3::ScopeUnits-> Control part: const definition -> Definitions part>
315 <MODULE TTCN ModuleA ModuleA.ttcn>
317 const integer MyModuleIntConst := MyControlIntConst;
319 const integer MyControlIntConst := 18;
323 <RESULT IF_PASS COUNT 1>
324 (?im)\berror\b.+?no.+?definition.+?MyControlIntConst
326 <RESULT IF_PASS COUNT 1>
329 <RESULT IF_PASS POSITIVE>
330 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
336 .*---------------------------------------------------------------------*
337 :h3.TTCN-3::ScopeUnits-> Control part: const definition -> Component type
338 .*---------------------------------------------------------------------*
340 <TC - TTCN-3::ScopeUnits-> Control part: const definition -> Component type>
344 <MODULE TTCN ModuleA ModuleA.ttcn>
346 type component MyCompType {
347 const integer MyComponentIntConst := MyControlIntConst;
350 const integer MyControlIntConst := 18;
354 <RESULT IF_PASS COUNT 1>
355 (?im)\berror\b.+?no.+?definition.+?MyControlIntConst
357 <RESULT IF_PASS COUNT 1>
360 <RESULT IF_PASS POSITIVE>
361 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
367 .*---------------------------------------------------------------------*
368 :h3.TTCN-3::ScopeUnits-> Control part: var definition -> Component type
369 .*---------------------------------------------------------------------*
371 :nl.The implementation does not support the variable initialized with
372 :nl.another variable in the component type (but it would be possible
373 :nl.according to TTCN-3 specification ).
377 <TC - TTCN-3::ScopeUnits-> Control part: var definition -> Component type>
381 <MODULE TTCN ModuleA ModuleA.ttcn>
383 type component MyCompType {
384 var integer MyComponentInt := MyControlInt;
387 var integer MyControlInt := 18;
391 <RESULT IF_PASS COUNT 1>
392 (?im)\berror\b.+?no.+?definition.+?MyControlInt
394 <RESULT IF_PASS COUNT 1>
397 <RESULT IF_PASS POSITIVE>
398 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
404 .*---------------------------------------------------------------------*
405 :h3.TTCN-3::ScopeUnits-> Control part: const definition -> Function
406 .*---------------------------------------------------------------------*
408 <TC - TTCN-3::ScopeUnits-> Control part: const definition -> Function>
412 <MODULE TTCN ModuleA ModuleA.ttcn>
414 function MyFunc() return integer {
415 return MyControlIntConst;
418 const integer MyControlIntConst := 1;
422 <RESULT IF_PASS COUNT 1>
423 (?im)\berror\b.+?no.+?definition.+?MyControlIntConst
425 <RESULT IF_PASS COUNT 1>
428 <RESULT IF_PASS POSITIVE>
429 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
435 .*---------------------------------------------------------------------*
436 :h3.TTCN-3::ScopeUnits-> Control part: var definition -> Function
437 .*---------------------------------------------------------------------*
439 <TC - TTCN-3::ScopeUnits-> Control part: var definition -> Function>
443 <MODULE TTCN ModuleA ModuleA.ttcn>
445 function MyFunc() return integer {
449 var integer MyControlInt := 1;
453 <RESULT IF_PASS COUNT 1>
454 (?im)\berror\b.+?no.+?definition.+?MyControlInt
456 <RESULT IF_PASS COUNT 1>
459 <RESULT IF_PASS POSITIVE>
460 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
466 .*---------------------------------------------------------------------*
467 :h3.TTCN-3::ScopeUnits-> Control part: timer definition -> Function
468 .*---------------------------------------------------------------------*
470 <TC - TTCN-3::ScopeUnits-> Control part: timer definition -> Function>
474 <MODULE TTCN ModuleA ModuleA.ttcn>
477 MyControlTimer.start;
480 timer MyControlTimer := 5.0;
484 <RESULT IF_PASS COUNT 1>
485 (?im)\berror\b.+?no.+?definition.+?MyControlTimer
487 <RESULT IF_PASS COUNT 1>
490 <RESULT IF_PASS POSITIVE>
491 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
497 .*---------------------------------------------------------------------*
498 :h3.TTCN-3::ScopeUnits-> Control part: const definition -> Altstep
499 .*---------------------------------------------------------------------*
501 <TC - TTCN-3::ScopeUnits-> Control part: const definition -> Altstep>
505 <MODULE TTCN ModuleA ModuleA.ttcn>
507 altstep MyAltstep () {
508 const integer MyAltstepIntConst := MyControlIntConst;
509 [] any port.check {};
513 const integer MyControlIntConst := 5;
517 <RESULT IF_PASS COUNT 1>
518 (?im)\berror\b.+?no.+?definition.+?MyControlIntConst
520 <RESULT IF_PASS COUNT 1>
523 <RESULT IF_PASS POSITIVE>
524 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
530 .*---------------------------------------------------------------------*
531 :h3.TTCN-3::ScopeUnits-> Control part: var definition -> Altstep
532 .*---------------------------------------------------------------------*
534 <TC - TTCN-3::ScopeUnits-> Control part: var definition -> Altstep>
538 <MODULE TTCN ModuleA ModuleA.ttcn>
540 altstep MyAltstep () {
541 var integer MyAltstepInt := MyControlInt;
542 [] any port.check {};
546 var integer MyControlInt := 5;
550 <RESULT IF_PASS COUNT 1>
551 (?im)\berror\b.+?no.+?definition.+?MyControlInt
553 <RESULT IF_PASS COUNT 1>
556 <RESULT IF_PASS POSITIVE>
557 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
563 .*---------------------------------------------------------------------*
564 :h3.TTCN-3::ScopeUnits-> Control part: timer definition -> Altstep
565 .*---------------------------------------------------------------------*
567 <TC - TTCN-3::ScopeUnits-> Control part: timer definition -> Altstep>
571 <MODULE TTCN ModuleA ModuleA.ttcn>
573 altstep MyAltstep () {
574 [] MyControlTimer.timeout {}
578 timer MyControlTimer := 5.0;
582 <RESULT IF_PASS COUNT 1>
583 (?im)\berror\b.+?no.+?definition.+?MyControlTimer
585 <RESULT IF_PASS COUNT 1>
588 <RESULT IF_PASS POSITIVE>
589 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
595 .*---------------------------------------------------------------------*
596 :h3.TTCN-3::ScopeUnits-> Control part: const definition -> Function_runs_on
597 .*---------------------------------------------------------------------*
599 <TC - TTCN-3::ScopeUnits-> Control part: const definition -> Function_runs_on>
603 <MODULE TTCN ModuleA ModuleA.ttcn>
605 type component MyCompType {}
606 function MyCompFunc() runs on MyCompType return integer {
607 return MyControlIntConst;
610 const integer MyControlIntConst := 1;
614 <RESULT IF_PASS COUNT 1>
615 (?im)\berror\b.+?no.+?definition.+?MyControlIntConst
617 <RESULT IF_PASS COUNT 1>
620 <RESULT IF_PASS POSITIVE>
621 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
627 .*---------------------------------------------------------------------*
628 :h3.TTCN-3::ScopeUnits-> Control part: var definition -> Function_runs_on
629 .*---------------------------------------------------------------------*
631 <TC - TTCN-3::ScopeUnits-> Control part: var definition -> Function_runs_on>
635 <MODULE TTCN ModuleA ModuleA.ttcn>
637 type component MyCompType {}
638 function MyCompFunc() runs on MyCompType return integer {
642 var integer MyControlInt := 11;
646 <RESULT IF_PASS COUNT 1>
647 (?im)\berror\b.+?no.+?definition.+?MyControlInt
649 <RESULT IF_PASS COUNT 1>
652 <RESULT IF_PASS POSITIVE>
653 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
659 .*---------------------------------------------------------------------*
660 :h3.TTCN-3::ScopeUnits-> Control part: timer definition -> Function_runs_on
661 .*---------------------------------------------------------------------*
663 <TC - TTCN-3::ScopeUnits-> Control part: timer definition -> Function_runs_on>
667 <MODULE TTCN ModuleA ModuleA.ttcn>
669 type component MyCompType {}
670 function MyCompFunc() runs on MyCompType {
671 MyControlTimer.start;
674 timer MyControlTimer := 5.0;
678 <RESULT IF_PASS COUNT 1>
679 (?im)\berror\b.+?no.+?definition.+?MyControlTimer
681 <RESULT IF_PASS COUNT 1>
684 <RESULT IF_PASS POSITIVE>
685 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
691 .*---------------------------------------------------------------------*
692 :h3.TTCN-3::ScopeUnits-> Control part: const definition -> Altstep_runs_on
693 .*---------------------------------------------------------------------*
695 <TC - TTCN-3::ScopeUnits-> Control part: const definition -> Altstep_runs_on>
699 <MODULE TTCN ModuleA ModuleA.ttcn>
701 type component MyCompType {}
702 altstep MyCompAltstep () runs on MyCompType {
703 const integer MyCompAltstepIntConst := MyControlIntConst;
704 [] any port.check {};
708 const integer MyControlIntConst := 5;
712 <RESULT IF_PASS COUNT 1>
713 (?im)\berror\b.+?no.+?definition.+?MyControlIntConst
715 <RESULT IF_PASS COUNT 1>
718 <RESULT IF_PASS POSITIVE>
719 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
725 .*---------------------------------------------------------------------*
726 :h3.TTCN-3::ScopeUnits-> Control part: var definition -> Altstep_runs_on
727 .*---------------------------------------------------------------------*
729 <TC - TTCN-3::ScopeUnits-> Control part: var definition -> Altstep_runs_on>
733 <MODULE TTCN ModuleA ModuleA.ttcn>
735 type component MyCompType {}
736 altstep MyCompAltstep () runs on MyCompType {
737 var integer MyCompAltstepInt := MyControlInt;
738 [] any port.check {};
742 var integer MyControlInt := 5;
746 <RESULT IF_PASS COUNT 1>
747 (?im)\berror\b.+?no.+?definition.+?MyControlInt
749 <RESULT IF_PASS COUNT 1>
752 <RESULT IF_PASS POSITIVE>
753 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
759 .*---------------------------------------------------------------------*
760 :h3.TTCN-3::ScopeUnits-> Control part: timer definition -> Altstep_runs_on
761 .*---------------------------------------------------------------------*
763 <TC - TTCN-3::ScopeUnits-> Control part: timer definition -> Altstep_runs_on>
767 <MODULE TTCN ModuleA ModuleA.ttcn>
769 type component MyCompType {}
770 altstep MyCompAltstep () runs on MyCompType {
771 [] MyControlTimer.timeout {}
775 timer MyControlTimer := 5.0;
779 <RESULT IF_PASS COUNT 1>
780 (?im)\berror\b.+?no.+?definition.+?MyControlTimer
782 <RESULT IF_PASS COUNT 1>
785 <RESULT IF_PASS POSITIVE>
786 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
792 .*---------------------------------------------------------------------*
793 :h3.TTCN-3::ScopeUnits-> Control part: const definition -> Testcase
794 .*---------------------------------------------------------------------*
796 <TC - TTCN-3::ScopeUnits-> Control part: const definition -> Testcase>
800 <MODULE TTCN ModuleA ModuleA.ttcn>
802 type component MyCompType {}
803 testcase MyTestcase() runs on MyCompType {
804 const integer MyTestcaseIntConst := MyControlIntConst;
807 const integer MyControlIntConst := 18;
811 <RESULT IF_PASS COUNT 1>
812 (?im)\berror\b.+?no.+?definition.+?MyControlIntConst
814 <RESULT IF_PASS COUNT 1>
817 <RESULT IF_PASS POSITIVE>
818 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
824 .*---------------------------------------------------------------------*
825 :h3.TTCN-3::ScopeUnits-> Control part: var definition -> Testcase
826 .*---------------------------------------------------------------------*
828 <TC - TTCN-3::ScopeUnits-> Control part: var definition -> Testcase>
832 <MODULE TTCN ModuleA ModuleA.ttcn>
834 type component MyCompType {}
835 testcase MyTestcase() runs on MyCompType {
836 var integer MyTestcaseInt := MyControlInt;
839 var integer MyControlInt := 18;
843 <RESULT IF_PASS COUNT 1>
844 (?im)\berror\b.+?no.+?definition.+?MyControlInt
846 <RESULT IF_PASS COUNT 1>
849 <RESULT IF_PASS POSITIVE>
850 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
856 .*---------------------------------------------------------------------*
857 :h3.TTCN-3::ScopeUnits-> Control part: timer definition -> Testcase
858 .*---------------------------------------------------------------------*
860 <TC - TTCN-3::ScopeUnits-> Control part: timer definition -> Testcase>
864 <MODULE TTCN ModuleA ModuleA.ttcn>
866 type component MyCompType {}
867 testcase MyTestcase() runs on MyCompType {
868 MyControlTimer.start;
871 timer MyControlTimer := 5.0;
875 <RESULT IF_PASS COUNT 1>
876 (?im)\berror\b.+?no.+?definition.+?MyControlTimer
878 <RESULT IF_PASS COUNT 1>
881 <RESULT IF_PASS POSITIVE>
882 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
888 .*---------------------------------------------------------------------*
889 :h3.TTCN-3::ScopeUnits-> Component type: const definition -> Definitions part
890 .*---------------------------------------------------------------------*
892 <TC - TTCN-3::ScopeUnits-> Component type: const definition -> Definitions part>
896 <MODULE TTCN ModuleA ModuleA.ttcn>
898 const integer MyModuleIntConst := MyComponentIntConst;
899 type component MyCompType {
900 const integer MyComponentIntConst := 11;
904 <RESULT IF_PASS COUNT 1>
905 (?im)\berror\b.+?no.+?definition.+?MyComponentIntConst
907 <RESULT IF_PASS COUNT 1>
910 <RESULT IF_PASS POSITIVE>
911 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
917 .*---------------------------------------------------------------------*
918 :h3.TTCN-3::ScopeUnits-> Component type: const definition -> Control part
919 .*---------------------------------------------------------------------*
921 <TC - TTCN-3::ScopeUnits-> Component type: const definition -> Control part>
925 <MODULE TTCN ModuleA ModuleA.ttcn>
927 type component MyCompType {
928 const integer MyComponentIntConst := 11;
931 const integer MyControlIntConst := MyComponentIntConst;
935 <RESULT IF_PASS COUNT 1>
936 (?im)\berror\b.+?no.+?definition.+?MyComponentIntConst
938 <RESULT IF_PASS COUNT 1>
941 <RESULT IF_PASS POSITIVE>
942 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
948 .*---------------------------------------------------------------------*
949 :h3.TTCN-3::ScopeUnits-> Component type: var definition -> Control part
950 .*---------------------------------------------------------------------*
952 <TC - TTCN-3::ScopeUnits-> Component type: var definition -> Control part>
956 <MODULE TTCN ModuleA ModuleA.ttcn>
958 type component MyCompType {
959 var integer MyComponentInt := 11;
962 var integer MyControlInt := MyComponentInt;
966 <RESULT IF_PASS COUNT 1>
967 (?im)\berror\b.+?no.+?definition.+?MyComponentInt
969 <RESULT IF_PASS COUNT 1>
972 <RESULT IF_PASS POSITIVE>
973 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
979 .*---------------------------------------------------------------------*
980 :h3.TTCN-3::ScopeUnits-> Component type: timer definition -> Control part
981 .*---------------------------------------------------------------------*
983 <TC - TTCN-3::ScopeUnits-> Component type: timer definition -> Control part>
987 <MODULE TTCN ModuleA ModuleA.ttcn>
989 type component MyCompType {
990 timer MyComponentTimer := 1.0;
993 MyComponentTimer.start;
997 <RESULT IF_PASS COUNT 1>
998 (?im)\berror\b.+?no.+?definition.+?MyComponentTimer
1000 <RESULT IF_PASS COUNT 1>
1003 <RESULT IF_PASS POSITIVE>
1004 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1010 .*---------------------------------------------------------------------*
1011 :h3.TTCN-3::ScopeUnits-> Component type: const definition -> Function
1012 .*---------------------------------------------------------------------*
1014 <TC - TTCN-3::ScopeUnits-> Component type: const definition -> Function>
1018 <MODULE TTCN ModuleA ModuleA.ttcn>
1020 type component MyCompType {
1021 const integer MyComponentIntConst := 11;
1023 function MyFunc() return integer {
1024 return MyComponentIntConst;
1028 <RESULT IF_PASS COUNT 1>
1029 (?im)\berror\b.+?no.+?definition.+?MyComponentIntConst
1031 <RESULT IF_PASS COUNT 1>
1034 <RESULT IF_PASS POSITIVE>
1035 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1041 .*---------------------------------------------------------------------*
1042 :h3.TTCN-3::ScopeUnits-> Component type: var definition -> Function
1043 .*---------------------------------------------------------------------*
1045 <TC - TTCN-3::ScopeUnits-> Component type: var definition -> Function>
1049 <MODULE TTCN ModuleA ModuleA.ttcn>
1051 type component MyCompType {
1052 var integer MyComponentInt := 11;
1054 function MyFunc() return integer {
1055 return MyComponentInt;
1059 <RESULT IF_PASS COUNT 1>
1060 (?im)\berror\b.+?no.+?definition.+?MyComponentInt
1062 <RESULT IF_PASS COUNT 1>
1065 <RESULT IF_PASS POSITIVE>
1066 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1072 .*---------------------------------------------------------------------*
1073 :h3.TTCN-3::ScopeUnits-> Component type: timer definition -> Function
1074 .*---------------------------------------------------------------------*
1076 <TC - TTCN-3::ScopeUnits-> Component type: timer definition -> Function>
1080 <MODULE TTCN ModuleA ModuleA.ttcn>
1082 type component MyCompType {
1083 timer MyComponentTimer := 11.0;
1086 MyComponentTimer.start;
1090 <RESULT IF_PASS COUNT 1>
1091 (?im)\berror\b.+?no.+?definition.+?MyComponentTimer
1093 <RESULT IF_PASS COUNT 1>
1096 <RESULT IF_PASS POSITIVE>
1097 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1103 .*---------------------------------------------------------------------*
1104 :h3.TTCN-3::ScopeUnits-> Component type: const definition -> Altstep
1105 .*---------------------------------------------------------------------*
1107 <TC - TTCN-3::ScopeUnits-> Component type: const definition -> Altstep>
1111 <MODULE TTCN ModuleA ModuleA.ttcn>
1113 type component MyCompType {
1114 const integer MyComponentIntConst := 11;
1116 altstep MyAltstep () {
1117 const integer MyAltstepIntConst := MyComponentIntConst;
1118 [] any port.check {};
1123 <RESULT IF_PASS COUNT 1>
1124 (?im)\berror\b.+?no.+?definition.+?MyComponentIntConst
1126 <RESULT IF_PASS COUNT 1>
1129 <RESULT IF_PASS POSITIVE>
1130 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1136 .*---------------------------------------------------------------------*
1137 :h3.TTCN-3::ScopeUnits-> Component type: var definition -> Altstep
1138 .*---------------------------------------------------------------------*
1140 <TC - TTCN-3::ScopeUnits-> Component type: var definition -> Altstep>
1144 <MODULE TTCN ModuleA ModuleA.ttcn>
1146 type component MyCompType {
1147 var integer MyComponentInt := 11;
1149 altstep MyAltstep () {
1150 var integer MyAltstepInt := MyComponentInt;
1151 [] any port.check {};
1156 <RESULT IF_PASS COUNT 1>
1157 (?im)\berror\b.+?no.+?definition.+?MyComponentInt
1159 <RESULT IF_PASS COUNT 1>
1162 <RESULT IF_PASS POSITIVE>
1163 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1169 .*---------------------------------------------------------------------*
1170 :h3.TTCN-3::ScopeUnits-> Component type: timer definition -> Altstep
1171 .*---------------------------------------------------------------------*
1173 <TC - TTCN-3::ScopeUnits-> Component type: timer definition -> Altstep>
1177 <MODULE TTCN ModuleA ModuleA.ttcn>
1179 type component MyCompType {
1180 timer MyComponentTimer := 11.0;
1182 altstep MyAltstep () {
1183 [] MyComponentTimer.timeout {}
1188 <RESULT IF_PASS COUNT 1>
1189 (?im)\berror\b.+?no.+?definition.+?MyComponentTimer
1191 <RESULT IF_PASS COUNT 1>
1194 <RESULT IF_PASS POSITIVE>
1195 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1201 .*---------------------------------------------------------------------*
1202 :h3.TTCN-3::ScopeUnits-> Function: embedded case -- const definition
1203 .*---------------------------------------------------------------------*
1205 <TC - TTCN-3::ScopeUnits-> Function: embedded case -- const definition>
1209 <MODULE TTCN ModuleA ModuleA.ttcn>
1211 function MyFunc() return integer {
1213 const integer MyFuncIntConstE := 18;
1215 return MyFuncIntConstE;
1219 <RESULT IF_PASS COUNT 1>
1220 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConstE
1222 <RESULT IF_PASS COUNT 1>
1225 <RESULT IF_PASS POSITIVE>
1226 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1232 .*---------------------------------------------------------------------*
1233 :h3.TTCN-3::ScopeUnits-> Function: embedded case -- var definition
1234 .*---------------------------------------------------------------------*
1236 <TC - TTCN-3::ScopeUnits-> Function: embedded case -- var definition>
1240 <MODULE TTCN ModuleA ModuleA.ttcn>
1242 function MyFunc() return integer {
1244 var integer MyFuncIntE := 18;
1250 <RESULT IF_PASS COUNT 1>
1251 (?im)\berror\b.+?no.+?definition.+?MyFuncIntE
1253 <RESULT IF_PASS COUNT 1>
1256 <RESULT IF_PASS POSITIVE>
1257 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1263 .*---------------------------------------------------------------------*
1264 :h3.TTCN-3::ScopeUnits-> Function: embedded case -- timer definition
1265 .*---------------------------------------------------------------------*
1267 <TC - TTCN-3::ScopeUnits-> Function: embedded case -- timer definition>
1271 <MODULE TTCN ModuleA ModuleA.ttcn>
1275 timer MyFuncTimerE := 18.0;
1281 <RESULT IF_PASS COUNT 1>
1282 (?im)\berror\b.+?no.+?definition.+?MyFuncTimerE
1284 <RESULT IF_PASS COUNT 1>
1287 <RESULT IF_PASS POSITIVE>
1288 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1294 .*---------------------------------------------------------------------*
1295 :h3.TTCN-3::ScopeUnits-> Function: const definition -> Definitions part
1296 .*---------------------------------------------------------------------*
1298 <TC - TTCN-3::ScopeUnits-> Function: const definition -> Definitions part>
1302 <MODULE TTCN ModuleA ModuleA.ttcn>
1304 const integer MyModuleIntConst := MyFuncIntConst;
1306 const integer MyFuncIntConst := 18;
1310 <RESULT IF_PASS COUNT 1>
1311 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConst
1313 <RESULT IF_PASS COUNT 1>
1316 <RESULT IF_PASS POSITIVE>
1317 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1323 .*---------------------------------------------------------------------*
1324 :h3.TTCN-3::ScopeUnits-> Function (value parameter) -> Control part
1325 .*---------------------------------------------------------------------*
1327 <TC - TTCN-3::ScopeUnits-> Function (value parameter) -> Control part>
1331 <MODULE TTCN ModuleA ModuleA.ttcn>
1333 function MyFunc( integer MyFuncInt ) {}
1335 var integer MyControlInt := MyFuncInt;
1339 <RESULT IF_PASS COUNT 1>
1340 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1342 <RESULT IF_PASS COUNT 1>
1345 <RESULT IF_PASS POSITIVE>
1346 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1352 .*---------------------------------------------------------------------*
1353 :h3.TTCN-3::ScopeUnits-> Function (timer parameter) -> Control part
1354 .*---------------------------------------------------------------------*
1356 <TC - TTCN-3::ScopeUnits-> Function (timer parameter) -> Control part>
1360 <MODULE TTCN ModuleA ModuleA.ttcn>
1362 function MyFunc( timer MyFuncTimer ) {}
1368 <RESULT IF_PASS COUNT 1>
1369 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
1371 <RESULT IF_PASS COUNT 1>
1374 <RESULT IF_PASS POSITIVE>
1375 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1381 .*---------------------------------------------------------------------*
1382 :h3.TTCN-3::ScopeUnits-> Function (value parameter) -> Component type
1383 .*---------------------------------------------------------------------*
1385 :nl.The implementation does not support the variable initialized with
1386 :nl.another variable in the component type (but it would be possible
1387 :nl.according to TTCN-3 specification ).
1391 <TC - TTCN-3::ScopeUnits-> Function: (value parameter) -> Component type>
1395 <MODULE TTCN ModuleA ModuleA.ttcn>
1397 type component MyCompType {
1398 var integer MyComponentInt := MyFuncInt;
1400 function MyFunc( integer MyFuncInt ) {}
1403 <RESULT IF_PASS COUNT 1>
1404 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1406 <RESULT IF_PASS COUNT 1>
1409 <RESULT IF_PASS POSITIVE>
1410 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1416 .*---------------------------------------------------------------------*
1417 :h3.TTCN-3::ScopeUnits-> Function (value parameter) -> Altstep
1418 .*---------------------------------------------------------------------*
1420 <TC - TTCN-3::ScopeUnits-> Function (value parameter) -> Altstep>
1424 <MODULE TTCN ModuleA ModuleA.ttcn>
1426 function MyFunc( integer MyFuncInt ) {}
1427 altstep MyAltstep () {
1428 var integer MyAltstepInt := MyFuncInt;
1429 [] any port.check {};
1434 <RESULT IF_PASS COUNT 1>
1435 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1437 <RESULT IF_PASS COUNT 1>
1440 <RESULT IF_PASS POSITIVE>
1441 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1447 .*---------------------------------------------------------------------*
1448 :h3.TTCN-3::ScopeUnits-> Function (timer parameter) -> Altstep
1449 .*---------------------------------------------------------------------*
1451 <TC - TTCN-3::ScopeUnits-> Function (timer parameter) -> Altstep>
1455 <MODULE TTCN ModuleA ModuleA.ttcn>
1457 function MyFunc( timer MyFuncTimer ) {}
1458 altstep MyAltstep () {
1459 [] MyFuncTimer.timeout {}
1464 <RESULT IF_PASS COUNT 1>
1465 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
1467 <RESULT IF_PASS COUNT 1>
1470 <RESULT IF_PASS POSITIVE>
1471 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1477 .*---------------------------------------------------------------------*
1478 :h3.TTCN-3::ScopeUnits-> Function (value parameter) -> Function_runs_on
1479 .*---------------------------------------------------------------------*
1481 <TC - TTCN-3::ScopeUnits-> Function (value parameter) -> Function_runs_on>
1485 <MODULE TTCN ModuleA ModuleA.ttcn>
1487 type component MyCompType {}
1488 function MyCompFunc() runs on MyCompType return integer {
1491 function MyFunc( integer MyFuncInt ) {}
1494 <RESULT IF_PASS COUNT 1>
1495 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1497 <RESULT IF_PASS COUNT 1>
1500 <RESULT IF_PASS POSITIVE>
1501 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1507 .*---------------------------------------------------------------------*
1508 :h3.TTCN-3::ScopeUnits-> Function (timer parameter) -> Function_runs_on
1509 .*---------------------------------------------------------------------*
1511 <TC - TTCN-3::ScopeUnits-> Function (timer parameter) -> Function_runs_on>
1515 <MODULE TTCN ModuleA ModuleA.ttcn>
1517 type component MyCompType {}
1518 function MyCompFunc() runs on MyCompType {
1521 function MyFunc( timer MyFuncTimer ) {}
1524 <RESULT IF_PASS COUNT 1>
1525 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
1527 <RESULT IF_PASS COUNT 1>
1530 <RESULT IF_PASS POSITIVE>
1531 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1537 .*---------------------------------------------------------------------*
1538 :h3.TTCN-3::ScopeUnits-> Function (value parameter) -> Altstep_runs_on
1539 .*---------------------------------------------------------------------*
1541 <TC - TTCN-3::ScopeUnits-> Function (value parameter) -> Altstep_runs_on>
1545 <MODULE TTCN ModuleA ModuleA.ttcn>
1547 type component MyCompType {}
1548 altstep MyCompAltstep () runs on MyCompType {
1549 var integer MyCompAltstepInt := MyFuncInt;
1550 [] any port.check {};
1553 function MyFunc( integer MyFuncInt ) {}
1556 <RESULT IF_PASS COUNT 1>
1557 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1559 <RESULT IF_PASS COUNT 1>
1562 <RESULT IF_PASS POSITIVE>
1563 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1569 .*---------------------------------------------------------------------*
1570 :h3.TTCN-3::ScopeUnits-> Function (timer parameter) -> Altstep_runs_on
1571 .*---------------------------------------------------------------------*
1573 <TC - TTCN-3::ScopeUnits-> Function (timer parameter) -> Altstep_runs_on>
1577 <MODULE TTCN ModuleA ModuleA.ttcn>
1579 type component MyCompType {}
1580 altstep MyCompAltstep () runs on MyCompType {
1581 [] MyFuncTimer.timeout {}
1584 function MyFunc( timer MyFuncTimer ) {}
1587 <RESULT IF_PASS COUNT 1>
1588 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
1590 <RESULT IF_PASS COUNT 1>
1593 <RESULT IF_PASS POSITIVE>
1594 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1600 .*---------------------------------------------------------------------*
1601 :h3.TTCN-3::ScopeUnits-> Function (value parameter) -> Testcase
1602 .*---------------------------------------------------------------------*
1604 <TC - TTCN-3::ScopeUnits-> Function (value parameter) -> Testcase>
1608 <MODULE TTCN ModuleA ModuleA.ttcn>
1610 type component MyCompType {}
1611 testcase MyTestcase() runs on MyCompType {
1612 var integer MyTestcaseInt := MyFuncInt;
1614 function MyFunc( integer MyFuncInt ) {}
1617 <RESULT IF_PASS COUNT 1>
1618 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1620 <RESULT IF_PASS COUNT 1>
1623 <RESULT IF_PASS POSITIVE>
1624 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1630 .*---------------------------------------------------------------------*
1631 :h3.TTCN-3::ScopeUnits-> Function (timer parameter) -> Testcase
1632 .*---------------------------------------------------------------------*
1634 <TC - TTCN-3::ScopeUnits-> Function (timer parameter) -> Testcase>
1638 <MODULE TTCN ModuleA ModuleA.ttcn>
1640 type component MyCompType {}
1641 testcase MyTestcase() runs on MyCompType {
1644 function MyFunc( timer MyFuncTimer ) {}
1647 <RESULT IF_PASS COUNT 1>
1648 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
1650 <RESULT IF_PASS COUNT 1>
1653 <RESULT IF_PASS POSITIVE>
1654 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1660 .*---------------------------------------------------------------------*
1661 :h3.TTCN-3::ScopeUnits-> Function: const definition -> Control part
1662 .*---------------------------------------------------------------------*
1664 <TC - TTCN-3::ScopeUnits-> Function: const definition -> Control part>
1668 <MODULE TTCN ModuleA ModuleA.ttcn>
1671 const integer MyFuncIntConst := 18;
1674 const integer MyControlIntConst := MyFuncIntConst;
1678 <RESULT IF_PASS COUNT 1>
1679 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConst
1681 <RESULT IF_PASS COUNT 1>
1684 <RESULT IF_PASS POSITIVE>
1685 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1691 .*---------------------------------------------------------------------*
1692 :h3.TTCN-3::ScopeUnits-> Function: var definition -> Control part
1693 .*---------------------------------------------------------------------*
1695 <TC - TTCN-3::ScopeUnits-> Function: var definition -> Control part>
1699 <MODULE TTCN ModuleA ModuleA.ttcn>
1702 var integer MyFuncInt := 18;
1705 var integer MyControlInt := MyFuncInt;
1709 <RESULT IF_PASS COUNT 1>
1710 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1712 <RESULT IF_PASS COUNT 1>
1715 <RESULT IF_PASS POSITIVE>
1716 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1722 .*---------------------------------------------------------------------*
1723 :h3.TTCN-3::ScopeUnits-> Function: timer definition -> Control part
1724 .*---------------------------------------------------------------------*
1726 <TC - TTCN-3::ScopeUnits-> Function: timer definition -> Control part>
1730 <MODULE TTCN ModuleA ModuleA.ttcn>
1733 timer MyFuncTimer := 18.6;
1740 <RESULT IF_PASS COUNT 1>
1741 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
1743 <RESULT IF_PASS COUNT 1>
1746 <RESULT IF_PASS POSITIVE>
1747 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1753 .*---------------------------------------------------------------------*
1754 :h3.TTCN-3::ScopeUnits-> Function: const definition -> Component type
1755 .*---------------------------------------------------------------------*
1757 <TC - TTCN-3::ScopeUnits-> Function: const definition -> Component type>
1761 <MODULE TTCN ModuleA ModuleA.ttcn>
1763 type component MyCompType {
1764 const integer MyComponentIntConst := MyFuncIntConst;
1767 const integer MyFuncIntConst := 18;
1771 <RESULT IF_PASS COUNT 1>
1772 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConst
1774 <RESULT IF_PASS COUNT 1>
1777 <RESULT IF_PASS POSITIVE>
1778 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1784 .*---------------------------------------------------------------------*
1785 :h3.TTCN-3::ScopeUnits-> Function: var definition -> Component type
1786 .*---------------------------------------------------------------------*
1788 :nl.The implementation does not support the variable initialized with
1789 :nl.another variable in the component type (but it would be possible
1790 :nl.according to TTCN-3 specification ).
1794 <TC - TTCN-3::ScopeUnits-> Function: var definition -> Component type>
1798 <MODULE TTCN ModuleA ModuleA.ttcn>
1800 type component MyCompType {
1801 var integer MyComponentInt := MyFuncInt;
1804 var integer MyFuncInt := 18;
1808 <RESULT IF_PASS COUNT 1>
1809 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1811 <RESULT IF_PASS COUNT 1>
1814 <RESULT IF_PASS POSITIVE>
1815 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1821 .*---------------------------------------------------------------------*
1822 :h3.TTCN-3::ScopeUnits-> Function: const definition -> Altstep
1823 .*---------------------------------------------------------------------*
1825 <TC - TTCN-3::ScopeUnits-> Function: const definition -> Altstep>
1829 <MODULE TTCN ModuleA ModuleA.ttcn>
1832 const integer MyFuncIntConst := 18;
1834 altstep MyAltstep () {
1835 const integer MyAltstepIntConst := MyFuncIntConst;
1836 [] any port.check {};
1841 <RESULT IF_PASS COUNT 1>
1842 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConst
1844 <RESULT IF_PASS COUNT 1>
1847 <RESULT IF_PASS POSITIVE>
1848 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1854 .*---------------------------------------------------------------------*
1855 :h3.TTCN-3::ScopeUnits-> Function: var definition -> Altstep
1856 .*---------------------------------------------------------------------*
1858 <TC - TTCN-3::ScopeUnits-> Function: var definition -> Altstep>
1862 <MODULE TTCN ModuleA ModuleA.ttcn>
1865 var integer MyFuncInt := 12;
1867 altstep MyAltstep () {
1868 var integer MyAltstepInt := MyFuncInt;
1869 [] any port.check {};
1874 <RESULT IF_PASS COUNT 1>
1875 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1877 <RESULT IF_PASS COUNT 1>
1880 <RESULT IF_PASS POSITIVE>
1881 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1887 .*---------------------------------------------------------------------*
1888 :h3.TTCN-3::ScopeUnits-> Function: timer definition -> Altstep
1889 .*---------------------------------------------------------------------*
1891 <TC - TTCN-3::ScopeUnits-> Function: timer definition -> Altstep>
1895 <MODULE TTCN ModuleA ModuleA.ttcn>
1898 timer MyFuncTimer := 12.8;
1900 altstep MyAltstep () {
1901 [] MyFuncTimer.timeout {}
1906 <RESULT IF_PASS COUNT 1>
1907 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
1909 <RESULT IF_PASS COUNT 1>
1912 <RESULT IF_PASS POSITIVE>
1913 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1919 .*---------------------------------------------------------------------*
1920 :h3.TTCN-3::ScopeUnits-> Function: const definition -> Function_runs_on
1921 .*---------------------------------------------------------------------*
1923 <TC - TTCN-3::ScopeUnits-> Function: const definition -> Function_runs_on>
1927 <MODULE TTCN ModuleA ModuleA.ttcn>
1929 type component MyCompType {}
1930 function MyCompFunc() runs on MyCompType return integer {
1931 return MyFuncIntConst;
1934 const integer MyFuncIntConst := 1;
1938 <RESULT IF_PASS COUNT 1>
1939 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConst
1941 <RESULT IF_PASS COUNT 1>
1944 <RESULT IF_PASS POSITIVE>
1945 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1951 .*---------------------------------------------------------------------*
1952 :h3.TTCN-3::ScopeUnits-> Function: var definition -> Function_runs_on
1953 .*---------------------------------------------------------------------*
1955 <TC - TTCN-3::ScopeUnits-> Function: var definition -> Function_runs_on>
1959 <MODULE TTCN ModuleA ModuleA.ttcn>
1961 type component MyCompType {}
1962 function MyCompFunc() runs on MyCompType return integer {
1966 var integer MyFuncInt := 1;
1970 <RESULT IF_PASS COUNT 1>
1971 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
1973 <RESULT IF_PASS COUNT 1>
1976 <RESULT IF_PASS POSITIVE>
1977 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1983 .*---------------------------------------------------------------------*
1984 :h3.TTCN-3::ScopeUnits-> Function: timer definition -> Function_runs_on
1985 .*---------------------------------------------------------------------*
1987 <TC - TTCN-3::ScopeUnits-> Function: timer definition -> Function_runs_on>
1991 <MODULE TTCN ModuleA ModuleA.ttcn>
1993 type component MyCompType {}
1994 function MyCompFunc() runs on MyCompType {
1998 timer MyFuncTimer := 1.9;
2002 <RESULT IF_PASS COUNT 1>
2003 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
2005 <RESULT IF_PASS COUNT 1>
2008 <RESULT IF_PASS POSITIVE>
2009 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2015 .*---------------------------------------------------------------------*
2016 :h3.TTCN-3::ScopeUnits-> Function: const definition -> Altstep_runs_on
2017 .*---------------------------------------------------------------------*
2019 <TC - TTCN-3::ScopeUnits-> Function: const definition -> Altstep_runs_on>
2023 <MODULE TTCN ModuleA ModuleA.ttcn>
2025 type component MyCompType {}
2026 altstep MyCompAltstep () runs on MyCompType {
2027 const integer MyCompAltstepIntConst := MyFuncIntConst;
2028 [] any port.check {};
2032 const integer MyFuncIntConst := 1;
2036 <RESULT IF_PASS COUNT 1>
2037 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConst
2039 <RESULT IF_PASS COUNT 1>
2042 <RESULT IF_PASS POSITIVE>
2043 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2049 .*---------------------------------------------------------------------*
2050 :h3.TTCN-3::ScopeUnits-> Function: var definition -> Altstep_runs_on
2051 .*---------------------------------------------------------------------*
2053 <TC - TTCN-3::ScopeUnits-> Function: var definition -> Altstep_runs_on>
2057 <MODULE TTCN ModuleA ModuleA.ttcn>
2059 type component MyCompType {}
2060 altstep MyCompAltstep () runs on MyCompType {
2061 var integer MyCompAltstepInt := MyFuncInt;
2062 [] any port.check {};
2066 var integer MyFuncInt := 1;
2070 <RESULT IF_PASS COUNT 1>
2071 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
2073 <RESULT IF_PASS COUNT 1>
2076 <RESULT IF_PASS POSITIVE>
2077 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2083 .*---------------------------------------------------------------------*
2084 :h3.TTCN-3::ScopeUnits-> Function: timer definition -> Altstep_runs_on
2085 .*---------------------------------------------------------------------*
2087 <TC - TTCN-3::ScopeUnits-> Function: timer definition -> Altstep_runs_on>
2091 <MODULE TTCN ModuleA ModuleA.ttcn>
2093 type component MyCompType {}
2094 altstep MyCompAltstep () runs on MyCompType {
2095 [] MyFuncTimer.timeout {}
2099 timer MyFuncTimer := 1.3;
2103 <RESULT IF_PASS COUNT 1>
2104 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
2106 <RESULT IF_PASS COUNT 1>
2109 <RESULT IF_PASS POSITIVE>
2110 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2116 .*---------------------------------------------------------------------*
2117 :h3.TTCN-3::ScopeUnits-> Function: const definition -> Testcase
2118 .*---------------------------------------------------------------------*
2120 <TC - TTCN-3::ScopeUnits-> Function: const definition -> Testcase>
2124 <MODULE TTCN ModuleA ModuleA.ttcn>
2126 type component MyCompType {}
2127 testcase MyTestcase() runs on MyCompType {
2128 const integer MyTestcaseIntConst := MyFuncIntConst;
2131 const integer MyFuncIntConst := 1;
2135 <RESULT IF_PASS COUNT 1>
2136 (?im)\berror\b.+?no.+?definition.+?MyFuncIntConst
2138 <RESULT IF_PASS COUNT 1>
2141 <RESULT IF_PASS POSITIVE>
2142 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2148 .*---------------------------------------------------------------------*
2149 :h3.TTCN-3::ScopeUnits-> Function: var definition -> Testcase
2150 .*---------------------------------------------------------------------*
2152 <TC - TTCN-3::ScopeUnits-> Function: var definition -> Testcase>
2156 <MODULE TTCN ModuleA ModuleA.ttcn>
2158 type component MyCompType {}
2159 testcase MyTestcase() runs on MyCompType {
2160 var integer MyTestcaseInt := MyFuncInt;
2163 var integer MyFuncInt := 1;
2167 <RESULT IF_PASS COUNT 1>
2168 (?im)\berror\b.+?no.+?definition.+?MyFuncInt
2170 <RESULT IF_PASS COUNT 1>
2173 <RESULT IF_PASS POSITIVE>
2174 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2180 .*---------------------------------------------------------------------*
2181 :h3.TTCN-3::ScopeUnits-> Function: timer definition -> Testcase
2182 .*---------------------------------------------------------------------*
2184 <TC - TTCN-3::ScopeUnits-> Function: timer definition -> Testcase>
2188 <MODULE TTCN ModuleA ModuleA.ttcn>
2190 type component MyCompType {}
2191 testcase MyTestcase() runs on MyCompType {
2195 timer MyFuncTimer := 3.8;
2199 <RESULT IF_PASS COUNT 1>
2200 (?im)\berror\b.+?no.+?definition.+?MyFuncTimer
2202 <RESULT IF_PASS COUNT 1>
2205 <RESULT IF_PASS POSITIVE>
2206 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2212 .*---------------------------------------------------------------------*
2213 :h3.TTCN-3::ScopeUnits-> Altstep: embedded case -- const definition
2214 .*---------------------------------------------------------------------*
2216 <TC - TTCN-3::ScopeUnits-> Altstep: embedded case -- const definition>
2220 <MODULE TTCN ModuleA ModuleA.ttcn>
2222 altstep MyAltstep ( timer MyAltstepTimerIn ) {
2224 const integer MyAltstepIntConstE := 10;
2226 [ MyAltstepIntConstE > 1 ] MyAltstepTimerIn.timeout {};
2231 <RESULT IF_PASS COUNT 1>
2232 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConstE
2234 <RESULT IF_PASS COUNT 1>
2237 <RESULT IF_PASS POSITIVE>
2238 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2244 .*---------------------------------------------------------------------*
2245 :h3.TTCN-3::ScopeUnits-> Altstep: embedded case -- var definition
2246 .*---------------------------------------------------------------------*
2248 <TC - TTCN-3::ScopeUnits-> Altstep: embedded case -- var definition>
2252 <MODULE TTCN ModuleA ModuleA.ttcn>
2254 altstep MyAltstep ( timer MyAltstepTimerIn ) {
2256 var integer MyAltstepIntE := 10;
2258 [ MyAltstepIntE > 1 ] MyAltstepTimerIn.timeout {};
2263 <RESULT IF_PASS COUNT 1>
2264 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntE
2266 <RESULT IF_PASS COUNT 1>
2269 <RESULT IF_PASS POSITIVE>
2270 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2276 .*---------------------------------------------------------------------*
2277 :h3.TTCN-3::ScopeUnits-> Altstep: embedded case -- timer definition
2278 .*---------------------------------------------------------------------*
2280 <TC - TTCN-3::ScopeUnits-> Altstep: embedded case -- timer definition>
2284 <MODULE TTCN ModuleA ModuleA.ttcn>
2286 altstep MyAltstep () {
2288 timer MyAltstepTimerE := 10.3;
2290 [] MyAltstepTimerE.timeout {};
2295 <RESULT IF_PASS COUNT 1>
2296 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimerE
2298 <RESULT IF_PASS COUNT 1>
2301 <RESULT IF_PASS POSITIVE>
2302 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2308 .*---------------------------------------------------------------------*
2309 :h3.TTCN-3::ScopeUnits-> Altstep: const definition -> Definitions part
2310 .*---------------------------------------------------------------------*
2312 <TC - TTCN-3::ScopeUnits-> Altstep: const definition -> Definitions part>
2316 <MODULE TTCN ModuleA ModuleA.ttcn>
2318 const integer MyModuleIntConst := MyAltstepIntConst;
2319 altstep MyAltstep () {
2320 const integer MyAltstepIntConst := 17;
2321 [] any port.check {};
2326 <RESULT IF_PASS COUNT 1>
2327 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConst
2329 <RESULT IF_PASS COUNT 1>
2332 <RESULT IF_PASS POSITIVE>
2333 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2339 .*---------------------------------------------------------------------*
2340 :h3.TTCN-3::ScopeUnits-> Altstep (value parameter) -> Control part
2341 .*---------------------------------------------------------------------*
2343 <TC - TTCN-3::ScopeUnits-> Altstep (value parameter) -> Control part>
2347 <MODULE TTCN ModuleA ModuleA.ttcn>
2349 altstep MyAltstep ( integer MyAltstepInt ) {
2350 [] any port.check {};
2354 var integer MyControlInt := MyAltstepInt;
2358 <RESULT IF_PASS COUNT 1>
2359 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2361 <RESULT IF_PASS COUNT 1>
2364 <RESULT IF_PASS POSITIVE>
2365 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2371 .*---------------------------------------------------------------------*
2372 :h3.TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Control part
2373 .*---------------------------------------------------------------------*
2375 <TC - TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Control part>
2379 <MODULE TTCN ModuleA ModuleA.ttcn>
2381 altstep MyAltstep ( timer MyAltstepTimer ) {
2382 [] any port.check {};
2386 MyAltstepTimer.start;
2390 <RESULT IF_PASS COUNT 1>
2391 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
2393 <RESULT IF_PASS COUNT 1>
2396 <RESULT IF_PASS POSITIVE>
2397 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2403 .*---------------------------------------------------------------------*
2404 :h3.TTCN-3::ScopeUnits-> Altstep (value parameter) -> Component type
2405 .*---------------------------------------------------------------------*
2407 :nl.The implementation does not support the variable initialized with
2408 :nl.another variable in the component type (but it would be possible
2409 :nl.according to TTCN-3 specification ).
2413 <TC - TTCN-3::ScopeUnits-> Altstep (value parameter) -> Component type>
2417 <MODULE TTCN ModuleA ModuleA.ttcn>
2419 type component MyCompType {
2420 var integer MyComponentInt := MyAltstepInt;
2422 altstep MyAltstep ( integer MyAltstepInt ) {
2423 [] any port.check {};
2428 <RESULT IF_PASS COUNT 1>
2429 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2431 <RESULT IF_PASS COUNT 1>
2434 <RESULT IF_PASS POSITIVE>
2435 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2441 .*---------------------------------------------------------------------*
2442 :h3.TTCN-3::ScopeUnits-> Altstep (value parameter) -> Function
2443 .*---------------------------------------------------------------------*
2445 <TC - TTCN-3::ScopeUnits-> Altstep (value parameter) -> Function>
2449 <MODULE TTCN ModuleA ModuleA.ttcn>
2451 function MyFunc() return integer {
2452 return MyAltstepInt;
2454 altstep MyAltstep ( integer MyAltstepInt ) {
2455 [] any port.check {};
2460 <RESULT IF_PASS COUNT 1>
2461 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2463 <RESULT IF_PASS COUNT 1>
2466 <RESULT IF_PASS POSITIVE>
2467 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2473 .*---------------------------------------------------------------------*
2474 :h3.TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Function
2475 .*---------------------------------------------------------------------*
2477 <TC - TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Function>
2481 <MODULE TTCN ModuleA ModuleA.ttcn>
2484 MyAltstepTimer.start;
2486 altstep MyAltstep ( timer MyAltstepTimer ) {
2487 [] any port.check {};
2492 <RESULT IF_PASS COUNT 1>
2493 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
2495 <RESULT IF_PASS COUNT 1>
2498 <RESULT IF_PASS POSITIVE>
2499 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2505 .*---------------------------------------------------------------------*
2506 :h3.TTCN-3::ScopeUnits-> Altstep (value parameter) -> Function_runs_on
2507 .*---------------------------------------------------------------------*
2509 <TC - TTCN-3::ScopeUnits-> Altstep (value parameter) -> Function_runs_on>
2513 <MODULE TTCN ModuleA ModuleA.ttcn>
2515 type component MyCompType {}
2516 function MyCompFunc() runs on MyCompType return integer {
2517 return MyAltstepInt;
2519 altstep MyAltstep ( integer MyAltstepInt ) {
2520 [] any port.check {};
2525 <RESULT IF_PASS COUNT 1>
2526 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2528 <RESULT IF_PASS COUNT 1>
2531 <RESULT IF_PASS POSITIVE>
2532 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2538 .*---------------------------------------------------------------------*
2539 :h3.TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Function_runs_on
2540 .*---------------------------------------------------------------------*
2542 <TC - TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Function_runs_on>
2546 <MODULE TTCN ModuleA ModuleA.ttcn>
2548 type component MyCompType {}
2549 function MyCompFunc() runs on MyCompType {
2550 MyAltstepTimer.start;
2552 altstep MyAltstep ( timer MyAltstepTimer ) {
2553 [] any port.check {};
2558 <RESULT IF_PASS COUNT 1>
2559 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
2561 <RESULT IF_PASS COUNT 1>
2564 <RESULT IF_PASS POSITIVE>
2565 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2571 .*---------------------------------------------------------------------*
2572 :h3.TTCN-3::ScopeUnits-> Altstep (value parameter) -> Altstep_runs_on
2573 .*---------------------------------------------------------------------*
2575 <TC - TTCN-3::ScopeUnits-> Altstep (value parameter) -> Altstep_runs_on>
2579 <MODULE TTCN ModuleA ModuleA.ttcn>
2581 type component MyCompType {}
2582 altstep MyCompAltstep () runs on MyCompType {
2583 var integer MyCompAltstepInt := MyAltstepInt;
2584 [] any port.check {};
2587 altstep MyAltstep ( integer MyAltstepInt ) {
2588 [] any port.check {};
2593 <RESULT IF_PASS COUNT 1>
2594 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2596 <RESULT IF_PASS COUNT 1>
2599 <RESULT IF_PASS POSITIVE>
2600 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2606 .*---------------------------------------------------------------------*
2607 :h3.TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Altstep_runs_on
2608 .*---------------------------------------------------------------------*
2610 <TC - TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Altstep_runs_on>
2614 <MODULE TTCN ModuleA ModuleA.ttcn>
2616 type component MyCompType {}
2617 altstep MyCompAltstep () runs on MyCompType {
2618 [] MyAltstepTimer.timeout {};
2621 altstep MyAltstep ( timer MyAltstepTimer ) {
2622 [] any port.check {};
2627 <RESULT IF_PASS COUNT 1>
2628 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
2630 <RESULT IF_PASS COUNT 1>
2633 <RESULT IF_PASS POSITIVE>
2634 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2640 .*---------------------------------------------------------------------*
2641 :h3.TTCN-3::ScopeUnits-> Altstep (value parameter) -> Testcase
2642 .*---------------------------------------------------------------------*
2644 <TC - TTCN-3::ScopeUnits-> Altstep (value parameter) -> Testcase>
2648 <MODULE TTCN ModuleA ModuleA.ttcn>
2650 type component MyCompType {}
2651 testcase MyTestcase() runs on MyCompType {
2652 var integer MyTestcaseInt := MyAltstepInt;
2654 altstep MyAltstep ( integer MyAltstepInt ) {
2655 [] any port.check {};
2660 <RESULT IF_PASS COUNT 1>
2661 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2663 <RESULT IF_PASS COUNT 1>
2666 <RESULT IF_PASS POSITIVE>
2667 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2673 .*---------------------------------------------------------------------*
2674 :h3.TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Testcase
2675 .*---------------------------------------------------------------------*
2677 <TC - TTCN-3::ScopeUnits-> Altstep (timer parameter) -> Testcase>
2681 <MODULE TTCN ModuleA ModuleA.ttcn>
2683 type component MyCompType {}
2684 testcase MyTestcase() runs on MyCompType {
2685 MyAltstepTimer.start;
2687 altstep MyAltstep ( timer MyAltstepTimer ) {
2688 [] any port.check {};
2693 <RESULT IF_PASS COUNT 1>
2694 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
2696 <RESULT IF_PASS COUNT 1>
2699 <RESULT IF_PASS POSITIVE>
2700 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2706 .*---------------------------------------------------------------------*
2707 :h3.TTCN-3::ScopeUnits-> Altstep: const definition -> Control part
2708 .*---------------------------------------------------------------------*
2710 <TC - TTCN-3::ScopeUnits-> Altstep: const definition -> Control part>
2714 <MODULE TTCN ModuleA ModuleA.ttcn>
2716 altstep MyAltstep () {
2717 const integer MyAltstepIntConst := 17;
2718 [] any port.check {};
2722 const integer MyControlIntConst := MyAltstepIntConst;
2726 <RESULT IF_PASS COUNT 1>
2727 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConst
2729 <RESULT IF_PASS COUNT 1>
2732 <RESULT IF_PASS POSITIVE>
2733 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2739 .*---------------------------------------------------------------------*
2740 :h3.TTCN-3::ScopeUnits-> Altstep: var definition -> Control part
2741 .*---------------------------------------------------------------------*
2743 <TC - TTCN-3::ScopeUnits-> Altstep: var definition -> Control part>
2747 <MODULE TTCN ModuleA ModuleA.ttcn>
2749 altstep MyAltstep () {
2750 var integer MyAltstepInt := 17;
2751 [] any port.check {};
2755 var integer MyControlInt := MyAltstepInt;
2759 <RESULT IF_PASS COUNT 1>
2760 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2762 <RESULT IF_PASS COUNT 1>
2765 <RESULT IF_PASS POSITIVE>
2766 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2772 .*---------------------------------------------------------------------*
2773 :h3.TTCN-3::ScopeUnits-> Altstep: timer definition -> Control part
2774 .*---------------------------------------------------------------------*
2776 <TC - TTCN-3::ScopeUnits-> Altstep: timer definition -> Control part>
2780 <MODULE TTCN ModuleA ModuleA.ttcn>
2782 altstep MyAltstep () {
2783 timer MyAltstepTimer := 17.9;
2784 [] any port.check {};
2788 MyAltstepTimer.start;
2792 <RESULT IF_PASS COUNT 1>
2793 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
2795 <RESULT IF_PASS COUNT 1>
2798 <RESULT IF_PASS POSITIVE>
2799 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2805 .*---------------------------------------------------------------------*
2806 :h3.TTCN-3::ScopeUnits-> Altstep: const definition -> Component type
2807 .*---------------------------------------------------------------------*
2809 <TC - TTCN-3::ScopeUnits-> Altstep: const definition -> Component type>
2813 <MODULE TTCN ModuleA ModuleA.ttcn>
2815 type component MyCompType {
2816 const integer MyComponentIntConst := MyAltstepIntConst;
2818 altstep MyAltstep () {
2819 const integer MyAltstepIntConst := 17;
2820 [] any port.check {};
2825 <RESULT IF_PASS COUNT 1>
2826 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConst
2828 <RESULT IF_PASS COUNT 1>
2831 <RESULT IF_PASS POSITIVE>
2832 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2838 .*---------------------------------------------------------------------*
2839 :h3.TTCN-3::ScopeUnits-> Altstep: var definition -> Component type
2840 .*---------------------------------------------------------------------*
2842 :nl.The implementation does not support the variable initialized with
2843 :nl.another variable in the component type (but it would be possible
2844 :nl.according to TTCN-3 specification ).
2848 <TC - TTCN-3::ScopeUnits-> Altstep: var definition -> Component type>
2852 <MODULE TTCN ModuleA ModuleA.ttcn>
2854 type component MyCompType {
2855 var integer MyComponentInt := MyAltstepInt;
2857 altstep MyAltstep () {
2858 var integer MyAltstepInt := 17;
2859 [] any port.check {};
2864 <RESULT IF_PASS COUNT 1>
2865 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2867 <RESULT IF_PASS COUNT 1>
2870 <RESULT IF_PASS POSITIVE>
2871 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2877 .*---------------------------------------------------------------------*
2878 :h3.TTCN-3::ScopeUnits-> Altstep: const definition -> Function
2879 .*---------------------------------------------------------------------*
2881 <TC - TTCN-3::ScopeUnits-> Altstep: const definition -> Function>
2885 <MODULE TTCN ModuleA ModuleA.ttcn>
2887 function MyFunc() return integer {
2888 return MyAltstepIntConst;
2890 altstep MyAltstep () {
2891 const integer MyAltstepIntConst := 17;
2892 [] any port.check {};
2897 <RESULT IF_PASS COUNT 1>
2898 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConst
2900 <RESULT IF_PASS COUNT 1>
2903 <RESULT IF_PASS POSITIVE>
2904 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2910 .*---------------------------------------------------------------------*
2911 :h3.TTCN-3::ScopeUnits-> Altstep: var definition -> Function
2912 .*---------------------------------------------------------------------*
2914 <TC - TTCN-3::ScopeUnits-> Altstep: var definition -> Function>
2918 <MODULE TTCN ModuleA ModuleA.ttcn>
2920 function MyFunc() return integer {
2921 return MyAltstepInt;
2923 altstep MyAltstep () {
2924 var integer MyAltstepInt := 17;
2925 [] any port.check {};
2930 <RESULT IF_PASS COUNT 1>
2931 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
2933 <RESULT IF_PASS COUNT 1>
2936 <RESULT IF_PASS POSITIVE>
2937 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2943 .*---------------------------------------------------------------------*
2944 :h3.TTCN-3::ScopeUnits-> Altstep: timer definition -> Function
2945 .*---------------------------------------------------------------------*
2947 <TC - TTCN-3::ScopeUnits-> Altstep: timer definition -> Function>
2951 <MODULE TTCN ModuleA ModuleA.ttcn>
2954 MyAltstepTimer.start;
2956 altstep MyAltstep () {
2957 timer MyAltstepTimer := 17.9;
2958 [] any port.check {};
2963 <RESULT IF_PASS COUNT 1>
2964 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
2966 <RESULT IF_PASS COUNT 1>
2969 <RESULT IF_PASS POSITIVE>
2970 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2976 .*---------------------------------------------------------------------*
2977 :h3.TTCN-3::ScopeUnits-> Altstep: const definition -> Function_runs_on
2978 .*---------------------------------------------------------------------*
2980 <TC - TTCN-3::ScopeUnits-> Altstep: const definition -> Function_runs_on>
2984 <MODULE TTCN ModuleA ModuleA.ttcn>
2986 type component MyCompType {}
2987 function MyCompFunc() runs on MyCompType return integer {
2988 return MyAltstepIntConst;
2990 altstep MyAltstep () {
2991 const integer MyAltstepIntConst := 13;
2992 [] any port.check {};
2997 <RESULT IF_PASS COUNT 1>
2998 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConst
3000 <RESULT IF_PASS COUNT 1>
3003 <RESULT IF_PASS POSITIVE>
3004 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3010 .*---------------------------------------------------------------------*
3011 :h3.TTCN-3::ScopeUnits-> Altstep: var definition -> Function_runs_on
3012 .*---------------------------------------------------------------------*
3014 <TC - TTCN-3::ScopeUnits-> Altstep: var definition -> Function_runs_on>
3018 <MODULE TTCN ModuleA ModuleA.ttcn>
3020 type component MyCompType {}
3021 function MyCompFunc() runs on MyCompType return integer {
3022 return MyAltstepInt;
3024 altstep MyAltstep () {
3025 var integer MyAltstepInt := 13;
3026 [] any port.check {};
3031 <RESULT IF_PASS COUNT 1>
3032 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
3034 <RESULT IF_PASS COUNT 1>
3037 <RESULT IF_PASS POSITIVE>
3038 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3044 .*---------------------------------------------------------------------*
3045 :h3.TTCN-3::ScopeUnits-> Altstep: timer definition -> Function_runs_on
3046 .*---------------------------------------------------------------------*
3048 <TC - TTCN-3::ScopeUnits-> Altstep: timer definition -> Function_runs_on>
3052 <MODULE TTCN ModuleA ModuleA.ttcn>
3054 type component MyCompType {}
3055 function MyCompFunc() runs on MyCompType {
3056 MyAltstepTimer.start;
3058 altstep MyAltstep () {
3059 timer MyAltstepTimer := 13.3;
3060 [] any port.check {};
3065 <RESULT IF_PASS COUNT 1>
3066 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
3068 <RESULT IF_PASS COUNT 1>
3071 <RESULT IF_PASS POSITIVE>
3072 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3078 .*---------------------------------------------------------------------*
3079 :h3.TTCN-3::ScopeUnits-> Altstep: const definition -> Altstep_runs_on
3080 .*---------------------------------------------------------------------*
3082 <TC - TTCN-3::ScopeUnits-> Altstep: const definition -> Altstep_runs_on>
3086 <MODULE TTCN ModuleA ModuleA.ttcn>
3088 type component MyCompType {}
3089 altstep MyCompAltstep () runs on MyCompType {
3090 const integer MyCompAltstepIntConst := MyAltstepIntConst;
3091 [] any port.check {};
3094 altstep MyAltstep () {
3095 const integer MyAltstepIntConst := 15;
3096 [] any port.check {};
3101 <RESULT IF_PASS COUNT 1>
3102 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConst
3104 <RESULT IF_PASS COUNT 1>
3107 <RESULT IF_PASS POSITIVE>
3108 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3114 .*---------------------------------------------------------------------*
3115 :h3.TTCN-3::ScopeUnits-> Altstep: var definition -> Altstep_runs_on
3116 .*---------------------------------------------------------------------*
3118 <TC - TTCN-3::ScopeUnits-> Altstep: var definition -> Altstep_runs_on>
3122 <MODULE TTCN ModuleA ModuleA.ttcn>
3124 type component MyCompType {}
3125 altstep MyCompAltstep () runs on MyCompType {
3126 var integer MyCompAltstepInt := MyAltstepInt;
3127 [] any port.check {};
3130 altstep MyAltstep () {
3131 var integer MyAltstepInt := 15;
3132 [] any port.check {};
3137 <RESULT IF_PASS COUNT 1>
3138 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
3140 <RESULT IF_PASS COUNT 1>
3143 <RESULT IF_PASS POSITIVE>
3144 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3150 .*---------------------------------------------------------------------*
3151 :h3.TTCN-3::ScopeUnits-> Altstep: timer definition -> Altstep_runs_on
3152 .*---------------------------------------------------------------------*
3154 <TC - TTCN-3::ScopeUnits-> Altstep: timer definition -> Altstep_runs_on>
3158 <MODULE TTCN ModuleA ModuleA.ttcn>
3160 type component MyCompType {}
3161 altstep MyCompAltstep () runs on MyCompType {
3162 [] MyAltstepTimer.timeout {};
3165 altstep MyAltstep () {
3166 timer MyAltstepTimer := 15.1;
3167 [] any port.check {};
3172 <RESULT IF_PASS COUNT 1>
3173 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
3175 <RESULT IF_PASS COUNT 1>
3178 <RESULT IF_PASS POSITIVE>
3179 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3185 .*---------------------------------------------------------------------*
3186 :h3.TTCN-3::ScopeUnits-> Altstep: const definition -> Testcase
3187 .*---------------------------------------------------------------------*
3189 <TC - TTCN-3::ScopeUnits-> Altstep: const definition -> Testcase>
3193 <MODULE TTCN ModuleA ModuleA.ttcn>
3195 type component MyCompType {}
3196 testcase MyTestcase() runs on MyCompType {
3197 const integer MyTestcaseIntConst := MyAltstepIntConst;
3199 altstep MyAltstep () {
3200 const integer MyAltstepIntConst := 14;
3201 [] any port.check {};
3206 <RESULT IF_PASS COUNT 1>
3207 (?im)\berror\b.+?no.+?definition.+?MyAltstepIntConst
3209 <RESULT IF_PASS COUNT 1>
3212 <RESULT IF_PASS POSITIVE>
3213 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3219 .*---------------------------------------------------------------------*
3220 :h3.TTCN-3::ScopeUnits-> Altstep: var definition -> Testcase
3221 .*---------------------------------------------------------------------*
3223 <TC - TTCN-3::ScopeUnits-> Altstep: var definition -> Testcase>
3227 <MODULE TTCN ModuleA ModuleA.ttcn>
3229 type component MyCompType {}
3230 testcase MyTestcase() runs on MyCompType {
3231 var integer MyTestcaseInt := MyAltstepInt;
3233 altstep MyAltstep () {
3234 var integer MyAltstepInt := 14;
3235 [] any port.check {};
3240 <RESULT IF_PASS COUNT 1>
3241 (?im)\berror\b.+?no.+?definition.+?MyAltstepInt
3243 <RESULT IF_PASS COUNT 1>
3246 <RESULT IF_PASS POSITIVE>
3247 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3253 .*---------------------------------------------------------------------*
3254 :h3.TTCN-3::ScopeUnits-> Altstep: timer definition -> Testcase
3255 .*---------------------------------------------------------------------*
3257 <TC - TTCN-3::ScopeUnits-> Altstep: timer definition -> Testcase>
3261 <MODULE TTCN ModuleA ModuleA.ttcn>
3263 type component MyCompType {}
3264 testcase MyTestcase() runs on MyCompType {
3265 MyAltstepTimer.start;
3267 altstep MyAltstep () {
3268 timer MyAltstepTimer := 14.1;
3269 [] any port.check {};
3274 <RESULT IF_PASS COUNT 1>
3275 (?im)\berror\b.+?no.+?definition.+?MyAltstepTimer
3277 <RESULT IF_PASS COUNT 1>
3280 <RESULT IF_PASS POSITIVE>
3281 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3287 .*---------------------------------------------------------------------*
3288 :h3.TTCN-3::ScopeUnits-> Function_runs_on: embedded case -- const definition
3289 .*---------------------------------------------------------------------*
3291 <TC - TTCN-3::ScopeUnits-> Function_runs_on: embedded case -- const definition>
3295 <MODULE TTCN ModuleA ModuleA.ttcn>
3297 type component MyCompType {}
3298 function MyCompFunc() runs on MyCompType return integer {
3300 const integer MyCompFuncIntConstE := 21;
3302 return MyCompFuncIntConstE;
3306 <RESULT IF_PASS COUNT 1>
3307 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntConstE
3309 <RESULT IF_PASS COUNT 1>
3312 <RESULT IF_PASS POSITIVE>
3313 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3319 .*---------------------------------------------------------------------*
3320 :h3.TTCN-3::ScopeUnits-> Function_runs_on: embedded case -- var definition
3321 .*---------------------------------------------------------------------*
3323 <TC - TTCN-3::ScopeUnits-> Function_runs_on: embedded case -- var definition>
3327 <MODULE TTCN ModuleA ModuleA.ttcn>
3329 type component MyCompType {}
3330 function MyCompFunc() runs on MyCompType return integer {
3332 var integer MyCompFuncIntE := 21;
3334 return MyCompFuncIntE;
3338 <RESULT IF_PASS COUNT 1>
3339 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntE
3341 <RESULT IF_PASS COUNT 1>
3344 <RESULT IF_PASS POSITIVE>
3345 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3351 .*---------------------------------------------------------------------*
3352 :h3.TTCN-3::ScopeUnits-> Function_runs_on: embedded case -- timer definition
3353 .*---------------------------------------------------------------------*
3355 <TC - TTCN-3::ScopeUnits-> Function_runs_on: embedded case -- timer definition>
3359 <MODULE TTCN ModuleA ModuleA.ttcn>
3361 type component MyCompType {}
3362 function MyCompFunc() runs on MyCompType {
3364 timer MyCompFuncTimerE := 21.1;
3366 MyCompFuncTimerE.start;
3370 <RESULT IF_PASS COUNT 1>
3371 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimerE
3373 <RESULT IF_PASS COUNT 1>
3376 <RESULT IF_PASS POSITIVE>
3377 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3383 .*---------------------------------------------------------------------*
3384 :h3.TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Component type
3385 .*---------------------------------------------------------------------*
3387 <TC - TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Component type>
3391 <MODULE TTCN ModuleA ModuleA.ttcn>
3393 type component MyCompType {
3394 const integer MyComponentIntConst := MyCompFuncIntConst;
3396 function MyCompFunc() runs on MyCompType {
3397 const integer MyCompFuncIntConst := 21;
3401 <RESULT IF_PASS COUNT 1>
3402 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntConst
3404 <RESULT IF_PASS COUNT 1>
3407 <RESULT IF_PASS POSITIVE>
3408 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3414 .*---------------------------------------------------------------------*
3415 :h3.TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Component type
3416 .*---------------------------------------------------------------------*
3418 :nl.The implementation does not support the variable initialized with
3419 :nl.another variable in the component type (but it would be possible
3420 :nl.according to TTCN-3 specification ).
3424 <TC - TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Component type>
3428 <MODULE TTCN ModuleA ModuleA.ttcn>
3430 type component MyCompType {
3431 var integer MyComponentInt := MyCompFuncInt;
3433 function MyCompFunc() runs on MyCompType {
3434 var integer MyCompFuncInt := 21;
3438 <RESULT IF_PASS COUNT 1>
3439 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3441 <RESULT IF_PASS COUNT 1>
3444 <RESULT IF_PASS POSITIVE>
3445 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3451 .*---------------------------------------------------------------------*
3452 :h3.TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Component type
3453 .*---------------------------------------------------------------------*
3455 :nl.The implementation does not support the variable initialized with
3456 :nl.another variable in the component type (but it would be possible
3457 :nl.according to TTCN-3 specification ).
3461 <TC - TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Component type>
3465 <MODULE TTCN ModuleA ModuleA.ttcn>
3467 type component MyCompType {
3468 var integer MyComponentInt := MyCompFuncInt;
3470 function MyCompFunc( integer MyCompFuncInt ) runs on MyCompType {}
3473 <RESULT IF_PASS COUNT 1>
3474 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3476 <RESULT IF_PASS COUNT 1>
3479 <RESULT IF_PASS POSITIVE>
3480 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3486 .*---------------------------------------------------------------------*
3487 :h3.TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Control part
3488 .*---------------------------------------------------------------------*
3490 <TC - TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Control part>
3494 <MODULE TTCN ModuleA ModuleA.ttcn>
3496 type component MyCompType {}
3497 function MyCompFunc( integer MyCompFuncInt ) runs on MyCompType {}
3499 var integer MyControlInt := MyCompFuncInt;
3503 <RESULT IF_PASS COUNT 1>
3504 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3506 <RESULT IF_PASS COUNT 1>
3509 <RESULT IF_PASS POSITIVE>
3510 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3516 .*---------------------------------------------------------------------*
3517 :h3.TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Control part
3518 .*---------------------------------------------------------------------*
3520 <TC - TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Control part>
3524 <MODULE TTCN ModuleA ModuleA.ttcn>
3526 type component MyCompType {}
3527 function MyCompFunc( timer MyCompFuncTimer ) runs on MyCompType {}
3529 MyCompFuncTimer.start;
3533 <RESULT IF_PASS COUNT 1>
3534 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
3536 <RESULT IF_PASS COUNT 1>
3539 <RESULT IF_PASS POSITIVE>
3540 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3546 .*---------------------------------------------------------------------*
3547 :h3.TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Function
3548 .*---------------------------------------------------------------------*
3550 <TC - TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Function>
3554 <MODULE TTCN ModuleA ModuleA.ttcn>
3556 type component MyCompType {}
3557 function MyCompFunc( integer MyCompFuncInt ) runs on MyCompType {}
3558 function MyFunc() return integer {
3559 return MyCompFuncInt;
3563 <RESULT IF_PASS COUNT 1>
3564 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3566 <RESULT IF_PASS COUNT 1>
3569 <RESULT IF_PASS POSITIVE>
3570 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3576 .*---------------------------------------------------------------------*
3577 :h3.TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Function
3578 .*---------------------------------------------------------------------*
3580 <TC - TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Function>
3584 <MODULE TTCN ModuleA ModuleA.ttcn>
3586 type component MyCompType {}
3587 function MyCompFunc( timer MyCompFuncTimer ) runs on MyCompType {}
3589 MyCompFuncTimer.start;
3593 <RESULT IF_PASS COUNT 1>
3594 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
3596 <RESULT IF_PASS COUNT 1>
3599 <RESULT IF_PASS POSITIVE>
3600 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3606 .*---------------------------------------------------------------------*
3607 :h3.TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Altstep
3608 .*---------------------------------------------------------------------*
3610 <TC - TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Altstep>
3614 <MODULE TTCN ModuleA ModuleA.ttcn>
3616 type component MyCompType {}
3617 function MyCompFunc( integer MyCompFuncInt ) runs on MyCompType {}
3618 altstep MyAltstep () {
3619 var integer MyAltstepInt := MyCompFuncInt;
3620 [] any port.check {};
3625 <RESULT IF_PASS COUNT 1>
3626 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3628 <RESULT IF_PASS COUNT 1>
3631 <RESULT IF_PASS POSITIVE>
3632 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3638 .*---------------------------------------------------------------------*
3639 :h3.TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Altstep
3640 .*---------------------------------------------------------------------*
3642 <TC - TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Altstep>
3646 <MODULE TTCN ModuleA ModuleA.ttcn>
3648 type component MyCompType {}
3649 function MyCompFunc( timer MyCompFuncTimer ) runs on MyCompType {}
3650 altstep MyAltstep () {
3651 [] MyCompFuncTimer.timeout {};
3656 <RESULT IF_PASS COUNT 1>
3657 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
3659 <RESULT IF_PASS COUNT 1>
3662 <RESULT IF_PASS POSITIVE>
3663 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3669 .*---------------------------------------------------------------------*
3670 :h3.TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Altstep_runs_on
3671 .*---------------------------------------------------------------------*
3673 <TC - TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Altstep_runs_on>
3677 <MODULE TTCN ModuleA ModuleA.ttcn>
3679 type component MyCompType {}
3680 function MyCompFunc( integer MyCompFuncInt ) runs on MyCompType {}
3681 altstep MyCompAltstep() runs on MyCompType {
3682 var integer MyCompAltstepInt := MyCompFuncInt;
3683 [] any port.check {};
3688 <RESULT IF_PASS COUNT 1>
3689 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3691 <RESULT IF_PASS COUNT 1>
3694 <RESULT IF_PASS POSITIVE>
3695 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3701 .*---------------------------------------------------------------------*
3702 :h3.TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Altstep_runs_on
3703 .*---------------------------------------------------------------------*
3705 <TC - TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Altstep_runs_on>
3709 <MODULE TTCN ModuleA ModuleA.ttcn>
3711 type component MyCompType {}
3712 function MyCompFunc( timer MyCompFuncTimer ) runs on MyCompType {}
3713 altstep MyCompAltstep() runs on MyCompType {
3714 [] MyCompFuncTimer.timeout {};
3719 <RESULT IF_PASS COUNT 1>
3720 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
3722 <RESULT IF_PASS COUNT 1>
3725 <RESULT IF_PASS POSITIVE>
3726 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3732 .*---------------------------------------------------------------------*
3733 :h3.TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Testcase
3734 .*---------------------------------------------------------------------*
3736 <TC - TTCN-3::ScopeUnits-> Function_runs_on (value parameter) -> Testcase>
3740 <MODULE TTCN ModuleA ModuleA.ttcn>
3742 type component MyCompType {}
3743 function MyCompFunc( integer MyCompFuncInt ) runs on MyCompType {}
3744 testcase MyTestcase() runs on MyCompType {
3745 var integer MyTestcaseInt := MyCompFuncInt;
3749 <RESULT IF_PASS COUNT 1>
3750 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3752 <RESULT IF_PASS COUNT 1>
3755 <RESULT IF_PASS POSITIVE>
3756 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3762 .*---------------------------------------------------------------------*
3763 :h3.TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Testcase
3764 .*---------------------------------------------------------------------*
3766 <TC - TTCN-3::ScopeUnits-> Function_runs_on (timer parameter) -> Testcase>
3770 <MODULE TTCN ModuleA ModuleA.ttcn>
3772 type component MyCompType {}
3773 function MyCompFunc( timer MyCompFuncTimer ) runs on MyCompType {}
3774 testcase MyTestcase() runs on MyCompType {
3775 MyCompFuncTimer.start;
3779 <RESULT IF_PASS COUNT 1>
3780 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
3782 <RESULT IF_PASS COUNT 1>
3785 <RESULT IF_PASS POSITIVE>
3786 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3792 .*---------------------------------------------------------------------*
3793 :h3.TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Control part
3794 .*---------------------------------------------------------------------*
3796 <TC - TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Control part>
3800 <MODULE TTCN ModuleA ModuleA.ttcn>
3802 type component MyCompType {}
3803 function MyCompFunc() runs on MyCompType {
3804 const integer MyCompFuncIntConst := 21;
3807 const integer MyControlIntConst := MyCompFuncIntConst;
3811 <RESULT IF_PASS COUNT 1>
3812 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntConst
3814 <RESULT IF_PASS COUNT 1>
3817 <RESULT IF_PASS POSITIVE>
3818 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3824 .*---------------------------------------------------------------------*
3825 :h3.TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Control part
3826 .*---------------------------------------------------------------------*
3828 <TC - TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Control part>
3832 <MODULE TTCN ModuleA ModuleA.ttcn>
3834 type component MyCompType {}
3835 function MyCompFunc() runs on MyCompType {
3836 var integer MyCompFuncInt := 21;
3839 var integer MyControlInt := MyCompFuncInt;
3843 <RESULT IF_PASS COUNT 1>
3844 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3846 <RESULT IF_PASS COUNT 1>
3849 <RESULT IF_PASS POSITIVE>
3850 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3856 .*---------------------------------------------------------------------*
3857 :h3.TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Control part
3858 .*---------------------------------------------------------------------*
3860 <TC - TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Control part>
3864 <MODULE TTCN ModuleA ModuleA.ttcn>
3866 type component MyCompType {}
3867 function MyCompFunc() runs on MyCompType {
3868 timer MyCompFuncTimer := 21.6;
3871 MyCompFuncTimer.start;
3875 <RESULT IF_PASS COUNT 1>
3876 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
3878 <RESULT IF_PASS COUNT 1>
3881 <RESULT IF_PASS POSITIVE>
3882 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3888 .*---------------------------------------------------------------------*
3889 :h3.TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Function
3890 .*---------------------------------------------------------------------*
3892 <TC - TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Function>
3896 <MODULE TTCN ModuleA ModuleA.ttcn>
3898 type component MyCompType {}
3899 function MyCompFunc() runs on MyCompType {
3900 const integer MyCompFuncIntConst := 21;
3902 function MyFunc() return integer {
3903 return MyCompFuncIntConst;
3907 <RESULT IF_PASS COUNT 1>
3908 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntConst
3910 <RESULT IF_PASS COUNT 1>
3913 <RESULT IF_PASS POSITIVE>
3914 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3920 .*---------------------------------------------------------------------*
3921 :h3.TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Function
3922 .*---------------------------------------------------------------------*
3924 <TC - TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Function>
3928 <MODULE TTCN ModuleA ModuleA.ttcn>
3930 type component MyCompType {}
3931 function MyCompFunc() runs on MyCompType {
3932 var integer MyCompFuncInt := 21;
3934 function MyFunc() return integer {
3935 return MyCompFuncInt;
3939 <RESULT IF_PASS COUNT 1>
3940 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
3942 <RESULT IF_PASS COUNT 1>
3945 <RESULT IF_PASS POSITIVE>
3946 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3952 .*---------------------------------------------------------------------*
3953 :h3.TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Function
3954 .*---------------------------------------------------------------------*
3956 <TC - TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Function>
3960 <MODULE TTCN ModuleA ModuleA.ttcn>
3962 type component MyCompType {}
3963 function MyCompFunc() runs on MyCompType {
3964 timer MyCompFuncTimer := 21.3;
3967 MyCompFuncTimer.start;
3971 <RESULT IF_PASS COUNT 1>
3972 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
3974 <RESULT IF_PASS COUNT 1>
3977 <RESULT IF_PASS POSITIVE>
3978 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3984 .*---------------------------------------------------------------------*
3985 :h3.TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Altstep
3986 .*---------------------------------------------------------------------*
3988 <TC - TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Altstep>
3992 <MODULE TTCN ModuleA ModuleA.ttcn>
3994 type component MyCompType {}
3995 function MyCompFunc() runs on MyCompType {
3996 const integer MyCompFuncIntConst := 21;
3998 altstep MyAltstep () {
3999 const integer MyAltstepIntConst := MyCompFuncIntConst;
4000 [] any port.check {};
4005 <RESULT IF_PASS COUNT 1>
4006 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntConst
4008 <RESULT IF_PASS COUNT 1>
4011 <RESULT IF_PASS POSITIVE>
4012 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4018 .*---------------------------------------------------------------------*
4019 :h3.TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Altstep
4020 .*---------------------------------------------------------------------*
4022 <TC - TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Altstep>
4026 <MODULE TTCN ModuleA ModuleA.ttcn>
4028 type component MyCompType {}
4029 function MyCompFunc() runs on MyCompType {
4030 var integer MyCompFuncInt := 21;
4032 altstep MyAltstep () {
4033 var integer MyAltstepInt := MyCompFuncInt;
4034 [] any port.check {};
4039 <RESULT IF_PASS COUNT 1>
4040 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
4042 <RESULT IF_PASS COUNT 1>
4045 <RESULT IF_PASS POSITIVE>
4046 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4052 .*---------------------------------------------------------------------*
4053 :h3.TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Altstep
4054 .*---------------------------------------------------------------------*
4056 <TC - TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Altstep>
4060 <MODULE TTCN ModuleA ModuleA.ttcn>
4062 type component MyCompType {}
4063 function MyCompFunc() runs on MyCompType {
4064 timer MyCompFuncTimer := 21.9;
4066 altstep MyAltstep () {
4067 [] MyCompFuncTimer.timeout {};
4072 <RESULT IF_PASS COUNT 1>
4073 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
4075 <RESULT IF_PASS COUNT 1>
4078 <RESULT IF_PASS POSITIVE>
4079 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4085 .*---------------------------------------------------------------------*
4086 :h3.TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Altstep_runs_on
4087 .*---------------------------------------------------------------------*
4089 <TC - TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Altstep_runs_on>
4093 <MODULE TTCN ModuleA ModuleA.ttcn>
4095 type component MyCompType {}
4096 function MyCompFunc() runs on MyCompType {
4097 const integer MyCompFuncIntConst := 21;
4099 altstep MyCompAltstep() runs on MyCompType {
4100 const integer MyCompAltstepIntConst := MyCompFuncIntConst;
4101 [] any port.check {};
4106 <RESULT IF_PASS COUNT 1>
4107 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntConst
4109 <RESULT IF_PASS COUNT 1>
4112 <RESULT IF_PASS POSITIVE>
4113 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4119 .*---------------------------------------------------------------------*
4120 :h3.TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Altstep_runs_on
4121 .*---------------------------------------------------------------------*
4123 <TC - TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Altstep_runs_on>
4127 <MODULE TTCN ModuleA ModuleA.ttcn>
4129 type component MyCompType {}
4130 function MyCompFunc() runs on MyCompType {
4131 var integer MyCompFuncInt := 21;
4133 altstep MyCompAltstep() runs on MyCompType {
4134 var integer MyCompAltstepInt := MyCompFuncInt;
4135 [] any port.check {};
4140 <RESULT IF_PASS COUNT 1>
4141 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
4143 <RESULT IF_PASS COUNT 1>
4146 <RESULT IF_PASS POSITIVE>
4147 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4153 .*---------------------------------------------------------------------*
4154 :h3.TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Altstep_runs_on
4155 .*---------------------------------------------------------------------*
4157 <TC - TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Altstep_runs_on>
4161 <MODULE TTCN ModuleA ModuleA.ttcn>
4163 type component MyCompType {}
4164 function MyCompFunc() runs on MyCompType {
4165 timer MyCompFuncTimer := 21.3;
4167 altstep MyCompAltstep() runs on MyCompType {
4168 [] MyCompFuncTimer.timeout {};
4173 <RESULT IF_PASS COUNT 1>
4174 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
4176 <RESULT IF_PASS COUNT 1>
4179 <RESULT IF_PASS POSITIVE>
4180 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4186 .*---------------------------------------------------------------------*
4187 :h3.TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Testcase
4188 .*---------------------------------------------------------------------*
4190 <TC - TTCN-3::ScopeUnits-> Function_runs_on: const definition -> Testcase>
4194 <MODULE TTCN ModuleA ModuleA.ttcn>
4196 type component MyCompType {}
4197 function MyCompFunc() runs on MyCompType {
4198 const integer MyCompFuncIntConst := 21;
4200 testcase MyTestcase() runs on MyCompType {
4201 const integer MyTestcaseIntConst := MyCompFuncIntConst;
4205 <RESULT IF_PASS COUNT 1>
4206 (?im)\berror\b.+?no.+?definition.+?MyCompFuncIntConst
4208 <RESULT IF_PASS COUNT 1>
4211 <RESULT IF_PASS POSITIVE>
4212 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4218 .*---------------------------------------------------------------------*
4219 :h3.TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Testcase
4220 .*---------------------------------------------------------------------*
4222 <TC - TTCN-3::ScopeUnits-> Function_runs_on: var definition -> Testcase>
4226 <MODULE TTCN ModuleA ModuleA.ttcn>
4228 type component MyCompType {}
4229 function MyCompFunc() runs on MyCompType {
4230 var integer MyCompFuncInt := 21;
4232 testcase MyTestcase() runs on MyCompType {
4233 var integer MyTestcaseInt := MyCompFuncInt;
4237 <RESULT IF_PASS COUNT 1>
4238 (?im)\berror\b.+?no.+?definition.+?MyCompFuncInt
4240 <RESULT IF_PASS COUNT 1>
4243 <RESULT IF_PASS POSITIVE>
4244 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4250 .*---------------------------------------------------------------------*
4251 :h3.TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Testcase
4252 .*---------------------------------------------------------------------*
4254 <TC - TTCN-3::ScopeUnits-> Function_runs_on: timer definition -> Testcase>
4258 <MODULE TTCN ModuleA ModuleA.ttcn>
4260 type component MyCompType {}
4261 function MyCompFunc() runs on MyCompType {
4262 timer MyCompFuncTimer := 21.3;
4264 testcase MyTestcase() runs on MyCompType {
4265 MyCompFuncTimer.start;
4269 <RESULT IF_PASS COUNT 1>
4270 (?im)\berror\b.+?no.+?definition.+?MyCompFuncTimer
4272 <RESULT IF_PASS COUNT 1>
4275 <RESULT IF_PASS POSITIVE>
4276 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4282 .*---------------------------------------------------------------------*
4283 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: embedded case -- const definition
4284 .*---------------------------------------------------------------------*
4286 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: embedded case -- const definition>
4290 <MODULE TTCN ModuleA ModuleA.ttcn>
4292 type component MyCompType {}
4293 altstep MyCompAltstep( timer MyCompAltstepTimerIn ) runs on MyCompType {
4295 const integer MyCompAltstepIntConstE := 16;
4297 [ MyCompAltstepIntConstE > 1 ] MyCompAltstepTimerIn.timeout {};
4302 <RESULT IF_PASS COUNT 1>
4303 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntConstE
4305 <RESULT IF_PASS COUNT 1>
4308 <RESULT IF_PASS POSITIVE>
4309 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4315 .*---------------------------------------------------------------------*
4316 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: embedded case -- var definition
4317 .*---------------------------------------------------------------------*
4319 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: embedded case -- var definition>
4323 <MODULE TTCN ModuleA ModuleA.ttcn>
4325 type component MyCompType {}
4326 altstep MyCompAltstep( timer MyCompAltstepTimerIn ) runs on MyCompType {
4328 var integer MyCompAltstepIntE := 16;
4330 [ MyCompAltstepIntE > 1 ] MyCompAltstepTimerIn.timeout {};
4335 <RESULT IF_PASS COUNT 1>
4336 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntE
4338 <RESULT IF_PASS COUNT 1>
4341 <RESULT IF_PASS POSITIVE>
4342 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4348 .*---------------------------------------------------------------------*
4349 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: embedded case -- timer definition
4350 .*---------------------------------------------------------------------*
4352 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: embedded case -- timer definition>
4356 <MODULE TTCN ModuleA ModuleA.ttcn>
4358 type component MyCompType {}
4359 altstep MyCompAltstep() runs on MyCompType {
4361 timer MyCompAltstepTimerE := 16.4;
4363 [] MyCompAltstepTimerE.timeout {};
4368 <RESULT IF_PASS COUNT 1>
4369 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimerE
4371 <RESULT IF_PASS COUNT 1>
4374 <RESULT IF_PASS POSITIVE>
4375 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4381 .*---------------------------------------------------------------------*
4382 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Component type
4383 .*---------------------------------------------------------------------*
4385 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Component type>
4389 <MODULE TTCN ModuleA ModuleA.ttcn>
4391 type component MyCompType {
4392 const integer MyComponentIntConst := MyCompAltstepIntConst;
4394 altstep MyCompAltstep() runs on MyCompType {
4395 const integer MyCompAltstepIntConst := 16;
4396 [] any port.check {};
4401 <RESULT IF_PASS COUNT 1>
4402 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntConst
4404 <RESULT IF_PASS COUNT 1>
4407 <RESULT IF_PASS POSITIVE>
4408 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4414 .*---------------------------------------------------------------------*
4415 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Component type
4416 .*---------------------------------------------------------------------*
4418 :nl.The implementation does not support the variable initialized with
4419 :nl.another variable in the component type (but it would be possible
4420 :nl.according to TTCN-3 specification ).
4424 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Component type>
4428 <MODULE TTCN ModuleA ModuleA.ttcn>
4430 type component MyCompType {
4431 var integer MyComponentInt := MyCompAltstepInt;
4433 altstep MyCompAltstep() runs on MyCompType {
4434 var integer MyCompAltstepInt := 16;
4435 [] any port.check {};
4440 <RESULT IF_PASS COUNT 1>
4441 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4443 <RESULT IF_PASS COUNT 1>
4446 <RESULT IF_PASS POSITIVE>
4447 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4453 .*---------------------------------------------------------------------*
4454 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Component type
4455 .*---------------------------------------------------------------------*
4457 :nl.The implementation does not support the variable initialized with
4458 :nl.another variable in the component type (but it would be possible
4459 :nl.according to TTCN-3 specification ).
4463 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Component type>
4467 <MODULE TTCN ModuleA ModuleA.ttcn>
4469 type component MyCompType {
4470 var integer MyComponentInt := MyCompAltstepInt;
4472 altstep MyCompAltstep( integer MyCompAltstepInt ) runs on MyCompType {
4473 [] any port.check {};
4478 <RESULT IF_PASS COUNT 1>
4479 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4481 <RESULT IF_PASS COUNT 1>
4484 <RESULT IF_PASS POSITIVE>
4485 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4491 .*---------------------------------------------------------------------*
4492 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Control part
4493 .*---------------------------------------------------------------------*
4495 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Control part>
4499 <MODULE TTCN ModuleA ModuleA.ttcn>
4501 type component MyCompType {}
4502 altstep MyCompAltstep( integer MyCompAltstepInt ) runs on MyCompType {
4503 [] any port.check {};
4507 var integer MyControlInt := MyCompAltstepInt;
4511 <RESULT IF_PASS COUNT 1>
4512 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4514 <RESULT IF_PASS COUNT 1>
4517 <RESULT IF_PASS POSITIVE>
4518 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4524 .*---------------------------------------------------------------------*
4525 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Control part
4526 .*---------------------------------------------------------------------*
4528 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Control part>
4532 <MODULE TTCN ModuleA ModuleA.ttcn>
4534 type component MyCompType {}
4535 altstep MyCompAltstep( timer MyCompAltstepTimer ) runs on MyCompType {
4536 [] any port.check {};
4540 MyCompAltstepTimer.start;
4544 <RESULT IF_PASS COUNT 1>
4545 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
4547 <RESULT IF_PASS COUNT 1>
4550 <RESULT IF_PASS POSITIVE>
4551 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4557 .*---------------------------------------------------------------------*
4558 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Function
4559 .*---------------------------------------------------------------------*
4561 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Function>
4565 <MODULE TTCN ModuleA ModuleA.ttcn>
4567 type component MyCompType {}
4568 altstep MyCompAltstep( integer MyCompAltstepInt ) runs on MyCompType {
4569 [] any port.check {};
4572 function MyFunc() return integer {
4573 return MyCompAltstepInt;
4577 <RESULT IF_PASS COUNT 1>
4578 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4580 <RESULT IF_PASS COUNT 1>
4583 <RESULT IF_PASS POSITIVE>
4584 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4590 .*---------------------------------------------------------------------*
4591 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Function
4592 .*---------------------------------------------------------------------*
4594 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Function>
4598 <MODULE TTCN ModuleA ModuleA.ttcn>
4600 type component MyCompType {}
4601 altstep MyCompAltstep( timer MyCompAltstepTimer ) runs on MyCompType {
4602 [] any port.check {};
4606 MyCompAltstepTimer.start;
4610 <RESULT IF_PASS COUNT 1>
4611 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
4613 <RESULT IF_PASS COUNT 1>
4616 <RESULT IF_PASS POSITIVE>
4617 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4623 .*---------------------------------------------------------------------*
4624 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Altstep
4625 .*---------------------------------------------------------------------*
4627 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Altstep>
4631 <MODULE TTCN ModuleA ModuleA.ttcn>
4633 type component MyCompType {}
4634 altstep MyCompAltstep ( integer MyCompAltstepInt ) runs on MyCompType {
4635 [] any port.check {};
4638 altstep MyAltstep () {
4639 var integer MyAltstepInt := MyCompAltstepInt;
4640 [] any port.check {};
4645 <RESULT IF_PASS COUNT 1>
4646 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4648 <RESULT IF_PASS COUNT 1>
4651 <RESULT IF_PASS POSITIVE>
4652 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4658 .*---------------------------------------------------------------------*
4659 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Altstep
4660 .*---------------------------------------------------------------------*
4662 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Altstep>
4666 <MODULE TTCN ModuleA ModuleA.ttcn>
4668 type component MyCompType {}
4669 altstep MyCompAltstep ( timer MyCompAltstepTimer ) runs on MyCompType {
4670 [] any port.check {};
4673 altstep MyAltstep () {
4674 [] MyCompAltstepTimer.timeout {};
4679 <RESULT IF_PASS COUNT 1>
4680 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
4682 <RESULT IF_PASS COUNT 1>
4685 <RESULT IF_PASS POSITIVE>
4686 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4692 .*---------------------------------------------------------------------*
4693 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Function_runs_on
4694 .*---------------------------------------------------------------------*
4696 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Function_runs_on>
4700 <MODULE TTCN ModuleA ModuleA.ttcn>
4702 type component MyCompType {}
4703 function MyCompFunc() runs on MyCompType {
4704 var integer MyCompFuncInt := MyCompAltstepInt;
4706 altstep MyCompAltstep( integer MyCompAltstepInt ) runs on MyCompType {
4707 [] any port.check {};
4712 <RESULT IF_PASS COUNT 1>
4713 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4715 <RESULT IF_PASS COUNT 1>
4718 <RESULT IF_PASS POSITIVE>
4719 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4725 .*---------------------------------------------------------------------*
4726 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Function_runs_on
4727 .*---------------------------------------------------------------------*
4729 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Function_runs_on>
4733 <MODULE TTCN ModuleA ModuleA.ttcn>
4735 type component MyCompType {}
4736 function MyCompFunc() runs on MyCompType {
4737 MyCompAltstepTimer.start;
4739 altstep MyCompAltstep( timer MyCompAltstepTimer ) runs on MyCompType {
4740 [] any port.check {};
4745 <RESULT IF_PASS COUNT 1>
4746 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
4748 <RESULT IF_PASS COUNT 1>
4751 <RESULT IF_PASS POSITIVE>
4752 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4758 .*---------------------------------------------------------------------*
4759 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Testcase
4760 .*---------------------------------------------------------------------*
4762 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (value parameter) -> Testcase>
4766 <MODULE TTCN ModuleA ModuleA.ttcn>
4768 type component MyCompType {}
4769 altstep MyCompAltstep( integer MyCompAltstepInt ) runs on MyCompType {
4770 [] any port.check {};
4773 testcase MyTestcase() runs on MyCompType {
4774 var integer MyTestcaseInt := MyCompAltstepInt;
4778 <RESULT IF_PASS COUNT 1>
4779 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4781 <RESULT IF_PASS COUNT 1>
4784 <RESULT IF_PASS POSITIVE>
4785 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4791 .*---------------------------------------------------------------------*
4792 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Testcase
4793 .*---------------------------------------------------------------------*
4795 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on (timer parameter) -> Testcase>
4799 <MODULE TTCN ModuleA ModuleA.ttcn>
4801 type component MyCompType {}
4802 altstep MyCompAltstep( timer MyCompAltstepTimer ) runs on MyCompType {
4803 [] any port.check {};
4806 testcase MyTestcase() runs on MyCompType {
4807 MyCompAltstepTimer.start;
4811 <RESULT IF_PASS COUNT 1>
4812 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
4814 <RESULT IF_PASS COUNT 1>
4817 <RESULT IF_PASS POSITIVE>
4818 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4824 .*---------------------------------------------------------------------*
4825 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Control part
4826 .*---------------------------------------------------------------------*
4828 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Control part>
4832 <MODULE TTCN ModuleA ModuleA.ttcn>
4834 type component MyCompType {}
4835 altstep MyCompAltstep() runs on MyCompType {
4836 const integer MyCompAltstepIntConst := 16;
4837 [] any port.check {};
4841 const integer MyControlIntConst := MyCompAltstepIntConst;
4845 <RESULT IF_PASS COUNT 1>
4846 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntConst
4848 <RESULT IF_PASS COUNT 1>
4851 <RESULT IF_PASS POSITIVE>
4852 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4858 .*---------------------------------------------------------------------*
4859 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Control part
4860 .*---------------------------------------------------------------------*
4862 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Control part>
4866 <MODULE TTCN ModuleA ModuleA.ttcn>
4868 type component MyCompType {}
4869 altstep MyCompAltstep() runs on MyCompType {
4870 var integer MyCompAltstepInt := 16;
4871 [] any port.check {};
4875 var integer MyControlInt := MyCompAltstepInt;
4879 <RESULT IF_PASS COUNT 1>
4880 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4882 <RESULT IF_PASS COUNT 1>
4885 <RESULT IF_PASS POSITIVE>
4886 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4892 .*---------------------------------------------------------------------*
4893 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Control part
4894 .*---------------------------------------------------------------------*
4896 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Control part>
4900 <MODULE TTCN ModuleA ModuleA.ttcn>
4902 type component MyCompType {}
4903 altstep MyCompAltstep() runs on MyCompType {
4904 timer MyCompAltstepTimer := 16.7;
4905 [] any port.check {};
4909 MyCompAltstepTimer.start;
4913 <RESULT IF_PASS COUNT 1>
4914 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
4916 <RESULT IF_PASS COUNT 1>
4919 <RESULT IF_PASS POSITIVE>
4920 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4926 .*---------------------------------------------------------------------*
4927 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Function
4928 .*---------------------------------------------------------------------*
4930 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Function>
4934 <MODULE TTCN ModuleA ModuleA.ttcn>
4936 type component MyCompType {}
4937 altstep MyCompAltstep() runs on MyCompType {
4938 const integer MyCompAltstepIntConst := 16;
4939 [] any port.check {};
4942 function MyFunc() return integer {
4943 return MyCompAltstepIntConst;
4947 <RESULT IF_PASS COUNT 1>
4948 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntConst
4950 <RESULT IF_PASS COUNT 1>
4953 <RESULT IF_PASS POSITIVE>
4954 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4960 .*---------------------------------------------------------------------*
4961 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Function
4962 .*---------------------------------------------------------------------*
4964 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Function>
4968 <MODULE TTCN ModuleA ModuleA.ttcn>
4970 type component MyCompType {}
4971 altstep MyCompAltstep() runs on MyCompType {
4972 var integer MyCompAltstepInt := 16;
4973 [] any port.check {};
4976 function MyFunc() return integer {
4977 return MyCompAltstepInt;
4981 <RESULT IF_PASS COUNT 1>
4982 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
4984 <RESULT IF_PASS COUNT 1>
4987 <RESULT IF_PASS POSITIVE>
4988 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4994 .*---------------------------------------------------------------------*
4995 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Function
4996 .*---------------------------------------------------------------------*
4998 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Function>
5002 <MODULE TTCN ModuleA ModuleA.ttcn>
5004 type component MyCompType {}
5005 altstep MyCompAltstep() runs on MyCompType {
5006 timer MyCompAltstepTimer := 16.8;
5007 [] any port.check {};
5011 MyCompAltstepTimer.start;
5015 <RESULT IF_PASS COUNT 1>
5016 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
5018 <RESULT IF_PASS COUNT 1>
5021 <RESULT IF_PASS POSITIVE>
5022 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5028 .*---------------------------------------------------------------------*
5029 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Altstep
5030 .*---------------------------------------------------------------------*
5032 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Altstep>
5036 <MODULE TTCN ModuleA ModuleA.ttcn>
5038 type component MyCompType {}
5039 altstep MyCompAltstep () runs on MyCompType {
5040 const integer MyCompAltstepIntConst := 16;
5041 [] any port.check {};
5044 altstep MyAltstep () {
5045 const integer MyAltstepIntConst := MyCompAltstepIntConst;
5046 [] any port.check {};
5051 <RESULT IF_PASS COUNT 1>
5052 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntConst
5054 <RESULT IF_PASS COUNT 1>
5057 <RESULT IF_PASS POSITIVE>
5058 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5064 .*---------------------------------------------------------------------*
5065 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Altstep
5066 .*---------------------------------------------------------------------*
5068 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Altstep>
5072 <MODULE TTCN ModuleA ModuleA.ttcn>
5074 type component MyCompType {}
5075 altstep MyCompAltstep () runs on MyCompType {
5076 var integer MyCompAltstepInt := 16;
5077 [] any port.check {};
5080 altstep MyAltstep () {
5081 var integer MyAltstepInt := MyCompAltstepInt;
5082 [] any port.check {};
5087 <RESULT IF_PASS COUNT 1>
5088 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
5090 <RESULT IF_PASS COUNT 1>
5093 <RESULT IF_PASS POSITIVE>
5094 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5100 .*---------------------------------------------------------------------*
5101 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Altstep
5102 .*---------------------------------------------------------------------*
5104 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Altstep>
5108 <MODULE TTCN ModuleA ModuleA.ttcn>
5110 type component MyCompType {}
5111 altstep MyCompAltstep () runs on MyCompType {
5112 timer MyCompAltstepTimer := 16.9;
5113 [] any port.check {};
5116 altstep MyAltstep () {
5117 [] MyCompAltstepTimer.timeout {};
5122 <RESULT IF_PASS COUNT 1>
5123 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
5125 <RESULT IF_PASS COUNT 1>
5128 <RESULT IF_PASS POSITIVE>
5129 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5135 .*---------------------------------------------------------------------*
5136 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Function_runs_on
5137 .*---------------------------------------------------------------------*
5139 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Function_runs_on>
5143 <MODULE TTCN ModuleA ModuleA.ttcn>
5145 type component MyCompType {}
5146 function MyCompFunc() runs on MyCompType {
5147 const integer MyCompFuncIntConst := MyCompAltstepIntConst;
5149 altstep MyCompAltstep() runs on MyCompType {
5150 const integer MyCompAltstepIntConst := 16;
5151 [] any port.check {};
5156 <RESULT IF_PASS COUNT 1>
5157 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntConst
5159 <RESULT IF_PASS COUNT 1>
5162 <RESULT IF_PASS POSITIVE>
5163 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5169 .*---------------------------------------------------------------------*
5170 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Function_runs_on
5171 .*---------------------------------------------------------------------*
5173 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Function_runs_on>
5177 <MODULE TTCN ModuleA ModuleA.ttcn>
5179 type component MyCompType {}
5180 function MyCompFunc() runs on MyCompType {
5181 var integer MyCompFuncInt := MyCompAltstepInt;
5183 altstep MyCompAltstep() runs on MyCompType {
5184 var integer MyCompAltstepInt := 16;
5185 [] any port.check {};
5190 <RESULT IF_PASS COUNT 1>
5191 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
5193 <RESULT IF_PASS COUNT 1>
5196 <RESULT IF_PASS POSITIVE>
5197 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5203 .*---------------------------------------------------------------------*
5204 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Function_runs_on
5205 .*---------------------------------------------------------------------*
5207 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Function_runs_on>
5211 <MODULE TTCN ModuleA ModuleA.ttcn>
5213 type component MyCompType {}
5214 function MyCompFunc() runs on MyCompType {
5215 MyCompAltstepTimer.start;
5217 altstep MyCompAltstep() runs on MyCompType {
5218 timer MyCompAltstepTimer := 16.3;
5219 [] any port.check {};
5224 <RESULT IF_PASS COUNT 1>
5225 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
5227 <RESULT IF_PASS COUNT 1>
5230 <RESULT IF_PASS POSITIVE>
5231 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5237 .*---------------------------------------------------------------------*
5238 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Testcase
5239 .*---------------------------------------------------------------------*
5241 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: const definition -> Testcase>
5245 <MODULE TTCN ModuleA ModuleA.ttcn>
5247 type component MyCompType {}
5248 altstep MyCompAltstep() runs on MyCompType {
5249 const integer MyCompAltstepIntConst := 16;
5250 [] any port.check {};
5253 testcase MyTestcase() runs on MyCompType {
5254 const integer MyTestcaseIntConst := MyCompAltstepIntConst;
5258 <RESULT IF_PASS COUNT 1>
5259 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepIntConst
5261 <RESULT IF_PASS COUNT 1>
5264 <RESULT IF_PASS POSITIVE>
5265 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5271 .*---------------------------------------------------------------------*
5272 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Testcase
5273 .*---------------------------------------------------------------------*
5275 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: var definition -> Testcase>
5279 <MODULE TTCN ModuleA ModuleA.ttcn>
5281 type component MyCompType {}
5282 altstep MyCompAltstep() runs on MyCompType {
5283 var integer MyCompAltstepInt := 16;
5284 [] any port.check {};
5287 testcase MyTestcase() runs on MyCompType {
5288 var integer MyTestcaseInt := MyCompAltstepInt;
5292 <RESULT IF_PASS COUNT 1>
5293 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepInt
5295 <RESULT IF_PASS COUNT 1>
5298 <RESULT IF_PASS POSITIVE>
5299 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5305 .*---------------------------------------------------------------------*
5306 :h3.TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Testcase
5307 .*---------------------------------------------------------------------*
5309 <TC - TTCN-3::ScopeUnits-> Altstep_runs_on: timer definition -> Testcase>
5313 <MODULE TTCN ModuleA ModuleA.ttcn>
5315 type component MyCompType {}
5316 altstep MyCompAltstep() runs on MyCompType {
5317 timer MyCompAltstepTimer := 16.2;
5318 [] any port.check {};
5321 testcase MyTestcase() runs on MyCompType {
5322 MyCompAltstepTimer.start;
5326 <RESULT IF_PASS COUNT 1>
5327 (?im)\berror\b.+?no.+?definition.+?MyCompAltstepTimer
5329 <RESULT IF_PASS COUNT 1>
5332 <RESULT IF_PASS POSITIVE>
5333 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5339 .*---------------------------------------------------------------------*
5340 :h3.TTCN-3::ScopeUnits-> Testcase: embedded case -- const definition
5341 .*---------------------------------------------------------------------*
5343 <TC - TTCN-3::ScopeUnits-> Testcase: embedded case -- const definition>
5347 <MODULE TTCN ModuleA ModuleA.ttcn>
5349 type component MyCompType {}
5350 testcase MyTestcase() runs on MyCompType {
5352 const integer MyTestcaseIntConstE := 25;
5354 if ( MyTestcaseIntConstE == 0 ) {};
5358 <RESULT IF_PASS COUNT 1>
5359 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntConstE
5361 <RESULT IF_PASS COUNT 1>
5364 <RESULT IF_PASS POSITIVE>
5365 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5371 .*---------------------------------------------------------------------*
5372 :h3.TTCN-3::ScopeUnits-> Testcase: embedded case -- var definition
5373 .*---------------------------------------------------------------------*
5375 <TC - TTCN-3::ScopeUnits-> Testcase: embedded case -- var definition>
5379 <MODULE TTCN ModuleA ModuleA.ttcn>
5381 type component MyCompType {}
5382 testcase MyTestcase() runs on MyCompType {
5384 var integer MyTestcaseIntE := 25;
5386 if ( MyTestcaseIntE == 0 ) {};
5390 <RESULT IF_PASS COUNT 1>
5391 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntE
5393 <RESULT IF_PASS COUNT 1>
5396 <RESULT IF_PASS POSITIVE>
5397 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5403 .*---------------------------------------------------------------------*
5404 :h3.TTCN-3::ScopeUnits-> Testcase: embedded case -- timer definition
5405 .*---------------------------------------------------------------------*
5407 <TC - TTCN-3::ScopeUnits-> Testcase: embedded case -- timer definition>
5411 <MODULE TTCN ModuleA ModuleA.ttcn>
5413 type component MyCompType {}
5414 testcase MyTestcase() runs on MyCompType {
5416 timer MyTestcaseTimerE := 25.9;
5418 MyTestcaseTimerE.start;
5422 <RESULT IF_PASS COUNT 1>
5423 (?im)\berror\b.+?no.+?definition.+?MyTestcaseTimerE
5425 <RESULT IF_PASS COUNT 1>
5428 <RESULT IF_PASS POSITIVE>
5429 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5435 .*---------------------------------------------------------------------*
5436 :h3.TTCN-3::ScopeUnits-> Testcase: const definition -> Component type
5437 .*---------------------------------------------------------------------*
5439 <TC - TTCN-3::ScopeUnits-> Testcase: const definition -> Component type>
5443 <MODULE TTCN ModuleA ModuleA.ttcn>
5445 type component MyCompType {
5446 const integer MyComponentIntConst := MyTestcaseIntConst;
5448 testcase MyTestcase() runs on MyCompType {
5449 const integer MyTestcaseIntConst := 25;
5453 <RESULT IF_PASS COUNT 1>
5454 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntConst
5456 <RESULT IF_PASS COUNT 1>
5459 <RESULT IF_PASS POSITIVE>
5460 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5466 .*---------------------------------------------------------------------*
5467 :h3.TTCN-3::ScopeUnits-> Testcase: var definition -> Component type
5468 .*---------------------------------------------------------------------*
5470 :nl.The implementation does not support the variable initialized with
5471 :nl.another variable in the component type (but it would be possible
5472 :nl.according to TTCN-3 specification ).
5476 <TC - TTCN-3::ScopeUnits-> Testcase: var definition -> Component type>
5480 <MODULE TTCN ModuleA ModuleA.ttcn>
5482 type component MyCompType {
5483 var integer MyComponentInt := MyTestcaseInt;
5485 testcase MyTestcase() runs on MyCompType {
5486 var integer MyTestcaseInt := 25;
5490 <RESULT IF_PASS COUNT 1>
5491 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5493 <RESULT IF_PASS COUNT 1>
5496 <RESULT IF_PASS POSITIVE>
5497 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5503 .*---------------------------------------------------------------------*
5504 :h3.TTCN-3::ScopeUnits-> Testcase (value parameter) -> Component type
5505 .*---------------------------------------------------------------------*
5507 :nl.The implementation does not support the variable initialized with
5508 :nl.another variable in the component type (but it would be possible
5509 :nl.according to TTCN-3 specification ).
5513 <TC - TTCN-3::ScopeUnits-> Testcase (value parameter) -> Component type>
5517 <MODULE TTCN ModuleA ModuleA.ttcn>
5519 type component MyCompType {
5520 var integer MyComponentInt := MyTestcaseInt;
5522 testcase MyTestcase( integer MyTestcaseInt ) runs on MyCompType {}
5525 <RESULT IF_PASS COUNT 1>
5526 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5528 <RESULT IF_PASS COUNT 1>
5531 <RESULT IF_PASS POSITIVE>
5532 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5538 .*---------------------------------------------------------------------*
5539 :h3.TTCN-3::ScopeUnits-> Testcase (value parameter) -> Control part
5540 .*---------------------------------------------------------------------*
5542 <TC - TTCN-3::ScopeUnits-> Testcase (value parameter) -> Control part>
5546 <MODULE TTCN ModuleA ModuleA.ttcn>
5548 type component MyCompType {}
5549 testcase MyTestcase( integer MyTestcaseInt ) runs on MyCompType {}
5551 var integer MyControlInt := MyTestcaseInt;
5555 <RESULT IF_PASS COUNT 1>
5556 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5558 <RESULT IF_PASS COUNT 1>
5561 <RESULT IF_PASS POSITIVE>
5562 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5568 .*---------------------------------------------------------------------*
5569 :h3.TTCN-3::ScopeUnits-> Testcase (value parameter) -> Function
5570 .*---------------------------------------------------------------------*
5572 <TC - TTCN-3::ScopeUnits-> Testcase (value parameter) -> Function>
5576 <MODULE TTCN ModuleA ModuleA.ttcn>
5578 type component MyCompType {}
5579 testcase MyTestcase( integer MyTestcaseInt ) runs on MyCompType {}
5580 function MyFunc() return integer {
5581 return MyTestcaseInt;
5585 <RESULT IF_PASS COUNT 1>
5586 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5588 <RESULT IF_PASS COUNT 1>
5591 <RESULT IF_PASS POSITIVE>
5592 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5598 .*---------------------------------------------------------------------*
5599 :h3.TTCN-3::ScopeUnits-> Testcase (value parameter) -> Altstep
5600 .*---------------------------------------------------------------------*
5602 <TC - TTCN-3::ScopeUnits-> Testcase (value parameter) -> Altstep>
5606 <MODULE TTCN ModuleA ModuleA.ttcn>
5608 type component MyCompType {}
5609 testcase MyTestcase( integer MyTestcaseInt ) runs on MyCompType {}
5610 altstep MyAltstep () {
5611 var integer MyAltstepInt := MyTestcaseInt;
5612 [] any port.check {};
5617 <RESULT IF_PASS COUNT 1>
5618 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5620 <RESULT IF_PASS COUNT 1>
5623 <RESULT IF_PASS POSITIVE>
5624 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5630 .*---------------------------------------------------------------------*
5631 :h3.TTCN-3::ScopeUnits-> Testcase (value parameter) -> Function_runs_on
5632 .*---------------------------------------------------------------------*
5634 <TC - TTCN-3::ScopeUnits-> Testcase (value parameter) -> Function_runs_on>
5638 <MODULE TTCN ModuleA ModuleA.ttcn>
5640 type component MyCompType {}
5641 function MyCompFunc() runs on MyCompType return integer {
5642 return MyTestcaseInt;
5644 testcase MyTestcase( integer MyTestcaseInt ) runs on MyCompType {}
5647 <RESULT IF_PASS COUNT 1>
5648 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5650 <RESULT IF_PASS COUNT 1>
5653 <RESULT IF_PASS POSITIVE>
5654 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5660 .*---------------------------------------------------------------------*
5661 :h3.TTCN-3::ScopeUnits-> Testcase (value parameter) -> Altstep_runs_on
5662 .*---------------------------------------------------------------------*
5664 <TC - TTCN-3::ScopeUnits-> Testcase (value parameter) -> Altstep_runs_on>
5668 <MODULE TTCN ModuleA ModuleA.ttcn>
5670 type component MyCompType {}
5671 testcase MyTestcase( integer MyTestcaseInt ) runs on MyCompType {}
5672 altstep MyCompAltstep() runs on MyCompType {
5673 var integer MyCompAltstepInt := MyTestcaseInt;
5674 [] any port.check {};
5679 <RESULT IF_PASS COUNT 1>
5680 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5682 <RESULT IF_PASS COUNT 1>
5685 <RESULT IF_PASS POSITIVE>
5686 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5692 .*---------------------------------------------------------------------*
5693 :h3.TTCN-3::ScopeUnits-> Testcase: const definition -> Control part
5694 .*---------------------------------------------------------------------*
5696 <TC - TTCN-3::ScopeUnits-> Testcase: const definition -> Control part>
5700 <MODULE TTCN ModuleA ModuleA.ttcn>
5702 type component MyCompType {}
5703 testcase MyTestcase() runs on MyCompType {
5704 const integer MyTestcaseIntConst := 25;
5707 const integer MyControlIntConst := MyTestcaseIntConst;
5711 <RESULT IF_PASS COUNT 1>
5712 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntConst
5714 <RESULT IF_PASS COUNT 1>
5717 <RESULT IF_PASS POSITIVE>
5718 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5724 .*---------------------------------------------------------------------*
5725 :h3.TTCN-3::ScopeUnits-> Testcase: var definition -> Control part
5726 .*---------------------------------------------------------------------*
5728 <TC - TTCN-3::ScopeUnits-> Testcase: var definition -> Control part>
5732 <MODULE TTCN ModuleA ModuleA.ttcn>
5734 type component MyCompType {}
5735 testcase MyTestcase() runs on MyCompType {
5736 var integer MyTestcaseInt := 25;
5739 var integer MyControlInt := MyTestcaseInt;
5743 <RESULT IF_PASS COUNT 1>
5744 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5746 <RESULT IF_PASS COUNT 1>
5749 <RESULT IF_PASS POSITIVE>
5750 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5756 .*---------------------------------------------------------------------*
5757 :h3.TTCN-3::ScopeUnits-> Testcase: timer definition -> Control part
5758 .*---------------------------------------------------------------------*
5760 <TC - TTCN-3::ScopeUnits-> Testcase: timer definition -> Control part>
5764 <MODULE TTCN ModuleA ModuleA.ttcn>
5766 type component MyCompType {}
5767 testcase MyTestcase() runs on MyCompType {
5768 timer MyTestcaseTimer := 25.5;
5771 MyTestcaseTimer.start;
5775 <RESULT IF_PASS COUNT 1>
5776 (?im)\berror\b.+?no.+?definition.+?MyTestcaseTimer
5778 <RESULT IF_PASS COUNT 1>
5781 <RESULT IF_PASS POSITIVE>
5782 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5788 .*---------------------------------------------------------------------*
5789 :h3.TTCN-3::ScopeUnits-> Testcase: const definition -> Function
5790 .*---------------------------------------------------------------------*
5792 <TC - TTCN-3::ScopeUnits-> Testcase: const definition -> Function>
5796 <MODULE TTCN ModuleA ModuleA.ttcn>
5798 type component MyCompType {}
5799 testcase MyTestcase() runs on MyCompType {
5800 const integer MyTestcaseIntConst := 25;
5802 function MyFunc() return integer {
5803 return MyTestcaseIntConst;
5807 <RESULT IF_PASS COUNT 1>
5808 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntConst
5810 <RESULT IF_PASS COUNT 1>
5813 <RESULT IF_PASS POSITIVE>
5814 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5820 .*---------------------------------------------------------------------*
5821 :h3.TTCN-3::ScopeUnits-> Testcase: var definition -> Function
5822 .*---------------------------------------------------------------------*
5824 <TC - TTCN-3::ScopeUnits-> Testcase: var definition -> Function>
5828 <MODULE TTCN ModuleA ModuleA.ttcn>
5830 type component MyCompType {}
5831 testcase MyTestcase() runs on MyCompType {
5832 var integer MyTestcaseInt := 25;
5834 function MyFunc() return integer {
5835 return MyTestcaseInt;
5839 <RESULT IF_PASS COUNT 1>
5840 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5842 <RESULT IF_PASS COUNT 1>
5845 <RESULT IF_PASS POSITIVE>
5846 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5852 .*---------------------------------------------------------------------*
5853 :h3.TTCN-3::ScopeUnits-> Testcase: timer definition -> Function
5854 .*---------------------------------------------------------------------*
5856 <TC - TTCN-3::ScopeUnits-> Testcase: timer definition -> Function>
5860 <MODULE TTCN ModuleA ModuleA.ttcn>
5862 type component MyCompType {}
5863 testcase MyTestcase() runs on MyCompType {
5864 timer MyTestcaseTimer := 25.8;
5867 MyTestcaseTimer.start;
5871 <RESULT IF_PASS COUNT 1>
5872 (?im)\berror\b.+?no.+?definition.+?MyTestcaseTimer
5874 <RESULT IF_PASS COUNT 1>
5877 <RESULT IF_PASS POSITIVE>
5878 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5884 .*---------------------------------------------------------------------*
5885 :h3.TTCN-3::ScopeUnits-> Testcase: const definition -> Altstep
5886 .*---------------------------------------------------------------------*
5888 <TC - TTCN-3::ScopeUnits-> Testcase: const definition -> Altstep>
5892 <MODULE TTCN ModuleA ModuleA.ttcn>
5894 type component MyCompType {}
5895 testcase MyTestcase() runs on MyCompType {
5896 const integer MyTestcaseIntConst := 25;
5898 altstep MyAltstep () {
5899 const integer MyAltstepIntConst := MyTestcaseIntConst;
5900 [] any port.check {};
5905 <RESULT IF_PASS COUNT 1>
5906 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntConst
5908 <RESULT IF_PASS COUNT 1>
5911 <RESULT IF_PASS POSITIVE>
5912 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5918 .*---------------------------------------------------------------------*
5919 :h3.TTCN-3::ScopeUnits-> Testcase: var definition -> Altstep
5920 .*---------------------------------------------------------------------*
5922 <TC - TTCN-3::ScopeUnits-> Testcase: var definition -> Altstep>
5926 <MODULE TTCN ModuleA ModuleA.ttcn>
5928 type component MyCompType {}
5929 testcase MyTestcase() runs on MyCompType {
5930 var integer MyTestcaseInt := 25;
5932 altstep MyAltstep () {
5933 var integer MyAltstepInt := MyTestcaseInt;
5934 [] any port.check {};
5939 <RESULT IF_PASS COUNT 1>
5940 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
5942 <RESULT IF_PASS COUNT 1>
5945 <RESULT IF_PASS POSITIVE>
5946 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5952 .*---------------------------------------------------------------------*
5953 :h3.TTCN-3::ScopeUnits-> Testcase: timer definition -> Altstep
5954 .*---------------------------------------------------------------------*
5956 <TC - TTCN-3::ScopeUnits-> Testcase: timer definition -> Altstep>
5960 <MODULE TTCN ModuleA ModuleA.ttcn>
5962 type component MyCompType {}
5963 testcase MyTestcase() runs on MyCompType {
5964 timer MyTestcaseTimer := 25.7;
5966 altstep MyAltstep () {
5967 [] MyTestcaseTimer.timeout {};
5972 <RESULT IF_PASS COUNT 1>
5973 (?im)\berror\b.+?no.+?definition.+?MyTestcaseTimer
5975 <RESULT IF_PASS COUNT 1>
5978 <RESULT IF_PASS POSITIVE>
5979 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5985 .*---------------------------------------------------------------------*
5986 :h3.TTCN-3::ScopeUnits-> Testcase: const definition -> Function_runs_on
5987 .*---------------------------------------------------------------------*
5989 <TC - TTCN-3::ScopeUnits-> Testcase: const definition -> Function_runs_on>
5993 <MODULE TTCN ModuleA ModuleA.ttcn>
5995 type component MyCompType {}
5996 function MyCompFunc() runs on MyCompType return integer {
5997 return MyTestcaseIntConst;
5999 testcase MyTestcase() runs on MyCompType {
6000 const integer MyTestcaseIntConst := 25;
6004 <RESULT IF_PASS COUNT 1>
6005 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntConst
6007 <RESULT IF_PASS COUNT 1>
6010 <RESULT IF_PASS POSITIVE>
6011 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6017 .*---------------------------------------------------------------------*
6018 :h3.TTCN-3::ScopeUnits-> Testcase: var definition -> Function_runs_on
6019 .*---------------------------------------------------------------------*
6021 <TC - TTCN-3::ScopeUnits-> Testcase: var definition -> Function_runs_on>
6025 <MODULE TTCN ModuleA ModuleA.ttcn>
6027 type component MyCompType {}
6028 function MyCompFunc() runs on MyCompType return integer {
6029 return MyTestcaseInt;
6031 testcase MyTestcase() runs on MyCompType {
6032 var integer MyTestcaseInt := 25;
6036 <RESULT IF_PASS COUNT 1>
6037 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
6039 <RESULT IF_PASS COUNT 1>
6042 <RESULT IF_PASS POSITIVE>
6043 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6049 .*---------------------------------------------------------------------*
6050 :h3.TTCN-3::ScopeUnits-> Testcase: timer definition -> Function_runs_on
6051 .*---------------------------------------------------------------------*
6053 <TC - TTCN-3::ScopeUnits-> Testcase: timer definition -> Function_runs_on>
6057 <MODULE TTCN ModuleA ModuleA.ttcn>
6059 type component MyCompType {}
6060 function MyCompFunc() runs on MyCompType {
6061 MyTestcaseTimer.start;
6063 testcase MyTestcase() runs on MyCompType {
6064 timer MyTestcaseTimer := 25.3;
6068 <RESULT IF_PASS COUNT 1>
6069 (?im)\berror\b.+?no.+?definition.+?MyTestcaseTimer
6071 <RESULT IF_PASS COUNT 1>
6074 <RESULT IF_PASS POSITIVE>
6075 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6081 .*---------------------------------------------------------------------*
6082 :h3.TTCN-3::ScopeUnits-> Testcase: const definition -> Altstep_runs_on
6083 .*---------------------------------------------------------------------*
6085 <TC - TTCN-3::ScopeUnits-> Testcase: const definition -> Altstep_runs_on>
6089 <MODULE TTCN ModuleA ModuleA.ttcn>
6091 type component MyCompType {}
6092 testcase MyTestcase() runs on MyCompType {
6093 const integer MyTestcaseIntConst := 25;
6095 altstep MyCompAltstep() runs on MyCompType {
6096 const integer MyCompAltstepIntConst := MyTestcaseIntConst;
6097 [] any port.check {};
6102 <RESULT IF_PASS COUNT 1>
6103 (?im)\berror\b.+?no.+?definition.+?MyTestcaseIntConst
6105 <RESULT IF_PASS COUNT 1>
6108 <RESULT IF_PASS POSITIVE>
6109 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6115 .*---------------------------------------------------------------------*
6116 :h3.TTCN-3::ScopeUnits-> Testcase: var definition -> Altstep_runs_on
6117 .*---------------------------------------------------------------------*
6119 <TC - TTCN-3::ScopeUnits-> Testcase: var definition -> Altstep_runs_on>
6123 <MODULE TTCN ModuleA ModuleA.ttcn>
6125 type component MyCompType {}
6126 testcase MyTestcase() runs on MyCompType {
6127 var integer MyTestcaseInt := 25;
6129 altstep MyCompAltstep() runs on MyCompType {
6130 var integer MyCompAltstepInt := MyTestcaseInt;
6131 [] any port.check {};
6136 <RESULT IF_PASS COUNT 1>
6137 (?im)\berror\b.+?no.+?definition.+?MyTestcaseInt
6139 <RESULT IF_PASS COUNT 1>
6142 <RESULT IF_PASS POSITIVE>
6143 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6149 .*---------------------------------------------------------------------*
6150 :h3.TTCN-3::ScopeUnits-> Testcase: timer definition -> Altstep_runs_on
6151 .*---------------------------------------------------------------------*
6153 <TC - TTCN-3::ScopeUnits-> Testcase: timer definition -> Altstep_runs_on>
6157 <MODULE TTCN ModuleA ModuleA.ttcn>
6159 type component MyCompType {}
6160 testcase MyTestcase() runs on MyCompType {
6161 timer MyTestcaseTimer := 25.1;
6163 altstep MyCompAltstep() runs on MyCompType {
6164 [] MyTestcaseTimer.timeout {};
6169 <RESULT IF_PASS COUNT 1>
6170 (?im)\berror\b.+?no.+?definition.+?MyTestcaseTimer
6172 <RESULT IF_PASS COUNT 1>
6175 <RESULT IF_PASS POSITIVE>
6176 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6182 .*---------------------------------------------------------------------*
6183 :h3.TTCN-3::ScopeUnits-> For statement
6184 .*---------------------------------------------------------------------*
6186 :nl.The index variable of a for loop can be declared before being used
6187 in the for statement or can be declared and initialized in the for
6188 statement header. If the index variable is declared and initialized
6189 in the for statement header, the scope of the index variable is limited
6190 to the loop body, i.e. it is only visible inside the loop body.
6194 <TC - TTCN-3::ScopeUnits-> For statement>
6198 <MODULE TTCN ModuleA ModuleA.ttcn>
6201 var integer counter1;
6202 for ( counter1:=1; counter1 < 7; counter1 := counter1+1 ) {
6203 var integer x1 := counter1;
6205 for ( var float counter2:=11.7; counter2 > 4.0; counter2 := counter2-1.35 ) {
6206 var integer x1 := counter1;
6207 var float x2 := counter2;
6209 if ( counter2 < 6.0) {
6215 <RESULT IF_PASS COUNT 1>
6216 (?im)\berror\b.+?no.+?local.+?or.+?imported.+?definition.+?counter2
6218 <RESULT IF_PASS COUNT 1>
6221 <RESULT IF_PASS POSITIVE>
6222 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6229 .*---------------------------------------------------------------------*
6230 :h2.Identifier overloading
6231 .*---------------------------------------------------------------------*
6232 :nl.This test case group covers the requirement SA-3/2.
6234 :nl.TTCN-3 does not support overloading of identifiers i.e. all identifiers
6235 in the same scope hierarchy shall be unique.
6238 :nl.- The type and const definition is checked in MDP.
6239 :nl.- Every bubble is checked with its all children (from left to right).
6240 :nl.- The whole branch is checked if a bubble has only one child.
6241 :nl.- We checked "const" identifier (definition), integer identifier
6242 (parameter) and other identifiers (e.g. function identifier).
6247 :nl. - Definition of a const in MDP is compared to the identifier in MCP,
6251 :nl. - The FUN identifier (name) is checked in the function's parameter list.
6252 :nl. - The value parameter (integer) is checked in the BS.
6254 :nl. FUN's BS bubble:
6255 :nl. - Definition of a const is checked in the FUN's EBS.
6257 .*---------------------------------------------------------------------*
6258 :h3.TTCN-3::IdentifierOverloading->Same type identifier: definitions part
6259 .*---------------------------------------------------------------------*
6261 <TC - TTCN-3::IdentifierOverloading->Same type identifier: definitions part>
6265 <MODULE TTCN ModuleA ModuleA.ttcn>
6271 <RESULT IF_PASS COUNT 1>
6272 (?im)\berror\b.+?Duplicate.+?MyId
6274 <RESULT IF_PASS COUNT 1>
6275 (?im)\bnote\b.+?Previous.+?MyId.+?here
6277 <RESULT IF_PASS COUNT 1>
6280 <RESULT IF_PASS POSITIVE>
6281 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6287 .*---------------------------------------------------------------------*
6288 :h3.TTCN-3::IdentifierOverloading->Same type and const id.: definitions part
6289 .*---------------------------------------------------------------------*
6291 <TC - TTCN-3::IdentifierOverloading->Same type and const id.: definitions part>
6295 <MODULE TTCN ModuleA ModuleA.ttcn>
6298 const integer MyId := 1;
6301 <RESULT IF_PASS COUNT 1>
6302 (?im)\berror\b.+?Duplicate.+?MyId
6304 <RESULT IF_PASS COUNT 1>
6305 (?im)\bnote\b.+?Previous.+?MyId.+?here
6307 <RESULT IF_PASS COUNT 1>
6310 <RESULT IF_PASS POSITIVE>
6311 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6317 .*---------------------------------------------------------------------*
6318 :h3.TTCN-3::IdentifierOverloading->Same const id.: definitions part--control part
6319 .*---------------------------------------------------------------------*
6321 <TC - TTCN-3::IdentifierOverloading->Same const id.: definitions part--control part>
6325 <MODULE TTCN ModuleA ModuleA.ttcn>
6327 const integer MyIntConst := 1;
6329 const integer MyIntConst := 4;
6333 <RESULT IF_PASS COUNT 1>
6334 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6336 <RESULT IF_PASS COUNT 1>
6337 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6339 <RESULT IF_PASS COUNT 1>
6342 <RESULT IF_PASS POSITIVE>
6343 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6349 .*---------------------------------------------------------------------*
6350 :h3.TTCN-3::IdentifierOverloading->Definitions part const--component type id.
6351 .*---------------------------------------------------------------------*
6353 <TC - TTCN-3::IdentifierOverloading->Definitions part const--component type id.>
6357 <MODULE TTCN ModuleA ModuleA.ttcn>
6359 const integer MyId := 1;
6360 type component MyId {}
6363 <RESULT IF_PASS COUNT 1>
6364 (?im)\berror\b.+?Duplicate.+?MyId
6366 <RESULT IF_PASS COUNT 1>
6367 (?im)\bnote\b.+?Previous.+?MyId.+?here
6369 <RESULT IF_PASS COUNT 1>
6372 <RESULT IF_PASS POSITIVE>
6373 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6379 .*---------------------------------------------------------------------*
6380 :h3.TTCN-3::IdentifierOverloading->Same const id.: definitions part--component type
6381 .*---------------------------------------------------------------------*
6383 <TC - TTCN-3::IdentifierOverloading->Same const id.: definitions part--component type>
6387 <MODULE TTCN ModuleA ModuleA.ttcn>
6389 const integer MyIntConst := 1;
6390 type component MyCompType {
6391 const integer MyIntConst := 3;
6395 <RESULT IF_PASS COUNT 1>
6396 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6398 <RESULT IF_PASS COUNT 1>
6399 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6401 <RESULT IF_PASS COUNT 1>
6404 <RESULT IF_PASS POSITIVE>
6405 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6411 .*---------------------------------------------------------------------*
6412 :h3.TTCN-3::IdentifierOverloading->Definitions part const--function identifier
6413 .*---------------------------------------------------------------------*
6415 <TC - TTCN-3::IdentifierOverloading->Definitions part const--function identifier>
6419 <MODULE TTCN ModuleA ModuleA.ttcn>
6421 const integer MyId := 1;
6425 <RESULT IF_PASS COUNT 1>
6426 (?im)\berror\b.+?Duplicate.+?MyId
6428 <RESULT IF_PASS COUNT 1>
6429 (?im)\bnote\b.+?Previous.+?MyId.+?here
6431 <RESULT IF_PASS COUNT 1>
6434 <RESULT IF_PASS POSITIVE>
6435 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6441 .*---------------------------------------------------------------------*
6442 :h3.TTCN-3::IdentifierOverloading->Definitions part const--function parameter
6443 .*---------------------------------------------------------------------*
6445 <TC - TTCN-3::IdentifierOverloading->Definitions part const--function parameter>
6449 <MODULE TTCN ModuleA ModuleA.ttcn>
6451 const integer MyIntConst := 1;
6452 function MyFunc( integer MyIntConst ) {}
6455 <RESULT IF_PASS COUNT 1>
6456 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6458 <RESULT IF_PASS COUNT 1>
6459 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6461 <RESULT IF_PASS COUNT 1>
6464 <RESULT IF_PASS POSITIVE>
6465 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6471 .*---------------------------------------------------------------------*
6472 :h3.TTCN-3::IdentifierOverloading->Definitions part const--altstep identifier
6473 .*---------------------------------------------------------------------*
6475 <TC - TTCN-3::IdentifierOverloading->Definitions part const--altstep identifier>
6479 <MODULE TTCN ModuleA ModuleA.ttcn>
6481 const integer MyId := 1;
6483 [] any port.check {};
6488 <RESULT IF_PASS COUNT 1>
6489 (?im)\berror\b.+?Duplicate.+?MyId
6491 <RESULT IF_PASS COUNT 1>
6492 (?im)\bnote\b.+?Previous.+?MyId.+?here
6494 <RESULT IF_PASS COUNT 1>
6497 <RESULT IF_PASS POSITIVE>
6498 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6504 .*---------------------------------------------------------------------*
6505 :h3.TTCN-3::IdentifierOverloading->Definitions part const--altstep parameter
6506 .*---------------------------------------------------------------------*
6508 <TC - TTCN-3::IdentifierOverloading->Definitions part const--altstep parameter>
6512 <MODULE TTCN ModuleA ModuleA.ttcn>
6514 const integer MyIntConst := 1;
6515 altstep MyAltstep( integer MyIntConst ) {
6516 [] any port.check {};
6521 <RESULT IF_PASS COUNT 1>
6522 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6524 <RESULT IF_PASS COUNT 1>
6525 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6527 <RESULT IF_PASS COUNT 1>
6530 <RESULT IF_PASS POSITIVE>
6531 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6537 .*---------------------------------------------------------------------*
6538 :h3.TTCN-3::IdentifierOverloading->Same const id.: embedded case--control part
6539 .*---------------------------------------------------------------------*
6541 <TC - TTCN-3::IdentifierOverloading->Same const id.: embedded case--control part>
6545 <MODULE TTCN ModuleA ModuleA.ttcn>
6548 const integer MyIntConst := 1;
6550 const integer MyIntConst := 2;
6555 <RESULT IF_PASS COUNT 1>
6556 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6558 <RESULT IF_PASS COUNT 1>
6559 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6561 <RESULT IF_PASS COUNT 1>
6564 <RESULT IF_PASS POSITIVE>
6565 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6571 .*---------------------------------------------------------------------*
6572 :h3.TTCN-3::IdentifierOverloading->Component type const--function_runs_on id.
6573 .*---------------------------------------------------------------------*
6575 <TC - TTCN-3::IdentifierOverloading->Component type const--function_runs_on id.>
6579 <MODULE TTCN ModuleA ModuleA.ttcn>
6581 type component MyCompType {
6582 const integer MyId := 1;
6584 function MyId() runs on MyCompType {}
6587 <RESULT IF_PASS COUNT 1>
6588 (?im)\berror\b.+?MyId.+?not.+?unique
6590 <RESULT IF_PASS COUNT 1>
6591 (?im)\bnote\b.+?MyId.+?higher.+?scope
6593 <RESULT IF_PASS COUNT 1>
6596 <RESULT IF_PASS POSITIVE>
6597 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6603 .*---------------------------------------------------------------------*
6604 :h3.TTCN-3::IdentifierOverloading->Component type const--function_runs_on par.
6605 .*---------------------------------------------------------------------*
6607 <TC - TTCN-3::IdentifierOverloading->Component type const--function_runs_on par.>
6611 <MODULE TTCN ModuleA ModuleA.ttcn>
6613 type component MyCompType {
6614 const integer MyIntConst := 1;
6616 function MyCompFunc( integer MyIntConst ) runs on MyCompType {}
6619 <RESULT IF_PASS COUNT 1>
6620 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6622 <RESULT IF_PASS COUNT 1>
6623 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6625 <RESULT IF_PASS COUNT 1>
6628 <RESULT IF_PASS POSITIVE>
6629 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6635 .*---------------------------------------------------------------------*
6636 :h3.TTCN-3::IdentifierOverloading->Component type const--altstep_runs_on id.
6637 .*---------------------------------------------------------------------*
6639 <TC - TTCN-3::IdentifierOverloading->Component type const--altstep_runs_on id.>
6643 <MODULE TTCN ModuleA ModuleA.ttcn>
6645 type component MyCompType {
6646 const integer MyId := 1;
6648 altstep MyId() runs on MyCompType {
6649 [] any port.check {};
6654 <RESULT IF_PASS COUNT 1>
6655 (?im)\berror\b.+?MyId.+?not.+?unique
6657 <RESULT IF_PASS COUNT 1>
6658 (?im)\bnote\b.+?MyId.+?higher.+?scope
6660 <RESULT IF_PASS COUNT 1>
6663 <RESULT IF_PASS POSITIVE>
6664 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6670 .*---------------------------------------------------------------------*
6671 :h3.TTCN-3::IdentifierOverloading->Component type const--altstep_runs_on par.
6672 .*---------------------------------------------------------------------*
6674 <TC - TTCN-3::IdentifierOverloading->Component type const--altstep_runs_on par.>
6678 <MODULE TTCN ModuleA ModuleA.ttcn>
6680 type component MyCompType {
6681 const integer MyIntConst := 1;
6683 altstep MyAltstep( integer MyIntConst ) runs on MyCompType {
6684 [] any port.check {};
6689 <RESULT IF_PASS COUNT 1>
6690 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6692 <RESULT IF_PASS COUNT 1>
6693 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6695 <RESULT IF_PASS COUNT 1>
6698 <RESULT IF_PASS POSITIVE>
6699 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6705 .*---------------------------------------------------------------------*
6706 :h3.TTCN-3::IdentifierOverloading->Component type const--testcase identifier
6707 .*---------------------------------------------------------------------*
6709 <TC - TTCN-3::IdentifierOverloading->Component type const--testcase identifier>
6713 <MODULE TTCN ModuleA ModuleA.ttcn>
6715 type component MyCompType {
6716 const integer MyId := 1;
6718 testcase MyId() runs on MyCompType {}
6721 <RESULT IF_PASS COUNT 1>
6722 (?im)\berror\b.+?MyId.+?not.+?unique
6724 <RESULT IF_PASS COUNT 1>
6725 (?im)\bnote\b.+?MyId.+?higher.+?scope
6727 <RESULT IF_PASS COUNT 1>
6730 <RESULT IF_PASS POSITIVE>
6731 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6737 .*---------------------------------------------------------------------*
6738 :h3.TTCN-3::IdentifierOverloading->Component type const--testcase parameter
6739 .*---------------------------------------------------------------------*
6741 <TC - TTCN-3::IdentifierOverloading->Component type const--testcase parameter>
6745 <MODULE TTCN ModuleA ModuleA.ttcn>
6747 type component MyCompType {
6748 const integer MyIntConst := 1;
6750 testcase MyTestcase( integer MyIntConst ) runs on MyCompType {}
6753 <RESULT IF_PASS COUNT 1>
6754 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6756 <RESULT IF_PASS COUNT 1>
6757 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6759 <RESULT IF_PASS COUNT 1>
6762 <RESULT IF_PASS POSITIVE>
6763 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6769 .*---------------------------------------------------------------------*
6770 :h3.TTCN-3::IdentifierOverloading->Function: identifier--parameter
6771 .*---------------------------------------------------------------------*
6773 <TC - TTCN-3::IdentifierOverloading->Function: identifier--parameter>
6777 <MODULE TTCN ModuleA ModuleA.ttcn>
6779 function MyFunc( integer MyFunc ) {}
6782 <RESULT IF_PASS COUNT 1>
6783 (?im)\berror\b.+?Parameter.+?MyFunc.+?not.+?unique
6785 <RESULT IF_PASS COUNT 1>
6786 (?im)\bnote\b.+?Symbol.+?MyFunc.+?already.+?defined.+?higher.+?scope
6788 <RESULT IF_PASS COUNT 1>
6791 <RESULT IF_PASS POSITIVE>
6792 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6798 .*---------------------------------------------------------------------*
6799 :h3.TTCN-3::IdentifierOverloading->Function parameter--function const
6800 .*---------------------------------------------------------------------*
6802 <TC - TTCN-3::IdentifierOverloading->Function parameter--function const>
6806 <MODULE TTCN ModuleA ModuleA.ttcn>
6808 function MyFunc( integer MyIntConst ) {
6809 const integer MyIntConst := 1;
6813 <RESULT IF_PASS COUNT 1>
6814 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6816 <RESULT IF_PASS COUNT 1>
6817 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6819 <RESULT IF_PASS COUNT 1>
6822 <RESULT IF_PASS POSITIVE>
6823 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6829 .*---------------------------------------------------------------------*
6830 :h3.TTCN-3::IdentifierOverloading->Same const id.: embedded case--function
6831 .*---------------------------------------------------------------------*
6833 <TC - TTCN-3::IdentifierOverloading->Same const id.: embedded case--function>
6837 <MODULE TTCN ModuleA ModuleA.ttcn>
6840 const integer MyIntConst := 1;
6842 const integer MyIntConst := 2;
6847 <RESULT IF_PASS COUNT 1>
6848 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6850 <RESULT IF_PASS COUNT 1>
6851 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6853 <RESULT IF_PASS COUNT 1>
6856 <RESULT IF_PASS POSITIVE>
6857 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6863 .*---------------------------------------------------------------------*
6864 :h3.TTCN-3::IdentifierOverloading->Altstep: identifier--parameter
6865 .*---------------------------------------------------------------------*
6867 <TC - TTCN-3::IdentifierOverloading->Altstep: identifier--parameter>
6871 <MODULE TTCN ModuleA ModuleA.ttcn>
6873 altstep MyAltstep( integer MyAltstep ) {
6874 [] any port.check {};
6879 <RESULT IF_PASS COUNT 1>
6880 (?im)\berror\b.+?Parameter.+?MyAltstep.+?not.+?unique
6882 <RESULT IF_PASS COUNT 1>
6883 (?im)\bnote\b.+?Symbol.+?MyAltstep.+?already.+?defined.+?higher.+?scope
6885 <RESULT IF_PASS COUNT 1>
6888 <RESULT IF_PASS POSITIVE>
6889 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6895 .*---------------------------------------------------------------------*
6896 :h3.TTCN-3::IdentifierOverloading->Altstep parameter--altstep const
6897 .*---------------------------------------------------------------------*
6899 <TC - TTCN-3::IdentifierOverloading->Altstep parameter--altstep const>
6903 <MODULE TTCN ModuleA ModuleA.ttcn>
6905 altstep MyAltstep( integer MyIntConst ) {
6906 const integer MyIntConst := 1;
6907 [] any port.check {};
6912 <RESULT IF_PASS COUNT 1>
6913 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6915 <RESULT IF_PASS COUNT 1>
6916 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6918 <RESULT IF_PASS COUNT 1>
6921 <RESULT IF_PASS POSITIVE>
6922 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6928 .*---------------------------------------------------------------------*
6929 :h3.TTCN-3::IdentifierOverloading->Same const id.: embedded case--altstep
6930 .*---------------------------------------------------------------------*
6932 <TC - TTCN-3::IdentifierOverloading->Same const id.: embedded case--altstep>
6936 <MODULE TTCN ModuleA ModuleA.ttcn>
6938 altstep MyAltstep() {
6939 const integer MyIntConst := 1;
6941 const integer MyIntConst := 3;
6947 <RESULT IF_PASS COUNT 1>
6948 (?im)\berror\b.+?MyIntConst.+?not.+?unique
6950 <RESULT IF_PASS COUNT 1>
6951 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
6953 <RESULT IF_PASS COUNT 1>
6956 <RESULT IF_PASS POSITIVE>
6957 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6963 .*---------------------------------------------------------------------*
6964 :h3.TTCN-3::IdentifierOverloading->Function_runs_on: identifier--parameter
6965 .*---------------------------------------------------------------------*
6967 <TC - TTCN-3::IdentifierOverloading->Function_runs_on: identifier--parameter>
6971 <MODULE TTCN ModuleA ModuleA.ttcn>
6973 type component MyCompType {}
6974 function MyCompFunc( integer MyCompFunc ) runs on MyCompType {}
6977 <RESULT IF_PASS COUNT 1>
6978 (?im)\berror\b.+?Parameter.+?MyCompFunc.+?not.+?unique
6980 <RESULT IF_PASS COUNT 1>
6981 (?im)\bnote\b.+?Symbol.+?MyCompFunc.+?already.+?defined.+?higher.+?scope
6983 <RESULT IF_PASS COUNT 1>
6986 <RESULT IF_PASS POSITIVE>
6987 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6993 .*---------------------------------------------------------------------*
6994 :h3.TTCN-3::IdentifierOverloading->Function_runs_on par.--function_runs_on const
6995 .*---------------------------------------------------------------------*
6997 <TC - TTCN-3::IdentifierOverloading->Function_runs_on par.--function_runs_on const>
7001 <MODULE TTCN ModuleA ModuleA.ttcn>
7003 type component MyCompType {}
7004 function MyCompFunc( integer MyIntConst ) runs on MyCompType {
7005 const integer MyIntConst := 1;
7009 <RESULT IF_PASS COUNT 1>
7010 (?im)\berror\b.+?MyIntConst.+?not.+?unique
7012 <RESULT IF_PASS COUNT 1>
7013 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
7015 <RESULT IF_PASS COUNT 1>
7018 <RESULT IF_PASS POSITIVE>
7019 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7025 .*---------------------------------------------------------------------*
7026 :h3.TTCN-3::IdentifierOverloading->Same const id.: embedded case--function_runs_on
7027 .*---------------------------------------------------------------------*
7029 <TC - TTCN-3::IdentifierOverloading->Same const id.: embedded case--function_runs_on>
7033 <MODULE TTCN ModuleA ModuleA.ttcn>
7035 type component MyCompType {}
7036 function MyCompFunc() runs on MyCompType {
7037 const integer MyIntConst := 1;
7039 const integer MyIntConst := 2;
7044 <RESULT IF_PASS COUNT 1>
7045 (?im)\berror\b.+?MyIntConst.+?not.+?unique
7047 <RESULT IF_PASS COUNT 1>
7048 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
7050 <RESULT IF_PASS COUNT 1>
7053 <RESULT IF_PASS POSITIVE>
7054 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7060 .*---------------------------------------------------------------------*
7061 :h3.TTCN-3::IdentifierOverloading->Altstep_runs_on: identifier--parameter
7062 .*---------------------------------------------------------------------*
7064 <TC - TTCN-3::IdentifierOverloading->Altstep_runs_on: identifier--parameter>
7068 <MODULE TTCN ModuleA ModuleA.ttcn>
7070 type component MyCompType {}
7071 altstep MyCompAltstep( integer MyCompAltstep ) runs on MyCompType {
7072 [] any port.check {};
7077 <RESULT IF_PASS COUNT 1>
7078 (?im)\berror\b.+?Parameter.+?MyCompAltstep.+?not.+?unique
7080 <RESULT IF_PASS COUNT 1>
7081 (?im)\bnote\b.+?Symbol.+?MyCompAltstep.+?already.+?defined.+?higher.+?scope
7083 <RESULT IF_PASS COUNT 1>
7086 <RESULT IF_PASS POSITIVE>
7087 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7093 .*---------------------------------------------------------------------*
7094 :h3.TTCN-3::IdentifierOverloading->Altstep_runs_on par.--altstep_runs_on const
7095 .*---------------------------------------------------------------------*
7097 <TC - TTCN-3::IdentifierOverloading->Altstep_runs_on par.--altstep_runs_on const>
7101 <MODULE TTCN ModuleA ModuleA.ttcn>
7103 type component MyCompType {}
7104 altstep MyCompAltstep( integer MyIntConst ) runs on MyCompType {
7105 const integer MyIntConst := 5;
7106 [] any port.check {};
7111 <RESULT IF_PASS COUNT 1>
7112 (?im)\berror\b.+?MyIntConst.+?not.+?unique
7114 <RESULT IF_PASS COUNT 1>
7115 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
7117 <RESULT IF_PASS COUNT 1>
7120 <RESULT IF_PASS POSITIVE>
7121 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7127 .*---------------------------------------------------------------------*
7128 :h3.TTCN-3::IdentifierOverloading->Same const id.: embedded case--altstep_runs_on
7129 .*---------------------------------------------------------------------*
7131 <TC - TTCN-3::IdentifierOverloading->Same const id.: embedded case--altstep_runs_on>
7135 <MODULE TTCN ModuleA ModuleA.ttcn>
7137 type component MyCompType {}
7138 altstep MyCompAltstep() runs on MyCompType {
7139 const integer MyIntConst := 5;
7141 const integer MyIntConst := 3;
7147 <RESULT IF_PASS COUNT 1>
7148 (?im)\berror\b.+?MyIntConst.+?not.+?unique
7150 <RESULT IF_PASS COUNT 1>
7151 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
7153 <RESULT IF_PASS COUNT 1>
7156 <RESULT IF_PASS POSITIVE>
7157 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7163 .*---------------------------------------------------------------------*
7164 :h3.TTCN-3::IdentifierOverloading->Testcase: identifier--parameter
7165 .*---------------------------------------------------------------------*
7167 <TC - TTCN-3::IdentifierOverloading->Testcase: identifier--parameter>
7171 <MODULE TTCN ModuleA ModuleA.ttcn>
7173 type component MyCompType {}
7174 testcase MyTestcase( integer MyTestcase ) runs on MyCompType {}
7177 <RESULT IF_PASS COUNT 1>
7178 (?im)\berror\b.+?Parameter.+?MyTestcase.+?not.+?unique
7180 <RESULT IF_PASS COUNT 1>
7181 (?im)\bnote\b.+?Symbol.+?MyTestcase.+?already.+?defined.+?higher.+?scope
7183 <RESULT IF_PASS COUNT 1>
7186 <RESULT IF_PASS POSITIVE>
7187 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7193 .*---------------------------------------------------------------------*
7194 :h3.TTCN-3::IdentifierOverloading->Testcase parameter--testcase const
7195 .*---------------------------------------------------------------------*
7197 <TC - TTCN-3::IdentifierOverloading->Testcase parameter--testcase const>
7201 <MODULE TTCN ModuleA ModuleA.ttcn>
7203 type component MyCompType {}
7204 testcase MyTestcase( integer MyIntConst ) runs on MyCompType {
7205 const integer MyIntConst := 3;
7209 <RESULT IF_PASS COUNT 1>
7210 (?im)\berror\b.+?MyIntConst.+?not.+?unique
7212 <RESULT IF_PASS COUNT 1>
7213 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
7215 <RESULT IF_PASS COUNT 1>
7218 <RESULT IF_PASS POSITIVE>
7219 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7225 .*---------------------------------------------------------------------*
7226 :h3.TTCN-3::IdentifierOverloading->Same const id.: embedded case--testcase
7227 .*---------------------------------------------------------------------*
7229 <TC - TTCN-3::IdentifierOverloading->Same const id.: embedded case--testcase>
7233 <MODULE TTCN ModuleA ModuleA.ttcn>
7235 type component MyCompType {}
7236 testcase MyTestcase() runs on MyCompType {
7237 const integer MyIntConst := 3;
7239 const integer MyIntConst := 2;
7244 <RESULT IF_PASS COUNT 1>
7245 (?im)\berror\b.+?MyIntConst.+?not.+?unique
7247 <RESULT IF_PASS COUNT 1>
7248 (?im)\bnote\b.+?MyIntConst.+?higher.+?scope
7250 <RESULT IF_PASS COUNT 1>
7253 <RESULT IF_PASS POSITIVE>
7254 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7260 .*---------------------------------------------------------------------*
7261 :h3.TTCN-3::IdentifierOverloading->Port type
7262 .*---------------------------------------------------------------------*
7263 NOTE: TR684 segfault when a symbol is not found
7267 <TC - TTCN-3::IdentifierOverloading->Port type>
7270 <MODULE TTCN ModuleA ModuleA.ttcn>
7273 type port p message { inout integer }
7274 type component c { port pt p }
7276 function f() runs on c return integer {
7278 [] any port.trigger {}
7283 function g() runs on c {
7285 [] p.receive(f()) {}
7291 <RESULT IF_PASS COUNT 1>
7292 (?im)\berror\b.+?p.+?not.+?unique
7294 <RESULT IF_PASS COUNT 1>
7295 (?im)\bnote\b.+?Symbol.+?p.+?already.+?defined.+?higher.+?scope
7297 <RESULT IF_PASS COUNT 1>
7298 (?im)\berror\b.+?no.+?local.+?or.+?imported.+?definition.+?pt
7300 <RESULT IF_PASS COUNT 2>
7303 <RESULT IF_PASS POSITIVE>
7304 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7309 .*---------------------------------------------------------------------*
7310 :h3.Identifier overloading in parameter list
7311 .*---------------------------------------------------------------------*
7313 :nl.- Make a testcase for every case where we can use parameter list.
7315 .*---------------------------------------------------------------------*
7316 :h4.TTCN-3::IdentifierOverloading->ParameterList: modulepar
7317 .*---------------------------------------------------------------------*
7319 <TC - TTCN-3::IdentifierOverloading->ParameterList: modulepar>
7323 <MODULE TTCN ModuleA ModuleA.ttcn>
7326 boolean par_1 := false;
7327 integer par_2, par_3;
7332 <RESULT IF_PASS COUNT 1>
7333 (?im)\berror\b.+?Duplicate.+?definition.+?par_1
7335 <RESULT IF_PASS COUNT 1>
7336 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7338 <RESULT IF_PASS COUNT 1>
7341 <RESULT IF_PASS POSITIVE>
7342 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7348 .*---------------------------------------------------------------------*
7349 :h4.TTCN-3::IdentifierOverloading->ParameterList: function
7350 .*---------------------------------------------------------------------*
7352 <TC - TTCN-3::IdentifierOverloading->ParameterList: function>
7356 <MODULE TTCN ModuleA ModuleA.ttcn>
7358 function MyFunc( integer par_1, integer par_2, boolean par_1 ) {}
7361 <RESULT IF_PASS COUNT 1>
7362 (?im)\berror\b.+?Duplicate.+?parameter.+?par_1
7364 <RESULT IF_PASS COUNT 1>
7365 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7367 <RESULT IF_PASS COUNT 1>
7370 <RESULT IF_PASS POSITIVE>
7371 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7377 .*---------------------------------------------------------------------*
7378 :h4.TTCN-3::IdentifierOverloading->ParameterList: function_runs_on
7379 .*---------------------------------------------------------------------*
7381 <TC - TTCN-3::IdentifierOverloading->ParameterList: function_runs_on>
7385 <MODULE TTCN ModuleA ModuleA.ttcn>
7387 type component MyCT {}
7388 function MyFunc( integer par_1, integer par_2, boolean par_1 ) runs on MyCT {}
7391 <RESULT IF_PASS COUNT 1>
7392 (?im)\berror\b.+?Duplicate.+?parameter.+?par_1
7394 <RESULT IF_PASS COUNT 1>
7395 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7397 <RESULT IF_PASS COUNT 1>
7400 <RESULT IF_PASS POSITIVE>
7401 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7407 .*---------------------------------------------------------------------*
7408 :h4.TTCN-3::IdentifierOverloading->ParameterList: external function
7409 .*---------------------------------------------------------------------*
7411 <TC - TTCN-3::IdentifierOverloading->ParameterList: external function>
7415 <MODULE TTCN ModuleA ModuleA.ttcn>
7417 external function MyExtFunc(
7420 template boolean par_1
7424 <RESULT IF_PASS COUNT 1>
7425 (?im)\berror\b.+?Duplicate.+?parameter.+?par_1
7427 <RESULT IF_PASS COUNT 1>
7428 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7430 <RESULT IF_PASS COUNT 1>
7433 <RESULT IF_PASS POSITIVE>
7434 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7440 .*---------------------------------------------------------------------*
7441 :h4.TTCN-3::IdentifierOverloading->ParameterList: altstep
7442 .*---------------------------------------------------------------------*
7444 <TC - TTCN-3::IdentifierOverloading->ParameterList: altstep>
7448 <MODULE TTCN ModuleA ModuleA.ttcn>
7450 altstep MyAlt( integer par_1, integer par_2, boolean par_1 ) {
7455 <RESULT IF_PASS COUNT 1>
7456 (?im)\berror\b.+?Duplicate.+?parameter.+?par_1
7458 <RESULT IF_PASS COUNT 1>
7459 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7461 <RESULT IF_PASS COUNT 1>
7464 <RESULT IF_PASS POSITIVE>
7465 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7471 .*---------------------------------------------------------------------*
7472 :h4.TTCN-3::IdentifierOverloading->ParameterList: altstep_runs_on
7473 .*---------------------------------------------------------------------*
7475 <TC - TTCN-3::IdentifierOverloading->ParameterList: altstep_runs_on>
7479 <MODULE TTCN ModuleA ModuleA.ttcn>
7481 type component MyCT {}
7482 altstep MyAlt( integer par_1, integer par_2, boolean par_1 ) runs on MyCT {
7487 <RESULT IF_PASS COUNT 1>
7488 (?im)\berror\b.+?Duplicate.+?parameter.+?par_1
7490 <RESULT IF_PASS COUNT 1>
7491 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7493 <RESULT IF_PASS COUNT 1>
7496 <RESULT IF_PASS POSITIVE>
7497 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7503 .*---------------------------------------------------------------------*
7504 :h4.TTCN-3::IdentifierOverloading->ParameterList: testcase
7505 .*---------------------------------------------------------------------*
7507 <TC - TTCN-3::IdentifierOverloading->ParameterList: tetscase>
7511 <MODULE TTCN ModuleA ModuleA.ttcn>
7513 type component MyCT {}
7514 testcase MyTC( integer par_1, integer par_2, boolean par_1 ) runs on MyCT {}
7517 <RESULT IF_PASS COUNT 1>
7518 (?im)\berror\b.+?Duplicate.+?parameter.+?par_1
7520 <RESULT IF_PASS COUNT 1>
7521 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7523 <RESULT IF_PASS COUNT 1>
7526 <RESULT IF_PASS POSITIVE>
7527 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7533 .*---------------------------------------------------------------------*
7534 :h4.TTCN-3::IdentifierOverloading->ParameterList: template
7535 .*---------------------------------------------------------------------*
7537 <TC - TTCN-3::IdentifierOverloading->ParameterList: template>
7541 <MODULE TTCN ModuleA ModuleA.ttcn>
7543 type record MyMessageType {
7544 integer field1 optional,
7549 template MyMessageType MyTemplate( integer par_1, boolean par_2, integer par_1 ) := {
7557 <RESULT IF_PASS COUNT 1>
7558 (?im)\berror\b.+?Duplicate.+?parameter.+?par_1
7560 <RESULT IF_PASS COUNT 1>
7561 (?im)\bnote\b.+?Previous.+?definition.+?par_1.+?here
7563 <RESULT IF_PASS COUNT 1>
7566 <RESULT IF_PASS POSITIVE>
7567 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7573 .*---------------------------------------------------------------------*
7574 :h4.TTCN-3::IdentifierOverloading->ParameterList: signature
7575 .*---------------------------------------------------------------------*
7577 <TC - TTCN-3::IdentifierOverloading->ParameterList: signature>
7581 <MODULE TTCN ModuleA ModuleA.ttcn>
7583 signature MySig (in integer par_1, out float par_2, inout integer par_2);
7586 <RESULT IF_PASS COUNT 1>
7587 (?im)\berror\b.+?Duplicate.+?parameter.+?par_2
7589 <RESULT IF_PASS COUNT 1>
7590 (?im)\bnote\b.+?Parameter.+?par_2.+?already.+?here
7592 <RESULT IF_PASS COUNT 1>
7595 <RESULT IF_PASS POSITIVE>
7596 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7603 .*---------------------------------------------------------------------*
7604 :h2.Ambiguous symbol reference
7605 .*---------------------------------------------------------------------*
7606 This test case group covers the requirement SA-3/3.
7608 :nl.SA shall detect if a symbol reference is ambiguous.
7611 :nl. Every test has an explanation for the rule. The testcases are
7614 .*---------------------------------------------------------------------*
7615 :h3.TTCN-3::AmbiguousSymbolReference->A.B notation
7616 .*---------------------------------------------------------------------*
7617 Requirement: A.B notation.
7619 :nl.A.B notation may refer to modul A or a local type called A ( where
7620 :nl.the name of the current module may be A or something else ).
7624 <TC - TTCN-3::AmbiguousSymbolReference->A.B notation>
7628 <MODULE TTCN A A.ttcn>
7632 A.B field // "A" meaning the module identifier
7634 function Func(Rec FuncIn) return integer {
7635 return FuncIn.field;
7638 var integer X := Func( {5} );
7642 <MODULE TTCN AA AA.ttcn>
7649 AA.B field // "AA" meaning the record type not the module identifier
7651 function Func(Rec FuncIn) return integer {
7652 return FuncIn.field;
7655 var integer X := Func( {5} );
7659 <MODULE TTCN AAA AAA.ttcn>
7666 AAA.objid{0 4 0}.B field // "AAA" meaning the record type not the module identifier
7668 function Func(Rec FuncIn) return integer {
7669 return FuncIn.field;
7672 var integer X := Func( {5} );
7676 <RESULT IF_PASS COUNT 2>
7677 (?im)\bwarning\b.+?Definition.+?AA.+?hides.+?module
7679 <RESULT IF_PASS POSITIVE>
7680 (?im)\bnotify\b.+?Generating.+?code
7686 .*---------------------------------------------------------------------*
7687 :h3.TTCN-3::AmbiguousSymbolReference->Same name difference objid
7688 .*---------------------------------------------------------------------*
7689 Requirement: A.B notation.
7691 :nl.Two module names are the same but have different objid value, but a
7692 :nl.reference is used only with the module name.
7693 :p. NOTE: Objid is not supported yet in the module name.
7697 <TC - TTCN-3::AmbiguousSymbolReference->Same name difference objid>
7701 <MODULE TTCN A0 A0.ttcn>
7702 module A.objid{0 4 0} {
7706 <MODULE TTCN A1 A1.ttcn>
7707 module A.objid{0 4 1} {
7711 <MODULE TTCN B B.ttcn>
7713 import from A.objid{0 4 0} all;
7714 import from A.objid{0 4 1} all;
7716 A.objid{0 4 0}.B field1, //reference is unambiguous
7717 A.objid{0 4 1}.B field2 //reference is unambiguous
7720 A.B field1 //reference is ambiguous
7724 <RESULT IF_PASS COUNT 1>
7725 (?im)\berror\b.+?module.+?identifier.+?A.+?already
7727 <RESULT IF_PASS COUNT 1>
7728 (?im)\berror\b.+?This.+?first.+?module
7730 <RESULT IF_PASS COUNT 2>
7733 <RESULT IF_PASS POSITIVE>
7734 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7740 .*---------------------------------------------------------------------*
7741 :h3.TTCN-3::AmbiguousSymbolReference->Two symbols with the same name are imported
7742 .*---------------------------------------------------------------------*
7743 Requirement: A.B notation.
7745 :nl.Two symbols with the same name are imported from two modules. A reference
7746 like 'A' is ambiguous.
7750 <TC - TTCN-3::AmbiguousSymbolReference->Two symbols with the same name are imported>
7754 <MODULE TTCN ModuleA ModuleA.ttcn>
7756 import from ModuleB all;
7757 import from ModuleC all;
7758 type record ModuleA { T field }
7761 <MODULE TTCN ModuleB ModuleB.ttcn>
7766 <MODULE TTCN ModuleC ModuleC.ttcn>
7771 <RESULT IF_PASS COUNT 1>
7772 (?im)\bwarning\b.+?Definition.+?ModuleA.+?hides.+?module
7774 <RESULT IF_PASS COUNT 1>
7775 (?im)\berror\b.+?resolve.+?reference.+?unambigously
7777 <RESULT IF_PASS COUNT 1>
7780 <RESULT IF_PASS POSITIVE>
7781 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7788 .*---------------------------------------------------------------------*
7790 .*---------------------------------------------------------------------*
7791 This test case group covers the requirement SA-3/4.
7793 :nl. Special rules applied when importing identifiers.
7796 :nl. Every test group has an explanation for the rule. The testcases are
7800 :nl. Harmonize the specification and the implementation (e.g. recursive,
7803 .*---------------------------------------------------------------------*
7804 :h3.TTCN-3::Import->Objid in the modulename in import part
7805 .*---------------------------------------------------------------------*
7806 Requirement: Objid in the modulename in import part (7.5.0).
7808 :nl.If the object identifier is provided as part of the module name (from
7809 which the definitions are imported from) in the import statement, this
7810 object identifier shall be used to identify the correct module.
7811 :p. NOTE: objid value is currently ignored, thus only the module name is
7812 considered when identifying a module.
7814 .*---------------------------------------------------------------------*
7815 :h3.TTCN-3::Import->Attributes of the imported definitions
7816 .*---------------------------------------------------------------------*
7817 Requirement: Attributes of the imported definitions (7.5.0).
7819 :nl.If an imported definition has attributes (defined by means of a with
7820 statement) then the attributes shall also be imported. If the module has
7821 global attributes they are associated to definitions without these
7823 :p. NOTE: how to verify? should be covered in codec tests ?
7825 .*---------------------------------------------------------------------*
7826 :h3.TTCN-3::Import->Only top-level definitions: control part
7827 .*---------------------------------------------------------------------*
7828 Requirement: Only top-level definitions (7.5.2)
7830 :nl.Only top-level definitions in the module may be imported.
7831 :nl.Definitions which occur at a lower scope (e.g. local constants defined
7832 in a function) shall not be imported.
7836 <TC - TTCN-3::Import->Only top-level definitions: control part>
7840 <MODULE TTCN ModuleA ModuleA.ttcn>
7842 import from ModuleB all;
7843 const integer MyConst := B;
7846 <MODULE TTCN ModuleB ModuleB.ttcn>
7849 const integer B := 222;
7853 <RESULT IF_PASS COUNT 1>
7854 (?im)\berror\b.+?no.+?imported.+?definition.+?B
7856 <RESULT IF_PASS COUNT 1>
7859 <RESULT IF_PASS POSITIVE>
7860 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7866 .*---------------------------------------------------------------------*
7867 :h3.TTCN-3::Import->Only top-level definitions: component type
7868 .*---------------------------------------------------------------------*
7870 <TC - TTCN-3::Import->Only top-level definitions: component type>
7874 <MODULE TTCN ModuleA ModuleA.ttcn>
7876 import from ModuleB all;
7877 const integer MyConst := B;
7880 <MODULE TTCN ModuleB ModuleB.ttcn>
7883 const integer B := 222;
7887 <RESULT IF_PASS COUNT 1>
7888 (?im)\berror\b.+?no.+?imported.+?definition.+?B
7890 <RESULT IF_PASS COUNT 1>
7893 <RESULT IF_PASS POSITIVE>
7894 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7900 .*---------------------------------------------------------------------*
7901 :h3.TTCN-3::Import->Only top-level definitions: function
7902 .*---------------------------------------------------------------------*
7904 <TC - TTCN-3::Import->Only top-level definitions: function>
7908 <MODULE TTCN ModuleA ModuleA.ttcn>
7910 import from ModuleB all;
7911 const integer MyConst := B;
7914 <MODULE TTCN ModuleB ModuleB.ttcn>
7917 const integer B := 222;
7921 <RESULT IF_PASS COUNT 1>
7922 (?im)\berror\b.+?no.+?imported.+?definition.+?B
7924 <RESULT IF_PASS COUNT 1>
7927 <RESULT IF_PASS POSITIVE>
7928 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7934 .*---------------------------------------------------------------------*
7935 :h3.TTCN-3::Import->Only top-level definitions: altstep
7936 .*---------------------------------------------------------------------*
7938 <TC - TTCN-3::Import->Only top-level definitions: altstep>
7942 <MODULE TTCN ModuleA ModuleA.ttcn>
7944 import from ModuleB all;
7945 const integer MyConst := B;
7948 <MODULE TTCN ModuleB ModuleB.ttcn>
7951 const integer B := 222;
7956 <RESULT IF_PASS COUNT 1>
7957 (?im)\berror\b.+?no.+?imported.+?definition.+?B
7959 <RESULT IF_PASS COUNT 1>
7962 <RESULT IF_PASS POSITIVE>
7963 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7969 .*---------------------------------------------------------------------*
7970 :h3.TTCN-3::Import->Only top-level definitions: function_runs_on
7971 .*---------------------------------------------------------------------*
7973 <TC - TTCN-3::Import->Only top-level definitions: function_runs_on>
7977 <MODULE TTCN ModuleA ModuleA.ttcn>
7979 import from ModuleB all;
7980 const integer MyConst := B;
7983 <MODULE TTCN ModuleB ModuleB.ttcn>
7985 type component CT {}
7986 function FWR() runs on CT {
7987 const integer B := 222;
7991 <RESULT IF_PASS COUNT 1>
7992 (?im)\berror\b.+?no.+?imported.+?definition.+?B
7994 <RESULT IF_PASS COUNT 1>
7997 <RESULT IF_PASS POSITIVE>
7998 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8004 .*---------------------------------------------------------------------*
8005 :h3.TTCN-3::Import->Only top-level definitions: altstep_runs_on
8006 .*---------------------------------------------------------------------*
8008 <TC - TTCN-3::Import->Only top-level definitions: altstep_runs_on>
8012 <MODULE TTCN ModuleA ModuleA.ttcn>
8014 import from ModuleB all;
8015 const integer MyConst := B;
8018 <MODULE TTCN ModuleB ModuleB.ttcn>
8020 type component CT {}
8021 altstep AWR() runs on CT {
8022 const integer B := 222;
8027 <RESULT IF_PASS COUNT 1>
8028 (?im)\berror\b.+?no.+?imported.+?definition.+?B
8030 <RESULT IF_PASS COUNT 1>
8033 <RESULT IF_PASS POSITIVE>
8034 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8040 .*---------------------------------------------------------------------*
8041 :h3.TTCN-3::Import->Only top-level definitions: testcase
8042 .*---------------------------------------------------------------------*
8044 <TC - TTCN-3::Import->Only top-level definitions: testcase>
8048 <MODULE TTCN ModuleA ModuleA.ttcn>
8050 import from ModuleB all;
8051 const integer MyConst := B;
8054 <MODULE TTCN ModuleB ModuleB.ttcn>
8056 type component CT {}
8057 testcase TC() runs on CT {
8058 const integer B := 222;
8062 <RESULT IF_PASS COUNT 1>
8063 (?im)\berror\b.+?no.+?imported.+?definition.+?B
8065 <RESULT IF_PASS COUNT 1>
8068 <RESULT IF_PASS POSITIVE>
8069 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8075 .*---------------------------------------------------------------------*
8076 :h3.TTCN-3::Import->Direct importing
8077 .*---------------------------------------------------------------------*
8078 Requirement: Direct importing (7.5.2).
8080 :nl.Only direct importing from the source module of a definition (i.e.
8081 the module where the actual definition for the identifier referenced
8082 in the import statement resides) is allowed.
8086 <TC - TTCN-3::Import->Direct importing>
8090 <MODULE TTCN ModuleA ModuleA.ttcn>
8092 import from ModuleB all;
8093 type MyType MyType3;
8094 type MyType2 MyType4;
8097 <MODULE TTCN ModuleB ModuleB.ttcn>
8099 import from ModuleC all;
8100 type MyType MyType2;
8103 <MODULE TTCN ModuleC ModuleC.ttcn>
8105 type integer MyType;
8108 <RESULT IF_PASS COUNT 1>
8109 (?im)\berror\b.+?no.+?definition.+?\bMyType\b
8111 <RESULT IF_PASS COUNT 1>
8114 <RESULT IF_PASS POSITIVE>
8115 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8121 .*---------------------------------------------------------------------*
8122 :h3.TTCN-3::Import->Field name importing
8123 .*---------------------------------------------------------------------*
8124 Requirement: Field name importing (7.5.2).
8126 :nl.A definition is imported together with its name and all local definitions.
8127 :p. NOTE: A local definition, e.g. a field name of a user-defined record type,
8128 only has meaning in the context of the definitions in which it is defined,
8129 e.g. the field name of a record type can only be used to access a field of
8130 the record type and not outside this context.
8134 <TC - TTCN-3::Import->Field name importing>
8138 <MODULE TTCN ModuleA ModuleA.ttcn>
8140 import from ModuleB all;
8142 var integer MyInt := field1;
8146 <MODULE TTCN ModuleB ModuleB.ttcn>
8148 type record RecType {
8154 <RESULT IF_PASS COUNT 1>
8155 (?im)\berror\b.+?no.+?imported.+?definition.+?field1
8157 <RESULT IF_PASS COUNT 1>
8160 <RESULT IF_PASS POSITIVE>
8161 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8167 .*---------------------------------------------------------------------*
8168 :h3.TTCN-3::Import->Transitive importing
8169 .*---------------------------------------------------------------------*
8170 Requirement: Transitive importing (7.5.2).
8172 :nl.A definition is imported together with all information of referenced
8173 definitions that are necessary for the usage of the referenced definition.
8174 :p. NOTE: Import statement are transitive, e.g. if a module A imports a
8175 a definition from module B that uses a type reference defined in module C,
8176 the corresponding information necessary for the the usage of that type
8177 is automatically imported into module A.
8181 <TC - TTCN-3::Import->Transitive importing>
8185 <MODULE TTCN ModuleA ModuleA.ttcn>
8187 import from ModuleB all;
8188 const MyTypeB MyConst := { field1 := 10, field2 := McHalls }
8191 <MODULE TTCN ModuleB ModuleB.ttcn>
8193 import from ModuleC all;
8194 type record MyTypeB { integer field1, HiddenType field2 };
8197 <MODULE TTCN ModuleC ModuleC.ttcn>
8199 type enumerated HiddenType { McHalls(0), was(1), here(9) };
8202 <RESULT IF_PASS NEGATIVE>
8205 <RESULT IF_PASS POSITIVE>
8206 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8212 .*---------------------------------------------------------------------*
8213 :h3.TTCN-3::Import->Non-recursive importing
8214 .*---------------------------------------------------------------------*
8215 Requirement: Non-recursive importing (7.5.2).
8217 :nl.As default, the identifiers of referenced definitions are not
8218 automatically imported. If the identifiers of the referenced
8219 definitions are wished to be implicitly imported, the recursive
8220 directive shall be used.
8224 <TC - TTCN-3::Import->Non-recursive importing>
8228 <MODULE TTCN ModuleA ModuleA.ttcn>
8230 import from ModuleB all;
8231 const MyTypeB MyConst := { field1 := 10, field2 := McHalls }
8232 const HiddenType MyConst2 := was;
8235 <MODULE TTCN ModuleB ModuleB.ttcn>
8237 import from ModuleC all;
8238 type record MyTypeB { integer field1, HiddenType field2 };
8241 <MODULE TTCN ModuleC ModuleC.ttcn>
8243 type enumerated HiddenType { McHalls(0), was(1), here(9) };
8246 <RESULT IF_PASS COUNT 1>
8247 (?im)\berror\b.+?no.+?definition.+?\bHiddenType\b
8249 <RESULT IF_PASS COUNT 1>
8250 (?im)\berror\b.+?no.+?definition.+?\bwas\b
8252 <RESULT IF_PASS COUNT 2>
8255 <RESULT IF_PASS POSITIVE>
8256 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8262 .*---------------------------------------------------------------------*
8263 :h3.TTCN-3::Import->Recursive importing are not transitive in module boundaries
8264 .*---------------------------------------------------------------------*
8265 Requirement: Recursive importing are not transitive in module boundaries (7.5.2).
8267 :nl.As default, the identifiers of referenced definitions are not
8268 automatically imported. If the identifiers of the referenced definitions
8269 are wished to be implicitly imported, the recursive directive shall be
8271 :p.NOTE: since selective importing is not supported, this requirement cannot
8272 be tested, only that no difference is shown no matter whether 'recursive'
8277 <TC - TTCN-3::Import->Recursive importing are not transitive in module boundaries>
8281 <MODULE TTCN ModuleA ModuleA.ttcn>
8283 import from ModuleB recursive all;
8284 const MyTypeB MyConst := { field1 := 10, field2 := McHalls }
8285 const HiddenType MyConst2 := was;
8288 <MODULE TTCN ModuleB ModuleB.ttcn>
8290 import from ModuleC all;
8291 type record MyTypeB { integer field1, HiddenType field2 };
8294 <MODULE TTCN ModuleC ModuleC.ttcn>
8296 type enumerated HiddenType { McHalls(0), was(1), here(9) };
8299 <RESULT IF_PASS COUNT 1>
8300 (?im)\berror\b.+?no.+?definition.+?\bHiddenType\b
8302 <RESULT IF_PASS COUNT 1>
8303 (?im)\berror\b.+?no.+?definition.+?\bwas\b
8305 <RESULT IF_PASS COUNT 2>
8308 <RESULT IF_PASS POSITIVE>
8309 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8315 .*---------------------------------------------------------------------*
8316 :h3.TTCN-3::Import->Selective imports
8317 .*---------------------------------------------------------------------*
8318 Requirement: Selective imports (7.5.2.f, 7.5.4, 7.5.7).
8320 :nl.When importing a type, function, altstep or testcase the corresponding
8321 behaviour specifications and all definitions used inside the behaviour
8322 specifications remain invisible for the importing module.
8323 :p. NOTE: Selective imports are not supported
8324 :nl.The result is positive but the implementation is inconsistent according
8325 to the TTCN-3 specification
8329 <TC - TTCN-3::Import->Selective imports>
8333 <MODULE TTCN ModuleA ModuleA.ttcn>
8335 import from ModuleB {
8338 type record RecTypeA {
8342 function FWR() runs on CT {}
8344 execute ( TC( {15,true} ) );
8348 <MODULE TTCN ModuleB ModuleB.ttcn>
8350 type record RecTypeB {
8354 type component CT {}
8355 testcase TC( RecTypeB MyPar ) runs on CT {}
8358 <RESULT IF_PASS COUNT 1>
8359 (?im)\bwarning\b.+?Unsupported.+?selective.+?import
8361 <RESULT IF_PASS POSITIVE>
8362 (?im)\bnotify\b.+?Generating.+?code
8368 .*---------------------------------------------------------------------*
8369 :h3.TTCN-3::Import->Circular imports
8370 .*---------------------------------------------------------------------*
8371 Requirement: Circular imports (7.5.2).
8373 :nl.Circular imports are forbidden
8374 :p. NOTE: Circular imports are allowed and reported as warnings
8378 <TC - TTCN-3::Import->Circular imports>
8382 <MODULE TTCN ModuleA ModuleA.ttcn>
8384 import from ModuleB all;
8387 <MODULE TTCN ModuleB ModuleB.ttcn>
8389 import from ModuleC all;
8392 <MODULE TTCN ModuleC ModuleC.ttcn>
8394 import from ModuleA all;
8397 <RESULT IF_PASS COUNT 3>
8398 (?im)\bwarning\b.+?Circular.+?import
8400 <RESULT IF_PASS NEGATIVE>
8403 <RESULT IF_PASS POSITIVE>
8404 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8410 .*---------------------------------------------------------------------*
8411 :h3.TTCN-3::Import->Import from the same module
8412 .*---------------------------------------------------------------------*
8413 Requirement: Import from the same module (7.5).
8415 :nl.A module cannot import from itself.
8419 <TC - TTCN-3::Import->Import from the same module>
8423 <MODULE TTCN ModuleA ModuleA.ttcn>
8425 import from ModuleA all;
8426 const integer MyConst := 666;
8429 <RESULT IF_PASS COUNT 1>
8430 (?im)\berror\b.+?cannot.+?import.+?itself
8432 <RESULT IF_PASS COUNT 1>
8435 <RESULT IF_PASS POSITIVE>
8436 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8442 .*---------------------------------------------------------------------*
8443 :h3.TTCN-3::Import->Duplicated import
8444 .*---------------------------------------------------------------------*
8445 Requirement: Duplicated import (7.5).
8447 :nl.A modulename is listed twice to import from, not problem but inefficient.
8451 <TC - TTCN-3::Import->Duplicated import>
8455 <MODULE TTCN ModuleA ModuleA.ttcn>
8457 import from ModuleB all;
8458 import from ModuleB all;
8459 const integer MyConst := 666;
8462 <MODULE TTCN ModuleB ModuleB.ttcn>
8464 const integer MyConstB := 666;
8467 <RESULT IF_PASS NEGATIVE>
8470 <RESULT IF_PASS POSITIVE>
8471 (?im)Notify: File `ModuleA.hh' was generated.
8478 .*---------------------------------------------------------------------*
8479 :h3.TTCN-3::Import->Importing groups
8480 .*---------------------------------------------------------------------*
8481 Requirement: Importing groups (7.5.6).
8482 :p.NOTE: Groups cannot be imported
8484 .*---------------------------------------------------------------------*
8485 :h3.TTCN-3::Import->Name clash on import->Same identifier is imported
8486 .*---------------------------------------------------------------------*
8487 Requirement: Name clash on import (7.5.8).
8489 :nl.Two identical identifiers are used in two different modules. If these
8490 identifiers are imported into the same module, it is not possible to
8491 differentiate them unless they are prefixed with the module's name.
8495 <TC - TTCN-3::Import->Name clash on import->Same identifier is imported>
8499 <MODULE TTCN ModuleA ModuleA.ttcn>
8501 import from ModuleB all;
8502 import from ModuleC all;
8503 // TR 630: Error message is not really applicable
8504 const MyType MyConst := 10;
8505 const ModuleB.MyType MyConst2 := 10;
8508 <MODULE TTCN ModuleB ModuleB.ttcn>
8510 type integer MyType;
8513 <MODULE TTCN ModuleC ModuleC.ttcn>
8515 type integer MyType;
8518 <RESULT IF_PASS COUNT 1>
8519 (?im)\berror\b.+?resolve.+?reference.+?unambigously
8521 <RESULT IF_PASS COUNT 1>
8524 <RESULT IF_PASS POSITIVE>
8525 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8531 .*---------------------------------------------------------------------*
8532 :h3.TTCN-3::Import->Name clash on import->A.B notation
8533 .*---------------------------------------------------------------------*
8534 Requirement: Name clash on import (7.5.8).
8536 :nl.A reference cannot be resolved if the imported module "A" uses an
8537 identifier "B" and there is a local variable or constant whose name
8538 is "A" and has a field named "B". The notation "A.B" causes confusion.
8542 <TC - TTCN-3::Import->Name clash on import->A.B notation>
8546 <MODULE TTCN ModuleA ModuleA.ttcn>
8548 import from ModuleB all;
8549 type record MyType { integer B }
8550 const MyType ModuleB := { B := 10 };
8551 // TR 631: name clash using the A.B notation
8552 const integer MyConst1 := ModuleB.B;
8553 const integer MyConst2 := ModuleA.ModuleB.B;
8556 <MODULE TTCN ModuleB ModuleB.ttcn>
8558 const integer B := 666;
8561 <RESULT IF_PASS COUNT 1>
8562 (?im)\bwarning\b.+?Definition.+?ModuleB.+?hides
8564 <RESULT IF_PASS NEGATIVE>
8567 <RESULT IF_PASS POSITIVE>
8568 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8575 .*---------------------------------------------------------------------*
8576 :h2.Uniqueness of field names
8577 .*---------------------------------------------------------------------*
8578 This test case group covers the requirement SA-3/5.
8580 :nl.- Field names within compound types shall be unique locally.
8583 :nl.- Make a testcase for every type where we can use fields.
8585 .*---------------------------------------------------------------------*
8586 :h3.TTCN-3::Uniqueness_Of_Field_Names-> Record type
8587 .*---------------------------------------------------------------------*
8589 <TC - TTCN-3::Uniqueness_Of_Field_Names-> Record type>
8593 <MODULE TTCN ModuleA ModuleA.ttcn>
8595 type record MyRecord {
8599 boolean field2 optional
8603 <RESULT IF_PASS COUNT 1>
8604 (?im)\berror\b.+?Duplicate.+?field.+?name.+?field1
8606 <RESULT IF_PASS COUNT 1>
8607 (?im)\bnote\b.+?Field.+?field1.+?here
8609 <RESULT IF_PASS COUNT 1>
8610 (?im)\berror\b.+?Duplicate.+?field.+?name.+?field2
8612 <RESULT IF_PASS COUNT 1>
8613 (?im)\bnote\b.+?Field.+?field2.+?here
8615 <RESULT IF_PASS COUNT 2>
8618 <RESULT IF_PASS POSITIVE>
8619 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8625 .*---------------------------------------------------------------------*
8626 :h3.TTCN-3::Uniqueness_Of_Field_Names-> Union type
8627 .*---------------------------------------------------------------------*
8629 <TC - TTCN-3::Uniqueness_Of_Field_Names-> Union type>
8633 <MODULE TTCN ModuleA ModuleA.ttcn>
8635 type union MyUnion {
8643 <RESULT IF_PASS COUNT 1>
8644 (?im)\berror\b.+?Duplicate.+?field.+?name.+?field1
8646 <RESULT IF_PASS COUNT 1>
8647 (?im)\bnote\b.+?Field.+?field1.+?here
8649 <RESULT IF_PASS COUNT 1>
8650 (?im)\berror\b.+?Duplicate.+?field.+?name.+?field2
8652 <RESULT IF_PASS COUNT 1>
8653 (?im)\bnote\b.+?Field.+?field2.+?here
8655 <RESULT IF_PASS COUNT 2>
8658 <RESULT IF_PASS POSITIVE>
8659 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8665 .*---------------------------------------------------------------------*
8666 :h3.TTCN-3::Uniqueness_Of_Field_Names-> Set type
8667 .*---------------------------------------------------------------------*
8669 <TC - TTCN-3::Uniqueness_Of_Field_Names-> Set type>
8673 <MODULE TTCN ModuleA ModuleA.ttcn>
8679 boolean field2 optional
8683 <RESULT IF_PASS COUNT 1>
8684 (?im)\berror\b.+?Duplicate.+?field.+?name.+?field1
8686 <RESULT IF_PASS COUNT 1>
8687 (?im)\bnote\b.+?Field.+?field1.+?here
8689 <RESULT IF_PASS COUNT 1>
8690 (?im)\berror\b.+?Duplicate.+?field.+?name.+?field2
8692 <RESULT IF_PASS COUNT 1>
8693 (?im)\bnote\b.+?Field.+?field2.+?here
8695 <RESULT IF_PASS COUNT 2>
8698 <RESULT IF_PASS POSITIVE>
8699 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8705 .*---------------------------------------------------------------------*
8706 :h3.TTCN-3::Uniqueness_Of_Field_Names-> Template
8707 .*---------------------------------------------------------------------*
8709 <TC - TTCN-3::Uniqueness_Of_Field_Names-> Template>
8713 <MODULE TTCN ModuleA ModuleA.ttcn>
8715 type record MyMessageType {
8716 integer field1 optional,
8721 template MyMessageType MyTemplate( integer par_1, boolean par_2, integer par_3 ) := {
8730 <RESULT IF_PASS COUNT 1>
8731 (?im)\berror\b.+?Duplicate.+?field.+?field1.+?template
8733 <RESULT IF_PASS COUNT 1>
8734 (?im)\bnote\b.+?Field.+?field1.+?here
8736 <RESULT IF_PASS COUNT 1>
8739 <RESULT IF_PASS POSITIVE>
8740 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8747 .*---------------------------------------------------------------------*
8748 :h2.Uniqueness of enumeration identifiers
8749 .*---------------------------------------------------------------------*
8750 This test case group covers the requirement SA-3/6.
8752 :nl.- Enumeration identifiers shall be unique within the enumerated type.
8753 :nl.- Enumeration identifiers shall only be reused within other sructured
8754 type definitions (such as element identifiers) and shall not be used
8755 for identifiers of local or global visibility at the same or a lower
8756 level of the same branch of the scope hierarchy.
8759 :nl.- First the same enumeration identifiers are checked in the same
8760 enumerated type (one case).
8761 :nl.- The MDP bubble (enum definition) is checked with every bubble on the
8762 1.,2. and 3. levels (left to right direction).
8763 The whole branch is checked if a bubble has only one child.
8764 Every testcase is positive but it is not correct result because the
8765 implementation is inconsistent according to the TTCN-3 specification.
8768 :nl. Harmonize the specification and the implementation.
8770 .*---------------------------------------------------------------------*
8771 :h3.TTCN-3::UniquenessEnumId-> Duplicated enumeration identifier
8772 .*---------------------------------------------------------------------*
8774 <TC - TTCN-3::UniquenessEnumId-> Duplicated enumeration identifier>
8778 <MODULE TTCN ModuleA ModuleA.ttcn>
8780 type enumerated MyEnum {Monday, T, W, Monday};
8783 <RESULT IF_PASS COUNT 1>
8784 (?im)\berror\b.+?Duplicate.+?identifier.+?Monday
8786 <RESULT IF_PASS COUNT 1>
8787 (?im)\bnote\b.+?Previous.+?Monday.+?here
8789 <RESULT IF_PASS COUNT 1>
8792 <RESULT IF_PASS POSITIVE>
8793 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8799 .*---------------------------------------------------------------------*
8800 :h3.TTCN-3::UniquenessEnumId-> Same level: another type identifier
8801 .*---------------------------------------------------------------------*
8803 <TC - TTCN-3::UniquenessEnumId-> Same level: another type identifier>
8807 <MODULE TTCN ModuleA ModuleA.ttcn>
8809 type enumerated MyEnum {Monday, T, W};
8810 type integer Monday;
8813 <RESULT IF_PASS NEGATIVE>
8816 <RESULT IF_PASS POSITIVE>
8817 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8823 .*---------------------------------------------------------------------*
8824 :h3.TTCN-3::UniquenessEnumId-> Same level: const identifier
8825 .*---------------------------------------------------------------------*
8827 <TC - TTCN-3::UniquenessEnumId-> Same level: const identifier>
8831 <MODULE TTCN ModuleA ModuleA.ttcn>
8833 type enumerated MyEnum {Monday, T, W};
8834 const integer Monday := 1;
8837 <RESULT IF_PASS NEGATIVE>
8840 <RESULT IF_PASS POSITIVE>
8841 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8847 .*---------------------------------------------------------------------*
8848 :h3.TTCN-3::UniquenessEnumId-> Control part: const identifier
8849 .*---------------------------------------------------------------------*
8851 <TC - TTCN-3::UniquenessEnumId-> Control part: const identifier>
8855 <MODULE TTCN ModuleA ModuleA.ttcn>
8857 type enumerated MyEnum {Monday, T, W};
8859 const integer Monday := 1;
8863 <RESULT IF_PASS NEGATIVE>
8866 <RESULT IF_PASS POSITIVE>
8867 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8873 .*---------------------------------------------------------------------*
8874 :h3.TTCN-3::UniquenessEnumId-> Component type identifier
8875 .*---------------------------------------------------------------------*
8877 <TC - TTCN-3::UniquenessEnumId-> Component type identifier>
8881 <MODULE TTCN ModuleA ModuleA.ttcn>
8883 type enumerated MyEnum {Monday, T, W};
8884 type component Monday {}
8887 <RESULT IF_PASS NEGATIVE>
8890 <RESULT IF_PASS POSITIVE>
8891 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8897 .*---------------------------------------------------------------------*
8898 :h3.TTCN-3::UniquenessEnumId-> Component type: const identifier
8899 .*---------------------------------------------------------------------*
8901 <TC - TTCN-3::UniquenessEnumId-> Component type: const identifier>
8905 <MODULE TTCN ModuleA ModuleA.ttcn>
8907 type enumerated MyEnum {Monday, T, W};
8908 type component MyCompType {
8909 const integer Monday := 1;
8913 <RESULT IF_PASS NEGATIVE>
8916 <RESULT IF_PASS POSITIVE>
8917 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8923 .*---------------------------------------------------------------------*
8924 :h3.TTCN-3::UniquenessEnumId-> Function identifier
8925 .*---------------------------------------------------------------------*
8927 <TC - TTCN-3::UniquenessEnumId-> Function identifier>
8931 <MODULE TTCN ModuleA ModuleA.ttcn>
8933 type enumerated MyEnum {Monday, T, W};
8934 function Monday() {}
8937 <RESULT IF_PASS NEGATIVE>
8940 <RESULT IF_PASS POSITIVE>
8941 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8947 .*---------------------------------------------------------------------*
8948 :h3.TTCN-3::UniquenessEnumId-> Function: const identifier
8949 .*---------------------------------------------------------------------*
8951 <TC - TTCN-3::UniquenessEnumId-> Function: const identifier>
8955 <MODULE TTCN ModuleA ModuleA.ttcn>
8957 type enumerated MyEnum {Monday, T, W};
8959 const integer Monday := 1;
8963 <RESULT IF_PASS NEGATIVE>
8966 <RESULT IF_PASS POSITIVE>
8967 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
8973 .*---------------------------------------------------------------------*
8974 :h3.TTCN-3::UniquenessEnumId-> Altstep identifier
8975 .*---------------------------------------------------------------------*
8977 <TC - TTCN-3::UniquenessEnumId-> Altstep identifier>
8981 <MODULE TTCN ModuleA ModuleA.ttcn>
8983 type enumerated MyEnum {Monday, T, W};
8985 [] any port.check {};
8990 <RESULT IF_PASS NEGATIVE>
8993 <RESULT IF_PASS POSITIVE>
8994 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9000 .*---------------------------------------------------------------------*
9001 :h3.TTCN-3::UniquenessEnumId-> Altstep: const identifier
9002 .*---------------------------------------------------------------------*
9004 <TC - TTCN-3::UniquenessEnumId-> Altstep: const identifier>
9008 <MODULE TTCN ModuleA ModuleA.ttcn>
9010 type enumerated MyEnum {Monday, T, W};
9011 altstep MyAltstep() {
9012 const integer Monday := 1;
9013 [] any port.check {};
9018 <RESULT IF_PASS NEGATIVE>
9021 <RESULT IF_PASS POSITIVE>
9022 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9028 .*---------------------------------------------------------------------*
9029 :h3.TTCN-3::UniquenessEnumId-> Function_runs_on identifier
9030 .*---------------------------------------------------------------------*
9032 <TC - TTCN-3::UniquenessEnumId-> Function_runs_on identifier>
9036 <MODULE TTCN ModuleA ModuleA.ttcn>
9038 type enumerated MyEnum {Monday, T, W};
9039 type component MyCompType {}
9040 function Monday() runs on MyCompType {}
9043 <RESULT IF_PASS NEGATIVE>
9046 <RESULT IF_PASS POSITIVE>
9047 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9053 .*---------------------------------------------------------------------*
9054 :h3.TTCN-3::UniquenessEnumId-> Function_runs_on: const identifier
9055 .*---------------------------------------------------------------------*
9057 <TC - TTCN-3::UniquenessEnumId-> Function_runs_on: const identifier>
9061 <MODULE TTCN ModuleA ModuleA.ttcn>
9063 type enumerated MyEnum {Monday, T, W};
9064 type component MyCompType {}
9065 function MyCompFunc() runs on MyCompType {
9066 const integer Monday := 3;
9070 <RESULT IF_PASS NEGATIVE>
9073 <RESULT IF_PASS POSITIVE>
9074 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9080 .*---------------------------------------------------------------------*
9081 :h3.TTCN-3::UniquenessEnumId-> Altstep_runs_on identifier
9082 .*---------------------------------------------------------------------*
9084 <TC - TTCN-3::UniquenessEnumId-> Altstep_runs_on identifier>
9088 <MODULE TTCN ModuleA ModuleA.ttcn>
9090 type enumerated MyEnum {Monday, T, W};
9091 type component MyCompType {}
9092 altstep Monday() runs on MyCompType {
9093 [] any port.check {};
9098 <RESULT IF_PASS NEGATIVE>
9101 <RESULT IF_PASS POSITIVE>
9102 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9108 .*---------------------------------------------------------------------*
9109 :h3.TTCN-3::UniquenessEnumId-> Altstep_runs_on: const identifier
9110 .*---------------------------------------------------------------------*
9112 <TC - TTCN-3::UniquenessEnumId-> Altstep_runs_on: const identifier>
9116 <MODULE TTCN ModuleA ModuleA.ttcn>
9118 type enumerated MyEnum {Monday, T, W};
9119 type component MyCompType {}
9120 altstep MyCompAltstep() runs on MyCompType {
9121 const integer Monday := 1;
9122 [] any port.check {};
9127 <RESULT IF_PASS NEGATIVE>
9130 <RESULT IF_PASS POSITIVE>
9131 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9137 .*---------------------------------------------------------------------*
9138 :h3.TTCN-3::UniquenessEnumId-> Testcase identifier
9139 .*---------------------------------------------------------------------*
9141 <TC - TTCN-3::UniquenessEnumId-> Testcase identifier>
9145 <MODULE TTCN ModuleA ModuleA.ttcn>
9147 type enumerated MyEnum {Monday, T, W};
9148 type component MyCompType {}
9149 testcase Monday() runs on MyCompType {}
9152 <RESULT IF_PASS NEGATIVE>
9155 <RESULT IF_PASS POSITIVE>
9156 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9162 .*---------------------------------------------------------------------*
9163 :h3.TTCN-3::UniquenessEnumId-> Testcase: const identifier
9164 .*---------------------------------------------------------------------*
9166 <TC - TTCN-3::UniquenessEnumId-> Testcase: const identifier>
9170 <MODULE TTCN ModuleA ModuleA.ttcn>
9172 type enumerated MyEnum {Monday, T, W};
9173 type component MyCompType {}
9174 testcase MyTestcase() runs on MyCompType {
9175 const integer Monday := 3;
9179 <RESULT IF_PASS NEGATIVE>
9182 <RESULT IF_PASS POSITIVE>
9183 (?im)\bnotify\b.+?\bGenerating\b.+?\bcode\b
9190 .*---------------------------------------------------------------------*
9191 :h2.Uniqueness of group names
9192 .*---------------------------------------------------------------------*
9193 This test case group covers the requirement SA-3/7.
9195 :nl.- Group identifiers across the whole module need not necessarily be unique.
9196 However, all group identifiers on the same level of hierarchy shall be
9197 unique and sub-groups in a lower level of hierarchy shall not have the
9198 same name as a group in a higher level of hierarchy.
9201 .*---------------------------------------------------------------------*
9202 :h3. group scope test 1
9203 .*---------------------------------------------------------------------*
9205 <TC - group scope test 1 >
9208 <MODULE TTCN ModuleA ModuleA.ttcn>
9218 <RESULT IF_FAIL COUNT 1>
9219 (?im)\berror\b.+Duplicate group with name
9221 <RESULT IF_FAIL COUNT 1>
9222 (?im)\bnote\b.+Group .+ is already defined here
9227 .*---------------------------------------------------------------------*
9228 :h3. group scope test 2
9229 .*---------------------------------------------------------------------*
9231 <TC - group scope test 2 >
9234 <MODULE TTCN ModuleA ModuleA.ttcn>
9244 <RESULT IF_FAIL COUNT 1>
9245 (?im)\berror\b.+Duplicate definition with name
9250 .*---------------------------------------------------------------------*
9251 :h3. group scope test 3
9252 .*---------------------------------------------------------------------*
9254 <TC - group scope test 3 >
9257 <MODULE TTCN ModuleA ModuleA.ttcn>
9265 <RESULT IF_FAIL COUNT 1>
9266 (?im)\berror\b.+Duplicate definition with name
9271 .*---------------------------------------------------------------------*
9272 :h3. group scope test 4
9273 .*---------------------------------------------------------------------*
9275 <TC - group scope test 4 >
9278 <MODULE TTCN ModuleA ModuleA.ttcn>
9290 <RESULT IF_PASS NEGATIVE>
9293 <RESULT IF_PASS NEGATIVE>
9299 .*---------------------------------------------------------------------*
9300 :h3. group scope test 5
9301 .*---------------------------------------------------------------------*
9303 <TC - group scope test 5 >
9306 <MODULE TTCN ModuleA ModuleA.ttcn>
9310 type integer my_type_1;
9315 type charstring my_type_2;
9320 const my_type_1 i1 := 1;
9321 const my_type_2 c1 := "";
9325 <RESULT IF_PASS NEGATIVE>
9328 <RESULT IF_PASS NEGATIVE>
9335 .*---------------------------------------------------------------------*
9336 :h2.Runs on self functions
9337 .*---------------------------------------------------------------------*
9338 This test case group covers the requirement SA-x/x.
9340 :nl.- There is no need to predefine and set the component where the function
9341 will run any more. Instead the "runs on self" clause can be used in case.
9342 This type of function and function reference cannot be a part any of the send
9343 or receive statement, not compatible with other functions with exacly defined
9345 And also function with runs on clause cannot be the argument of any
9346 Component's start().
9349 .*---------------------------------------------------------------------*
9350 :h3.TTCN-3:: Runs on self: type mismatch
9351 .*---------------------------------------------------------------------*
9353 <TC - TTCN-3::Runs on self: type mismatch>
9357 <MODULE TTCN ModuleA ModuleA.ttcn>
9360 type function CallbackFunctionRefRunsonLib () runs on Library_CT;
9361 type function CallbackFunctionRefRunsonSelf () runs on self;
9363 type component Library_CT
9365 var CallbackFunctionRefRunsonSelf v_CallbackRef_self := null;
9366 var CallbackFunctionRefRunsonLib v_CallbackRef_LibCT := null;
9370 function f_testFunc() runs on Library_CT
9372 v_CallbackRef_self := v_CallbackRef_LibCT;
9374 v_CallbackRef_LibCT := v_CallbackRef_self;
9379 <RESULT IF_PASS COUNT 1>
9380 (?im)\berror: Type mismatch: a value of type `@ModuleA.CallbackFunctionRefRunsonSelf' was expected instead of `@ModuleA.CallbackFunctionRefRunsonLib'
9382 <RESULT IF_PASS COUNT 1>
9383 (?is)\berror: Type mismatch: a value of type `@ModuleA.CallbackFunctionRefRunsonLib' was expected instead of `@ModuleA.CallbackFunctionRefRunsonSelf'
9385 <RESULT IF_PASS POSITIVE>
9386 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9393 .*---------------------------------------------------------------------*
9394 :h3.TTCN-3:: Runs on self: start
9395 .*---------------------------------------------------------------------*
9397 <TC - TTCN-3::Runs on self: start>
9401 <MODULE TTCN ModuleA ModuleA.ttcn>
9404 type function CallbackFunctionRefRunsonLib () runs on Library_CT;
9405 type function CallbackFunctionRefRunsonSelf () runs on self;
9407 type component Library_CT
9409 var CallbackFunctionRefRunsonSelf v_CallbackRef_self := null;
9410 var CallbackFunctionRefRunsonLib v_CallbackRef_LibCT := null;
9414 function f_testFunc() runs on Library_CT
9417 var Library_CT libCT := Library_CT.create;
9419 libCT.start(derefers(v_CallbackRef_self)());
9425 <RESULT IF_PASS COUNT 1>
9426 (?im)\berror: The argument cannot be a function reference with 'runs on self' clause
9428 <RESULT IF_PASS POSITIVE>
9429 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9435 .*---------------------------------------------------------------------*
9436 :h3.TTCN-3:: Runs on self: send
9437 .*---------------------------------------------------------------------*
9439 <TC - TTCN-3::Runs on self: send>
9443 <MODULE TTCN ModuleA ModuleA.ttcn>
9446 type port MyPort_PT message
9451 type function CallbackFunctionRefRunsonLib () runs on Library_CT;
9452 type function CallbackFunctionRefRunsonSelf () runs on self;
9457 CallbackFunctionRefRunsonSelf callbSelf
9460 type component Library_CT
9462 var CallbackFunctionRefRunsonSelf v_CallbackRef_self := null;
9463 var CallbackFunctionRefRunsonLib v_CallbackRef_LibCT := null;
9466 port MyPort_PT MyPort;
9469 function f_testFunc() runs on Library_CT
9472 var myRec_t myrec := {i := 0, callbSelf := refers(f_testFunc)};
9480 <RESULT IF_PASS COUNT 1>
9481 (?im)\berror: Function type `@ModuleA.CallbackFunctionRefRunsonSelf' with 'runs on self' clause cannot be sent or received on a port
9483 <RESULT IF_PASS POSITIVE>
9484 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9490 .*---------------------------------------------------------------------*
9491 :h3.TTCN-3:: Runs on self: module parameter
9492 .*---------------------------------------------------------------------*
9494 <TC - TTCN-3::Runs on self: module parameter>
9498 <MODULE TTCN ModuleA ModuleA.ttcn>
9501 type function f_runsonSelf () runs on self;
9502 modulepar f_runsonSelf m_modPar;
9506 <RESULT IF_PASS COUNT 1>
9507 (?im)\berror: Type of module parameter cannot be of function reference type.+?which has runs on self clause
9509 <RESULT IF_PASS POSITIVE>
9510 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9516 .*---------------------------------------------------------------------*
9518 .*---------------------------------------------------------------------*
9520 :li D='ASN.1'.Abstract Syntax Notation 1
9521 :li D='EDML'.Ericsson Document Markup Language
9522 :li D='SA'.Semantic Analyser
9523 :li D='TTCN-3'.Test and Test Control Notation version 3
9526 .*---------------------------------------------------------------------*
9528 .*---------------------------------------------------------------------*
9530 :li D='[1]'.3/ETH/RUS-2003:0087 Uen
9531 :nl.Requirement Specification for TITAN's TTCN-3 Semantic Analyser
9532 :li D='[2]'.1/174 02-FCPCA 101 42 Uen
9533 :nl.Statement of Compliance for TITAN project
9534 :li D='[3]'.ETSI ES 201 873-1, v3.0.0 Mockup v1 (2004-03):
9535 :nl.Testing and Test Control Notation version 3.,
9536 :nl.Part 1: TTCN-3 Core Language
9539 .*---------------------------------------------------------------------*
9541 .*---------------------------------------------------------------------*
9543 :li D='TITAN'.Ericsson's TTCN-3 Test Environment