1 .******************************************************************************
2 .* Copyright (c) 2000-2016 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
20 .* Szabo, Janos Zoltan – initial implementation
23 .******************************************************************************/
27 .* EDML webpage: http://cpi.ericsson.se/dwaxe/
28 .* EDML2PDF converter: http://dwaxe.ericsson.se/x2pdf
29 .* EDML user guide: http://www.lmc.ericsson.se/~lmcmarg/isit/edml_ug.html
31 .* Document header information
32 :docname.Test Description
33 :docno.17/152 91-CRL 113 200/3 Uen
37 :prep.ETH/XZ Jeno Balasko
38 :appr.ETH/XZ (Gyula Koos)
41 :title.Test description of the TTCN-3 Semantic Analyzer: Values, Value Lists, Ranges, Length, Dimensions, Durations and Subtyping
43 .*---------------------------------------------------------------------*
45 .*---------------------------------------------------------------------*
46 .*---------------------------------------------------------------------*
48 .*---------------------------------------------------------------------*
50 REV DATE PREPARED CHANGE
51 __________________________________________________
52 PA1 2005-02-17 ESNDPAL New document for TITAN R6
53 A 2005-03-18 ESNDPAL Approved after review
54 B 2005-12-16 EKRISZA Updates for TITAN R6D
55 C 2006-07-31 EDMDELI Updates for TITAN R6E
56 D 2007-03-06 EJNOSZA Updates for TITAN R7A
57 PE1 2008-01-22 EFERKOV Changes for TITAN R7C
58 PE2 2008-01-25 ETHNBA Updates for TITAN R7C
59 F 2009-06-11 EKRISZA Name correction
60 G 2009-09-10 EKRISZA New tests for modified templates.
61 H 2010-01-25 EKRISZA Refreshed version number
62 I 2010-07-02 EKRISZA version update
63 J 2010-07-02 EKRISZA version update
64 K 2010-12-14 EKRISZA version update
65 PL1 2011-02-23 ESZABRE Constant folding for indexes
66 L 2011-02-23 EKRISZA removed line ending whitespaces
67 M 2011-10-10 EKRISZA version update
68 A 2011-12-12 EKRISZA Updated for release
69 A 2012-06-27 EFERKOV Updated for release
70 A 2013-01-17 EKRIPND Updated for release
72 .*---------------------------------------------------------------------*
74 .*---------------------------------------------------------------------*
75 The purpose of this Test Description is to define and describe the function
76 test activity for the Semantic Analyser functionality of the TTCN-3 compiler:
77 :nl.SA-6/x: Values, Value Lists, Ranges, Length, Dimensions, Durations and Subtyping.
78 :p.The specification of the test cases can be found in this document.
79 .*---------------------------------------------------------------------*
81 .*---------------------------------------------------------------------*
82 .*---------------------------------------------------------------------*
84 .*---------------------------------------------------------------------*
85 No specific hardware requirement.
86 .*---------------------------------------------------------------------*
88 .*---------------------------------------------------------------------*
89 Tests shall be carried out on the following platforms:
91 :li D='1.'.Solaris 8 (Sun OS 5.8) (gcc 3.0.4)
92 :li D='2.'.SUSE Linux Enterprise server 8 (2.4.19-4GB) (gcc 3.2)
93 :li D='3.'.CYGWIN_NT-5.0 (Cygwin DLL: 1.5.12) on Windows 2000 (gcc 3.3.3)
95 .*---------------------------------------------------------------------*
97 .*---------------------------------------------------------------------*
98 The test environment had been setup in CVS. The tester program is stored in:
99 :nl.TTCNv3/function_test/Tools/SAtester.pl
100 :nl.Test cases are stored with extension .script in the directory:
101 :nl.TTCNv3/function_test/Semantic_Analyser/
102 .*---------------------------------------------------------------------*
104 .*---------------------------------------------------------------------*
105 Install proper TITAN binaries on the used platforms and make sure that
106 your environment settings are correct:
108 :li D='1.'.TTCN3_DIR is set
109 :li D='2.'.$TTCN3_DIR/bin is added to the PATH variable
110 :li D='3.'.$TTCN3_DIR/lib is added to the LD_LIBRARY_PATH variable
111 :li D='4.'.Perl 5.6.0 or higher is available on the platform
112 :li D='5.'.Create a symlink to your Perl binary into the directory where the
113 test cases are stored:
114 :nl.ln -s <your Perl> perl
116 .*---------------------------------------------------------------------*
118 .*---------------------------------------------------------------------*
119 A tester program had been written in Perl especially for the Semantic Analyser
120 tests. For the list of command line parameters, type 'SAtester.pl -help', for the
121 complete documentation, type 'SAtester.pl -doc'.
122 :p.Test cases are specified in the Test Description documents in EDML format.
123 The tester program parses these files and generates the TTCN-3/ASN.1 modules, then
124 calls the compiler to compile them. The result printout is then matched against
125 different patterns to be able to set the verdict. Test cases contain not only
126 the source modules, but the patterns as well.
127 :p.The tester program allows one-by-one execution of test cases and batched
129 :p.NOTE: the tester program requires Perl 5.6.0 or higher.
130 .*---------------------------------------------------------------------*
132 .*---------------------------------------------------------------------*
133 Ref [1]: SA-6/x: Values, Value Lists, Ranges, Length, Dimensions, Durations and Subtyping
134 .*---------------------------------------------------------------------*
136 .*---------------------------------------------------------------------*
137 .*---------------------------------------------------------------------*
138 :h3.Allowed subtyping
139 .*---------------------------------------------------------------------*
141 This test case group covers the requirement SA-6/1.
143 Strategy: TTCN-3 Core Language side:26, Table 3.
144 :nl.All not allowed subtyping shall be tested based in the table.
145 For all types in the table, there shall be one case when the subtyping is
146 used directly with the type name and one for a named type that has a root
147 type of the tested type, for example:
149 type integer i1 length(10);
150 type i1 i2 length(10);
152 Both types are defined in one module.
154 TODO: port, component and default tests are missing.
156 NOTE: the address type is a user defined type so we won't test it.
158 .*---------------------------------------------------------------------*
159 :h4. Allowed subtyping - integer length
160 .*---------------------------------------------------------------------*
163 <TC - Allowed subtyping - integer length>
167 <MODULE TTCN Temp Temp.ttcn>
170 type integer FaultyInt1 length(10);
172 type Int FaultyInt2 length(4);
176 <RESULT IF_PASS COUNT 2>
177 (?im)Length.+?subtyping.+?not.+?allowed
180 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
182 <RESULT IF_PASS COUNT 2>
189 .*---------------------------------------------------------------------*
190 :h4. Allowed subtyping - float length
191 .*---------------------------------------------------------------------*
194 <TC - Allowed subtyping - float length>
198 <MODULE TTCN Temp Temp.ttcn>
201 type float FaultyFloat1 length(10);
203 type Float FaultyFloat2 length(4);
207 <RESULT IF_PASS COUNT 2>
208 (?im)Length.+?subtyping.+?not.+?allowed
211 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
213 <RESULT IF_PASS COUNT 2>
220 .*---------------------------------------------------------------------*
221 :h4. Allowed subtyping - boolean range
222 .*---------------------------------------------------------------------*
225 <TC - Allowed subtyping - boolean range>
229 <MODULE TTCN Temp Temp.ttcn>
232 type boolean FaultyBool1 (false..true);
234 type Bool FaultyBool2 (false..true);
235 type boolean FaultyBool3 (true..true);
236 type boolean FaultyBool4 (true..false);
240 <RESULT IF_PASS COUNT 4>
241 (?im)Range.+?subtyping.+?not.+?allowed
244 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
246 <RESULT IF_PASS COUNT 4>
253 .*---------------------------------------------------------------------*
254 :h4. Allowed subtyping - boolean length
255 .*---------------------------------------------------------------------*
258 <TC - Allowed subtyping - boolean length>
262 <MODULE TTCN Temp Temp.ttcn>
265 type boolean FaultyBool1 length(1);
267 type Bool FaultyBool2 length(2);
271 <RESULT IF_PASS COUNT 2>
272 (?im)Length.+?subtyping.+?not.+?allowed
275 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
277 <RESULT IF_PASS COUNT 2>
284 .*---------------------------------------------------------------------*
285 :h4. Allowed subtyping - objid range
286 .*---------------------------------------------------------------------*
289 <TC - Allowed subtyping - objid range>
293 <MODULE TTCN Temp Temp.ttcn>
296 type objid FaultyObjid1 (objid{0 1 2} .. objid{0 1 4});
298 type Objid FaultyObjid2 (objid{0 1 2} .. objid{0 1 4});
299 type objid FaultyObjid3 (objid{0 2 4} .. objid{0 1 2});
303 <RESULT IF_PASS COUNT 3>
304 (?im)subtyping.+?not.+?allowed
307 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
309 <RESULT IF_PASS COUNT 3>
316 .*---------------------------------------------------------------------*
317 :h4. Allowed subtyping - objid length
318 .*---------------------------------------------------------------------*
321 <TC - Allowed subtyping - objid length>
325 <MODULE TTCN Temp Temp.ttcn>
328 type objid FaultyObjid1 length(3);
330 type Objid FaultyObjid2 length(4)
334 <RESULT IF_PASS COUNT 2>
335 (?im)subtyping.+?not.+?allowed
338 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
340 <RESULT IF_PASS COUNT 2>
347 .*---------------------------------------------------------------------*
348 :h4. Allowed subtyping - verdicttype range
349 .*---------------------------------------------------------------------*
352 <TC - Allowed subtyping - verdicttype range>
356 <MODULE TTCN Temp Temp.ttcn>
359 type verdicttype FaultyVerdict1 (pass..error);
360 type verdicttype Verdict;
361 type verdicttype FaultyVerdict2 (pass..fail);
365 <RESULT IF_PASS COUNT 2>
366 (?im)subtyping.+?not.+?allowed
369 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
371 <RESULT IF_PASS COUNT 2>
378 .*---------------------------------------------------------------------*
379 :h4. Allowed subtyping - verdicttype length
380 .*---------------------------------------------------------------------*
383 <TC - Allowed subtyping - verdicttype length>
387 <MODULE TTCN Temp Temp.ttcn>
390 type verdicttype FaultyVerdict1 length(1);
391 type verdicttype Verdict;
392 type Verdict FaultyVerdict2 length(2);
396 <RESULT IF_PASS COUNT 2>
397 (?im)subtyping.+?not.+?allowed
400 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
402 <RESULT IF_PASS COUNT 2>
409 .*---------------------------------------------------------------------*
410 :h4. Allowed subtyping - bitstring range
411 .*---------------------------------------------------------------------*
414 <TC - Allowed subtyping - bitstring range>
418 <MODULE TTCN Temp Temp.ttcn>
421 type bitstring FaultyBS1 ('0000'B .. '0111'B);
423 type BS FaultyBS2 ('1000'B .. '1111'B);
427 <RESULT IF_PASS COUNT 2>
428 (?im)subtyping.+?not.+?allowed
431 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
433 <RESULT IF_PASS COUNT 2>
440 .*---------------------------------------------------------------------*
441 :h4. Allowed subtyping - hexstring range
442 .*---------------------------------------------------------------------*
445 <TC - Allowed subtyping - hexstring range>
449 <MODULE TTCN Temp Temp.ttcn>
452 type hexstring FaultyHS1 ('000'H .. 'A53'H);
454 type HS FaultyHS2 ('100'H .. 'FFF'H);
458 <RESULT IF_PASS COUNT 2>
459 (?im)subtyping.+?not.+?allowed
462 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
464 <RESULT IF_PASS COUNT 2>
471 .*---------------------------------------------------------------------*
472 :h4. Allowed subtyping - octetstring range
473 .*---------------------------------------------------------------------*
476 <TC - Allowed subtyping - octetstring range>
480 <MODULE TTCN Temp Temp.ttcn>
483 type octetstring FaultyOS1 ('0000'O .. 'AB53'O);
485 type OS FaultyOS2 ('00'O .. '7F'O);
489 <RESULT IF_PASS COUNT 2>
490 (?im)subtyping.+?not.+?allowed
493 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
495 <RESULT IF_PASS COUNT 2>
502 .*---------------------------------------------------------------------*
503 :h4. Allowed subtyping - record range
504 .*---------------------------------------------------------------------*
507 <TC - Allowed subtyping - record range>
511 <MODULE TTCN Temp Temp.ttcn>
519 const Record c_lower := {0, 0.0};
520 const Record c_upper := {10, 10.0};
522 type Record FaultyRecord1 (0 .. 10);
523 type Record FaultyRecord2 (c_lower .. c_upper);
527 <RESULT IF_PASS COUNT 2>
528 (?im)subtyping.+?not.+?allowed
530 <RESULT IF_PASS COUNT 1>
531 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
533 <RESULT IF_PASS COUNT 2>
540 .*---------------------------------------------------------------------*
541 :h4. Allowed subtyping - record length
542 .*---------------------------------------------------------------------*
545 <TC - Allowed subtyping - record length>
549 <MODULE TTCN Temp Temp.ttcn>
556 type Record FaultyRecord length(12);
560 <RESULT IF_PASS COUNT 1>
561 (?im)subtyping.+?not.+?allowed
563 <RESULT IF_PASS COUNT 1>
564 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
566 <RESULT IF_PASS COUNT 1>
573 .*---------------------------------------------------------------------*
574 :h4. Allowed subtyping - record of range
575 .*---------------------------------------------------------------------*
578 <TC - Allowed subtyping - record of range>
582 <MODULE TTCN Temp Temp.ttcn>
585 type record of integer RecordOfInt;
587 const RecordOfInt c_lower := {0, 0};
588 const RecordOfInt c_upper := {10, 10};
590 type RecordOfInt FaultyRecordOfInt1 (0 .. 10);
591 type RecordOfInt FaultyRecordOfInt2 (c_lower .. c_upper);
595 <RESULT IF_PASS COUNT 2>
596 (?im)subtyping.+?not.+?allowed
598 <RESULT IF_PASS COUNT 1>
599 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
601 <RESULT IF_PASS COUNT 2>
608 .*---------------------------------------------------------------------*
609 :h4. Allowed subtyping - set range
610 .*---------------------------------------------------------------------*
613 <TC - Allowed subtyping - set range>
617 <MODULE TTCN Temp Temp.ttcn>
625 const Set c_lower := {0, 0.0};
626 const Set c_upper := {10, 10.0};
628 type Set FaultySet1 (0 .. 10);
629 type Set FaultySet2 (c_lower .. c_upper);
633 <RESULT IF_PASS COUNT 2>
634 (?im)Value.+?list.+?notation.+?cannot.+?used
636 <RESULT IF_PASS COUNT 2>
637 (?im)subtyping.+?not.+?allowed
639 <RESULT IF_PASS COUNT 1>
640 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
642 <RESULT IF_PASS COUNT 4>
649 .*---------------------------------------------------------------------*
650 :h4. Allowed subtyping - set length
651 .*---------------------------------------------------------------------*
654 <TC - Allowed subtyping - set length>
658 <MODULE TTCN Temp Temp.ttcn>
665 type Set FaultySet length(12);
669 <RESULT IF_PASS COUNT 1>
670 (?im)subtyping.+?not.+?allowed
672 <RESULT IF_PASS COUNT 1>
673 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
675 <RESULT IF_PASS COUNT 1>
682 .*---------------------------------------------------------------------*
683 :h4. Allowed subtyping - set of range
684 .*---------------------------------------------------------------------*
687 <TC - Allowed subtyping - set of range>
691 <MODULE TTCN Temp Temp.ttcn>
694 type set of integer SetOfInt;
696 const SetOfInt c_lower := {0, 0};
697 const SetOfInt c_upper := {10, 10};
699 type SetOfInt FaultySetOfInt1 (0 .. 10);
700 type SetOfInt FaultySetOfInt2 (c_lower .. c_upper);
704 <RESULT IF_PASS COUNT 2>
705 (?im)subtyping.+?not.+?allowed
707 <RESULT IF_PASS COUNT 1>
708 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
710 <RESULT IF_PASS COUNT 2>
717 .*---------------------------------------------------------------------*
718 :h4. Allowed subtyping - enumerated range
719 .*---------------------------------------------------------------------*
722 <TC - Allowed subtyping - enumerated range>
726 <MODULE TTCN Temp Temp.ttcn>
729 type enumerated Enum { EnumValue0(0), EnumValue1(1), EnumValue2(2), EnumValue3(3) };
730 type Enum FaultyEnum1 (0..2);
731 type Enum FaultyEnum2 (EnumValue0..EnumValue2);
735 <RESULT IF_PASS COUNT 2>
736 (?im)subtyping.+?not.+?allowed
738 <RESULT IF_PASS COUNT 1>
739 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
741 <RESULT IF_PASS COUNT 2>
748 .*---------------------------------------------------------------------*
749 :h4. Allowed subtyping - enumerated length
750 .*---------------------------------------------------------------------*
753 <TC - Allowed subtyping - enumerated length>
757 <MODULE TTCN Temp Temp.ttcn>
760 type enumerated Enum { EnumValue0(0), EnumValue1(1), EnumValue2(2), EnumValue3(3) };
761 type Enum FaultyEnum length(4);
765 <RESULT IF_PASS COUNT 1>
766 (?im)subtyping.+?not.+?allowed
768 <RESULT IF_PASS COUNT 1>
769 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
771 <RESULT IF_PASS COUNT 1>
778 .*---------------------------------------------------------------------*
779 :h4. Allowed subtyping - union range
780 .*---------------------------------------------------------------------*
783 <TC - Allowed subtyping - union range>
787 <MODULE TTCN Temp Temp.ttcn>
795 const Union c_lower := {intField := 0};
796 const Union c_upper := {intField := 10};
798 type Union FaultyUnion1 (0 .. 10);
799 type Union FaultyUnion2 (c_record_lower .. c_record_upper);
803 <RESULT IF_PASS COUNT 2>
804 (?im)subtyping.+?not.+?allowed
806 <RESULT IF_PASS COUNT 1>
807 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
809 <RESULT IF_PASS COUNT 2>
816 .*---------------------------------------------------------------------*
817 :h4. Allowed subtyping - union length
818 .*---------------------------------------------------------------------*
821 <TC - Allowed subtyping - union length>
825 <MODULE TTCN Temp Temp.ttcn>
832 type Union FaultyUnion length(8);
836 <RESULT IF_PASS COUNT 1>
837 (?im)subtyping.+?not.+?allowed
839 <RESULT IF_PASS COUNT 1>
840 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
842 <RESULT IF_PASS COUNT 1>
849 .*---------------------------------------------------------------------*
850 :h4. TTCN-3::FunctionReference->Subtyping: length
851 .*---------------------------------------------------------------------*
853 <TC - TTCN-3::FunctionReference->Subtyping: length>
856 <MODULE TTCN Temp Temp.ttcn>
858 type function fntype() length(10);
861 <RESULT IF_FAIL COUNT 1>
862 (?im)\berror\b.+?syntax.+?error
864 <RESULT IF_FAIL POSITIVE>
865 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
870 .*---------------------------------------------------------------------*
871 :h4. TTCN-3::FunctionReference->Subtyping: range
872 .*---------------------------------------------------------------------*
874 <TC - TTCN-3::FunctionReference->Subtyping: range>
877 <MODULE TTCN Temp Temp.ttcn>
882 type function fntype() (fn1..fn3);
885 <RESULT IF_FAIL COUNT 1>
886 (?im)\berror\b.+?syntax.+?error
888 <RESULT IF_FAIL POSITIVE>
889 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
894 .*---------------------------------------------------------------------*
896 .*---------------------------------------------------------------------*
898 This test case group covers the requirement SA-6/2.
900 Strategy: the values in the list shall be a true subset of the values defined by the root type
901 All occurances shall be tested, where such a notation can be used.
903 .*---------------------------------------------------------------------*
904 :h3.Mixing different subset notations
905 .*---------------------------------------------------------------------*
907 This test case group covers the requirement SA-6/3.
909 Strategy: Mixing different subset notations is not allowed for the specific type
910 All occurances shall be tested, where such a notation can be used.
912 .*---------------------------------------------------------------------*
913 :h3.Invalid subset notation
914 .*---------------------------------------------------------------------*
916 This test case group covers the requirement SA-6/4.
918 Strategy: the value notation used for subtyping is invalid due to:
920 :li D='-'.duplicated element in a list of values
921 :li D='-'.ranges/lists have intersection (common elements)
922 :li D='-'.lower boundary is greater than upper boundary
923 :li D='-'.the boundaries shall evaluate to valid character positions according to the coded character set table(s) of the type (for example the given position shall not be empty)
925 All occurances shall be tested, where such a notation can be used.
927 .*---------------------------------------------------------------------*
929 .*---------------------------------------------------------------------*
930 .*---------------------------------------------------------------------*
931 :h3.Mixing value notations
932 .*---------------------------------------------------------------------*
934 This test case group covers the requirement SA-6/5.
936 Strategy: check that mixing assignment and value notations are detected
937 for all types that allow the usage of at least one of the notations
938 (that is value, assignment). All occurances shall be tested, where
939 such a notation can be used.
941 Tested: - record and set in function
943 TODO: only a couple of TCs are written, this shall be implemented ones the SA performs the checking and not the parser.
945 .*---------------------------------------------------------------------*
946 :h4.Mixing value notations - assignment notation in value list (record const in function)
947 .*---------------------------------------------------------------------*
949 <TC - Mixing value notations - assignment notation in value list (record const in function)>
952 <MODULE TTCN x x.ttcn>
961 // NOTE: catched by the parser
962 // TR 709: Not allowed value notation reporting
963 var Record FaultyRecord := { 10, F:= 0.0, "error" };
968 <RESULT IF_FAIL COUNT 1>
969 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?:=
974 .*---------------------------------------------------------------------*
975 :h4.Mixing value notations - assignment notation in value list (set const in function)
976 .*---------------------------------------------------------------------*
978 <TC - Mixing value notations - assignment notation in value list (set const in function)>
981 <MODULE TTCN x x.ttcn>
990 // NOTE: catched by the parser
991 // TR 709: Not allowed value notation reporting
992 const setType s := { 10, F:= 0.0, "error" };
998 <RESULT IF_FAIL COUNT 1>
999 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?:=
1004 .*---------------------------------------------------------------------*
1005 :h3.Allowed value notations
1006 .*---------------------------------------------------------------------*
1008 This test case group covers the requirement SA-6/6.
1011 All occurances shall be tested, where such a notation can be used:
1013 :li D='-'.in constants and variables
1014 :li D='-'.in templates (static, modified, dynamic)
1016 All elements in the tables below are tested in 2 situations (whenever it is allowed):
1017 in module definition part and within a function.
1020 :nl.for constants and variables:
1021 :nl.=================================================================================
1022 :nl. type assignment | value list | array | value assignment notation
1023 :nl.=================================================================================
1024 :nl.basic types T T O T
1025 :nl.---------------------------------------------------------------------------------
1026 :nl.string types T T - T
1027 :nl.---------------------------------------------------------------------------------
1029 :nl.---------------------------------------------------------------------------------
1031 :nl.---------------------------------------------------------------------------------
1033 :nl.---------------------------------------------------------------------------------
1034 :nl.record of T - - O
1035 :nl.---------------------------------------------------------------------------------
1037 :nl.---------------------------------------------------------------------------------
1038 :nl.enumerated T T O T
1039 :nl.---------------------------------------------------------------------------------
1041 :nl.for templates and dynamic templates:
1042 :nl.=================================================================================
1043 :nl. type assignment | value list | array | value assignment notation
1044 :nl.=================================================================================
1045 :nl.basic types T T O T
1046 :nl.---------------------------------------------------------------------------------
1047 :nl.string types T T - T
1048 :nl.---------------------------------------------------------------------------------
1050 :nl.---------------------------------------------------------------------------------
1052 :nl.---------------------------------------------------------------------------------
1054 :nl.---------------------------------------------------------------------------------
1055 :nl.record of T - - O
1056 :nl.---------------------------------------------------------------------------------
1058 :nl.---------------------------------------------------------------------------------
1059 :nl.enumerated T T O T
1060 :nl.---------------------------------------------------------------------------------
1062 :nl.for modified templates:
1063 :nl.=================================================================================
1064 :nl. type assignment | value list | value assignment notation
1065 :nl.=================================================================================
1066 :nl.basic types T T T
1067 :nl.---------------------------------------------------------------------------------
1068 :nl.string types T T T
1069 :nl.---------------------------------------------------------------------------------
1071 :nl.---------------------------------------------------------------------------------
1073 :nl.---------------------------------------------------------------------------------
1075 :nl.---------------------------------------------------------------------------------
1077 :nl.---------------------------------------------------------------------------------
1079 :nl.---------------------------------------------------------------------------------
1080 :nl.enumerated T T T
1081 :nl.---------------------------------------------------------------------------------
1082 :nl.(array notation is not used for modified templates)
1086 basic types: integer, float, boolean, objid, verdicttype, anytype, address, port, component, default
1087 string types: bitstring, hexstring, charstring, octetstring, universal charstring
1089 T: type compatibility error, shall not be tested here
1090 :nl.O: semantic error, shall be tested here
1091 :nl.-: allowed, so cannot be negative-tested
1093 Tested: The upper tables for:
1095 :li D='-'.constants in definition part and function
1096 :li D='-'.templates in definition part
1099 TODO: - Dinamic template tests are not ready.
1102 :nl.- type "anytype" haven't implemented yet. Can't use array notation for type "port".
1103 :nl.- the type "address" in the TITAN implementation is a user defined type, so we won't test it.
1105 .*---------------------------------------------------------------------*
1106 :h4.Allowed value notations - array notation (const integer in def. part)
1107 .*---------------------------------------------------------------------*
1109 <TC - Allowed value notations - array notation (const integer in def. part)>
1112 <MODULE TTCN x x.ttcn>
1115 const integer r:= 233;
1117 const integer f:= r[0];
1121 <RESULT IF_PASS COUNT 1>
1122 (?im)Type.+?cannot.+?be.+?indexed
1124 <RESULT IF_PASS COUNT 1>
1125 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1127 <RESULT IF_PASS COUNT 1>
1133 .*---------------------------------------------------------------------*
1134 :h4.Allowed value notations - array notation (const integer in function)
1135 .*---------------------------------------------------------------------*
1137 <TC - Allowed value notations - array notation (const integer in function)>
1140 <MODULE TTCN x x.ttcn>
1144 const integer r:= 233;
1145 const integer f:= r[0];
1149 <RESULT IF_PASS COUNT 1>
1150 (?im)Type.+?cannot.+?be.+?indexed
1152 <RESULT IF_PASS COUNT 1>
1153 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1155 <RESULT IF_PASS COUNT 1>
1161 .*---------------------------------------------------------------------*
1162 :h4.Allowed value notations - array notation (template integer in def. part)
1163 .*---------------------------------------------------------------------*
1165 <TC - Allowed value notations - array notation (template integer in def. part)>
1168 <MODULE TTCN x x.ttcn>
1171 template integer r:= 233;
1172 template integer f:= r[0];
1176 <RESULT IF_PASS COUNT 1>
1177 (?im)Type.+?cannot.+?be.+?indexed
1179 <RESULT IF_PASS COUNT 1>
1180 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1182 <RESULT IF_PASS COUNT 1>
1188 .*---------------------------------------------------------------------*
1189 :h4.Allowed value notations - array notation (const float in def. part)
1190 .*---------------------------------------------------------------------*
1192 <TC - Allowed value notations - array notation (const float in def. part)>
1195 <MODULE TTCN x x.ttcn>
1198 const float r:= 23.3;
1200 const float f:= r[0];
1205 <RESULT IF_PASS COUNT 1>
1206 (?im)Type.+?cannot.+?be.+?indexed
1208 <RESULT IF_PASS COUNT 1>
1209 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1211 <RESULT IF_PASS COUNT 1>
1217 .*---------------------------------------------------------------------*
1218 :h4.Allowed value notations - array notation (const float in function)
1219 .*---------------------------------------------------------------------*
1221 <TC - Allowed value notations - array notation (const float in function)>
1224 <MODULE TTCN x x.ttcn>
1228 const float r:= 23.3;
1229 const float f:= r[0];
1234 <RESULT IF_PASS COUNT 1>
1235 (?im)Type.+?cannot.+?be.+?indexed
1237 <RESULT IF_PASS COUNT 1>
1238 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1240 <RESULT IF_PASS COUNT 1>
1246 .*---------------------------------------------------------------------*
1247 :h4.Allowed value notations - array notation (template float in def. part)
1248 .*---------------------------------------------------------------------*
1250 <TC - Allowed value notations - array notation (template float in def. part)>
1253 <MODULE TTCN x x.ttcn>
1256 template float r:= 23.3;
1258 template float f:= r[0];
1263 <RESULT IF_PASS COUNT 1>
1264 (?im)Type.+?cannot.+?be.+?indexed
1266 <RESULT IF_PASS COUNT 1>
1267 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1269 <RESULT IF_PASS COUNT 1>
1275 .*---------------------------------------------------------------------*
1276 :h4.Allowed value notations - array notation (const boolean in def. part)
1277 .*---------------------------------------------------------------------*
1279 <TC - Allowed value notations - array notation (const boolean in def. part)>
1282 <MODULE TTCN x x.ttcn>
1285 const boolean r:= true;
1287 const boolean f:= r[0];
1292 <RESULT IF_PASS COUNT 1>
1293 (?im)Type.+?cannot.+?be.+?indexed
1295 <RESULT IF_PASS COUNT 1>
1296 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1298 <RESULT IF_PASS COUNT 1>
1304 .*---------------------------------------------------------------------*
1305 :h4.Allowed value notations - array notation (const boolean in function)
1306 .*---------------------------------------------------------------------*
1308 <TC - Allowed value notations - array notation (const boolean in function)>
1311 <MODULE TTCN x x.ttcn>
1315 const boolean r:= true;
1316 const boolean f:= r[0];
1321 <RESULT IF_PASS COUNT 1>
1322 (?im)Type.+?cannot.+?be.+?indexed
1324 <RESULT IF_PASS COUNT 1>
1325 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1327 <RESULT IF_PASS COUNT 1>
1333 .*---------------------------------------------------------------------*
1334 :h4.Allowed value notations - array notation (template boolean in def. part)
1335 .*---------------------------------------------------------------------*
1337 <TC - Allowed value notations - array notation (template boolean in def. part)>
1340 <MODULE TTCN x x.ttcn>
1343 template boolean r:= true;
1345 template boolean f:= r[0];
1350 <RESULT IF_PASS COUNT 1>
1351 (?im)Type.+?cannot.+?be.+?indexed
1353 <RESULT IF_PASS COUNT 1>
1354 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1356 <RESULT IF_PASS COUNT 1>
1362 .*---------------------------------------------------------------------*
1363 :h4.Allowed value notations - array notation (const objid in def. part)
1364 .*---------------------------------------------------------------------*
1366 <TC - Allowed value notations - array notation (const objid in def. part)>
1369 <MODULE TTCN x x.ttcn>
1372 const objid r:= objid{ 0 4 };
1374 const objid f:= r[0];
1379 <RESULT IF_PASS COUNT 1>
1380 (?im)Type.+?cannot.+?be.+?indexed
1382 <RESULT IF_PASS COUNT 1>
1383 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1385 <RESULT IF_PASS COUNT 1>
1391 .*---------------------------------------------------------------------*
1392 :h4.Allowed value notations - array notation (const objid in function)
1393 .*---------------------------------------------------------------------*
1395 <TC - Allowed value notations - array notation (const objid in function)>
1398 <MODULE TTCN x x.ttcn>
1402 const objid r:= objid{ 0 4 };
1403 const objid f:= r[0];
1408 <RESULT IF_PASS COUNT 1>
1409 (?im)Type.+?cannot.+?be.+?indexed
1411 <RESULT IF_PASS COUNT 1>
1412 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1414 <RESULT IF_PASS COUNT 1>
1420 .*---------------------------------------------------------------------*
1421 :h4.Allowed value notations - array notation (template objid in def. part)
1422 .*---------------------------------------------------------------------*
1424 <TC - Allowed value notations - array notation (template objid in def. part)>
1427 <MODULE TTCN x x.ttcn>
1430 template objid r:= objid{ 0 4 };
1432 template objid f:= r[0];
1437 <RESULT IF_PASS COUNT 1>
1438 (?im)Type.+?cannot.+?be.+?indexed
1440 <RESULT IF_PASS COUNT 1>
1441 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1443 <RESULT IF_PASS COUNT 1>
1449 .*---------------------------------------------------------------------*
1450 :h4.Allowed value notations - array notation (const verdicttype in def. part)
1451 .*---------------------------------------------------------------------*
1453 <TC - Allowed value notations - array notation (const verdicttype in def. part)>
1456 <MODULE TTCN x x.ttcn>
1459 const verdicttype r:= pass;
1461 const verdicttype f:= r[0];
1466 <RESULT IF_PASS COUNT 1>
1467 (?im)Type.+?cannot.+?be.+?indexed
1469 <RESULT IF_PASS COUNT 1>
1470 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1472 <RESULT IF_PASS COUNT 1>
1478 .*---------------------------------------------------------------------*
1479 :h4.Allowed value notations - array notation (const verdicttype in function)
1480 .*---------------------------------------------------------------------*
1482 <TC - Allowed value notations - array notation (const verdicttype in function)>
1485 <MODULE TTCN x x.ttcn>
1489 const verdicttype r:= pass;
1490 const verdicttype f:= r[0];
1495 <RESULT IF_PASS COUNT 1>
1496 (?im)Type.+?cannot.+?be.+?indexed
1498 <RESULT IF_PASS COUNT 1>
1499 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1501 <RESULT IF_PASS COUNT 1>
1507 .*---------------------------------------------------------------------*
1508 :h4.Allowed value notations - array notation (template verdicttype in def. part)
1509 .*---------------------------------------------------------------------*
1511 <TC - Allowed value notations - array notation (template verdicttype in def. part)>
1514 <MODULE TTCN x x.ttcn>
1517 template verdicttype r:= pass;
1519 template verdicttype f:= r[0];
1524 <RESULT IF_PASS COUNT 1>
1525 (?im)Type.+?cannot.+?be.+?indexed
1527 <RESULT IF_PASS COUNT 1>
1528 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1530 <RESULT IF_PASS COUNT 1>
1536 .*---------------------------------------------------------------------*
1537 :h4.Allowed value notations - array notation (const component in def. part)
1538 .*---------------------------------------------------------------------*
1540 <TC - Allowed value notations - array notation (const component in def. part)>
1543 <MODULE TTCN x x.ttcn>
1546 type component c{ };
1553 <RESULT IF_PASS COUNT 1>
1554 (?im)Type.+?cannot.+?be.+?indexed
1556 <RESULT IF_PASS COUNT 1>
1557 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1559 <RESULT IF_PASS COUNT 1>
1565 .*---------------------------------------------------------------------*
1566 :h4.Allowed value notations - array notation (const component in function)
1567 .*---------------------------------------------------------------------*
1569 <TC - Allowed value notations - array notation (const component in function)>
1572 <MODULE TTCN x x.ttcn>
1575 type component c{ };
1583 <RESULT IF_PASS COUNT 1>
1584 (?im)Type.+?cannot.+?be.+?indexed
1586 <RESULT IF_PASS COUNT 1>
1587 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1589 <RESULT IF_PASS COUNT 1>
1595 .*---------------------------------------------------------------------*
1596 :h4.Allowed value notations - array notation (template component in def. part)
1597 .*---------------------------------------------------------------------*
1599 <TC - Allowed value notations - array notation (template component in def. part)>
1602 <MODULE TTCN x x.ttcn>
1605 type component c{ };
1606 template c r:= null;
1608 template c f:= r[0];
1612 <RESULT IF_PASS COUNT 1>
1613 (?im)Type.+?cannot.+?be.+?indexed
1615 <RESULT IF_PASS COUNT 1>
1616 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1618 <RESULT IF_PASS COUNT 1>
1624 .*---------------------------------------------------------------------*
1625 :h4.Allowed value notations - array notation (const default in def. part)
1626 .*---------------------------------------------------------------------*
1628 <TC - Allowed value notations - array notation (const default in def. part)>
1631 <MODULE TTCN x x.ttcn>
1634 const default r:= null;
1636 const default f:= r[0];
1640 <RESULT IF_PASS COUNT 1>
1641 (?im)Type.+?cannot.+?be.+?indexed
1643 <RESULT IF_PASS COUNT 1>
1644 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1646 <RESULT IF_PASS COUNT 1>
1652 .*---------------------------------------------------------------------*
1653 :h4.Allowed value notations - array notation (const default in function)
1654 .*---------------------------------------------------------------------*
1656 <TC - Allowed value notations - array notation (const default in function)>
1659 <MODULE TTCN x x.ttcn>
1663 const default r:= null;
1664 const default f:= r[0];
1668 <RESULT IF_PASS COUNT 1>
1669 (?im)Type.+?cannot.+?be.+?indexed
1671 <RESULT IF_PASS COUNT 1>
1672 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1674 <RESULT IF_PASS COUNT 1>
1680 .*---------------------------------------------------------------------*
1681 :h4.Allowed value notations - array notation (template default in def. part)
1682 .*---------------------------------------------------------------------*
1684 <TC - Allowed value notations - array notation (template default in def. part)>
1687 <MODULE TTCN x x.ttcn>
1690 template default r:= null;
1692 template default f:= r[0];
1696 <RESULT IF_PASS COUNT 1>
1697 (?im)Type.+?cannot.+?be.+?indexed
1699 <RESULT IF_PASS COUNT 1>
1700 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1702 <RESULT IF_PASS COUNT 1>
1708 .*---------------------------------------------------------------------*
1709 :h4.Allowed value notations - array notation (template bitstring in def. part)
1710 .*---------------------------------------------------------------------*
1712 <TC - Allowed value notations - array notation (template bitstring in def. part)>
1715 <MODULE TTCN x x.ttcn>
1718 template bitstring r:= '01011'B;
1719 template bitstring f:= r[0];
1724 <RESULT IF_PASS COUNT 1>
1725 (?im)type.+?cannot.+?be.+?indexed
1727 <RESULT IF_PASS COUNT 1>
1728 (?im)\bNotify\b.+?\bCode\b.+?\bnot\b.+?\bgenerated\b
1730 <RESULT IF_PASS COUNT 1>
1736 .*---------------------------------------------------------------------*
1737 :h4.Allowed value notations - array notation (template hexstring in def. part)
1738 .*---------------------------------------------------------------------*
1740 <TC - Allowed value notations - array notation (template hexstring in def. part)>
1743 <MODULE TTCN x x.ttcn>
1746 template hexstring r:= 'AB01D'H;
1747 template hexstring f:= r[0];
1752 <RESULT IF_PASS COUNT 1>
1753 (?im)type.+?cannot.+?be.+?indexed
1755 <RESULT IF_PASS COUNT 1>
1756 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1758 <RESULT IF_PASS COUNT 1>
1764 .*---------------------------------------------------------------------*
1765 :h4.Allowed value notations - array notation (template octetstring in def. part)
1766 .*---------------------------------------------------------------------*
1768 <TC - Allowed value notations - array notation (template octetstring in def. part)>
1771 <MODULE TTCN x x.ttcn>
1774 template octetstring r:= '000000'O;
1775 template octetstring f:= r[0];
1780 <RESULT IF_PASS COUNT 1>
1781 (?im)type.+?cannot.+?be.+?indexed
1783 <RESULT IF_PASS COUNT 1>
1784 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1786 <RESULT IF_PASS COUNT 1>
1792 .*---------------------------------------------------------------------*
1793 :h4.Allowed value notations - array notation (template charstring in def. part)
1794 .*---------------------------------------------------------------------*
1796 <TC - Allowed value notations - array notation (template charstring in def. part)>
1799 <MODULE TTCN x x.ttcn>
1802 template charstring r:= "aiyyo";
1803 template charstring f:= r[0];
1808 <RESULT IF_PASS COUNT 1>
1809 (?im)type.+?cannot.+?be.+?indexed
1811 <RESULT IF_PASS COUNT 1>
1812 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1814 <RESULT IF_PASS COUNT 1>
1820 .*---------------------------------------------------------------------*
1821 :h4.Allowed value notations - array notation (template universal charstring in def. part)
1822 .*---------------------------------------------------------------------*
1824 <TC - Allowed value notations - array notation (template universal charstring in def. part)>
1827 <MODULE TTCN x x.ttcn>
1830 template universal charstring r:= "aiyyo" & char( 0, 0, 1, 113) & "yo";
1831 template universal charstring f:= r[0];
1836 <RESULT IF_PASS COUNT 1>
1837 (?im)type.+?cannot.+?be.+?indexed
1839 <RESULT IF_PASS COUNT 1>
1840 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1842 <RESULT IF_PASS COUNT 1>
1848 .*---------------------------------------------------------------------*
1849 :h4.Allowed value notations - array notation (const record in def. part)
1850 .*---------------------------------------------------------------------*
1852 <TC - Allowed value notations - array notation (const record in def. part)>
1855 <MODULE TTCN x x.ttcn>
1858 type record Record {
1864 const Record r := { 1, 0.0, "error" };
1865 const integer f := r[0];
1869 <RESULT IF_PASS COUNT 1>
1870 (?im)Type.+?cannot.+?be.+?indexed
1872 <RESULT IF_PASS COUNT 1>
1873 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1875 <RESULT IF_PASS COUNT 1>
1881 .*---------------------------------------------------------------------*
1882 :h4.Allowed value notations - array notation (const record in function)
1883 .*---------------------------------------------------------------------*
1885 <TC - Allowed value notations - array notation (const record in function)>
1888 <MODULE TTCN x x.ttcn>
1891 type record Record {
1899 const Record r := { 1, 0.0, "aiyyo" };
1900 const integer f := r[0];
1904 <RESULT IF_PASS COUNT 1>
1905 (?im)Type.+?cannot.+?be.+?indexed
1907 <RESULT IF_PASS COUNT 1>
1908 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1910 <RESULT IF_PASS COUNT 1>
1916 .*---------------------------------------------------------------------*
1917 :h4.Allowed value notations - array notation (template record in def. part)
1918 .*---------------------------------------------------------------------*
1920 <TC - Allowed value notations - array notation (template record in def. part)>
1923 <MODULE TTCN x x.ttcn>
1932 template recT r := { I:= 1, F:= 0.0, CS:= "aiyyo" };
1933 template recT f := r[0];
1937 <RESULT IF_PASS COUNT 1>
1938 (?im)Type.+?cannot.+?be.+?indexed
1940 <RESULT IF_PASS COUNT 1>
1941 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1943 <RESULT IF_PASS COUNT 1>
1949 .*---------------------------------------------------------------------*
1950 :h4.Allowed value notations - value assignment notation (const record in def. part)
1951 .*---------------------------------------------------------------------*
1953 <TC - Allowed value notations - value assignment notation (const record in def. part)>
1956 <MODULE TTCN x x.ttcn>
1973 <RESULT IF_FAIL POSITIVE>
1974 (?is)\berror: Indexed assignment notation cannot be used for record type `@x.recT'
1979 .*---------------------------------------------------------------------*
1980 :h4.Allowed value notations - value assignment notation (const record in function)
1981 .*---------------------------------------------------------------------*
1983 <TC - Allowed value notations - value assignment notation (const record in function)>
1986 <MODULE TTCN x x.ttcn>
2004 <RESULT IF_FAIL POSITIVE>
2005 (?is)\berror: Indexed assignment notation cannot be used for record type `@x.recT'
2010 .*---------------------------------------------------------------------*
2011 :h4.Allowed value notations - value assignment notation (template record in def. part)
2012 .*---------------------------------------------------------------------*
2014 <TC - Allowed value notations - value assignment notation (template record in def. part)>
2017 <MODULE TTCN x x.ttcn>
2034 <RESULT IF_FAIL COUNT 1>
2035 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?record.+?type
2037 <RESULT IF_FAIL COUNT 1>
2043 .*---------------------------------------------------------------------*
2044 :h4.Allowed value notations - value assignment notation (timer-array in function)
2045 .*---------------------------------------------------------------------*
2047 <TC - Allowed value notations - value assignment notation (timer-array in function)>
2050 <MODULE TTCN x x.ttcn>
2054 timer timerarray[3] := {[0] := 1, [1] := 2, [2] := 3};
2058 <RESULT IF_FAIL COUNT 3>
2059 (?is)\bA value or expression of type float was expected
2061 <RESULT IF_FAIL COUNT 3>
2067 .*---------------------------------------------------------------------*
2068 :h4.Allowed value notations - value assignment notation (port-array in function)
2069 .*---------------------------------------------------------------------*
2071 <TC - Allowed value notations - value assignment notation (port-array in function)>
2074 <MODULE TTCN x x.ttcn>
2077 type port myport message{inout charstring};
2079 type component self_comp{
2080 port myport ports[3];
2083 function MyFunc() runs on self_comp{
2084 ports := {[0] := 1.0, [1] := 2.0, [2] := 3.0};
2088 <RESULT IF_FAIL COUNT 1>
2089 (?im)\berror\b.+?Reference.+?to.+?a.+?variable.+?or.+?template.+?variable.+?was.+?expected
2091 <RESULT IF_FAIL COUNT 1>
2097 .*---------------------------------------------------------------------*
2098 :h4.Allowed value notations - value assignment notation (modified template record in def. part)
2099 .*---------------------------------------------------------------------*
2101 <TC - Allowed value notations - value assignment notation (modified template record in def. part)>
2104 <MODULE TTCN x x.ttcn>
2119 template recT f modifies r:= { [0]:= 1, [2]:= 0.9 };
2123 <RESULT IF_FAIL COUNT 1>
2124 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?record.+?type
2126 <RESULT IF_FAIL COUNT 1>
2132 .*---------------------------------------------------------------------*
2133 :h4.Allowed value notations - value list notation (modified template record in def. part)
2134 .*---------------------------------------------------------------------*
2136 <TC - Allowed value notations - value list notation (modified template record in def. part)>
2139 <MODULE TTCN x x.ttcn>
2154 template recT f modifies r:= ({ f1:= 1, f2:= 0.9 }, { f1 := 1, f2 := 0.9, f3 := "pppp" });
2158 <RESULT IF_FAIL COUNT 1>
2159 (?im)\berror\b.+?field.+?f3.+?is.+?missing.+?from.+?template.+?for.+?record.+?type
2161 <RESULT IF_FAIL COUNT 1>
2167 .*---------------------------------------------------------------------*
2168 :h4.Allowed value notations - complement value list notation (modified template record in def. part)
2169 .*---------------------------------------------------------------------*
2171 <TC - Allowed value notations - complement value list notation (modified template record in def. part)>
2174 <MODULE TTCN x x.ttcn>
2189 template recT f modifies r:= complement({ f1:= 1, f2:= 0.9 }, { f1:= 1, f2:= 0.9, f3 := "pppp" });
2193 <RESULT IF_FAIL COUNT 1>
2194 (?im)\berror\b.+?field.+?f3.+?is.+?missing.+?from.+?template.+?for.+?record.+?type
2196 <RESULT IF_FAIL COUNT 1>
2202 .*---------------------------------------------------------------------*
2203 :h4.Allowed value notations - value list (const set in def. part)
2204 .*---------------------------------------------------------------------*
2206 <TC - Allowed value notations - value list (const set in def. part)>
2209 <MODULE TTCN x x.ttcn>
2218 const Set s := { 3.14, "error", 9 };
2222 <RESULT IF_PASS COUNT 1>
2223 (?im)value.+?list.+?notation.+?cannot.+?be.+?used
2225 <RESULT IF_PASS COUNT 1>
2226 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2228 <RESULT IF_PASS COUNT 1>
2234 .*---------------------------------------------------------------------*
2235 :h4.Allowed value notations - value list (const set in function)
2236 .*---------------------------------------------------------------------*
2238 <TC - Allowed value notations - value list (const set in function)>
2241 <MODULE TTCN x x.ttcn>
2252 const Set s := { 3.14, "error", 9 };
2256 <RESULT IF_PASS COUNT 1>
2257 (?im)value.+?list.+?notation.+?cannot.+?be.+?used
2259 <RESULT IF_PASS COUNT 1>
2260 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2262 <RESULT IF_PASS COUNT 1>
2268 .*---------------------------------------------------------------------*
2269 :h4.Allowed value notations - value list (template set in def. part)
2270 .*---------------------------------------------------------------------*
2272 <TC - Allowed value notations - value list (template set in def. part)>
2275 <MODULE TTCN x x.ttcn>
2284 template Set s := { 3.14, "error", 9 };
2288 <RESULT IF_PASS COUNT 1>
2289 (?im)Value.+?list.+?notation.+?not.+?allowed
2291 <RESULT IF_PASS COUNT 1>
2292 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2294 <RESULT IF_PASS COUNT 1>
2300 .*---------------------------------------------------------------------*
2301 :h4.Allowed value notations - value list (modified template set in def. part)
2302 .*---------------------------------------------------------------------*
2304 <TC - Allowed value notations - value list (modified template set in def. part)>
2307 <MODULE TTCN x x.ttcn>
2316 template setT s:= { F:= 3.14, CS:= "aiyyo", I:= 9 };
2318 template setT f modifies s:= { 0, 8.8, "gerappa" };
2322 <RESULT IF_PASS COUNT 1>
2323 (?im)Value.+?list.+?notation.+?not.+?allowed
2325 <RESULT IF_PASS COUNT 1>
2326 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2328 <RESULT IF_PASS COUNT 1>
2334 .*---------------------------------------------------------------------*
2335 :h4.Allowed value notations - array notation (const set in def. part)
2336 .*---------------------------------------------------------------------*
2338 <TC - Allowed value notations - array notation (const set in def. part)>
2341 <MODULE TTCN x x.ttcn>
2356 const integer FaultyField := cSet[0];
2360 <RESULT IF_PASS COUNT 1>
2361 (?im)Type.+?cannot.+?be.+?indexed
2363 <RESULT IF_PASS COUNT 1>
2364 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2366 <RESULT IF_PASS COUNT 1>
2372 .*---------------------------------------------------------------------*
2373 :h4.Allowed value notations - array notation (const set in function)
2374 .*---------------------------------------------------------------------*
2376 <TC - Allowed value notations - array notation (const set in function)>
2379 <MODULE TTCN x x.ttcn>
2396 const integer FaultyField := cSet[0];
2400 <RESULT IF_PASS COUNT 1>
2401 (?im)Type.+?cannot.+?be.+?indexed
2403 <RESULT IF_PASS COUNT 1>
2404 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2406 <RESULT IF_PASS COUNT 1>
2412 .*---------------------------------------------------------------------*
2413 :h4.Allowed value notations - array notation (template set in def. part)
2414 .*---------------------------------------------------------------------*
2416 <TC - Allowed value notations - array notation (template set in def. part)>
2419 <MODULE TTCN x x.ttcn>
2428 template Set cSet := {
2434 template integer FaultyField := cSet[0];
2438 <RESULT IF_PASS COUNT 1>
2439 (?im)Type.+?cannot.+?be.+?indexed
2441 <RESULT IF_PASS COUNT 1>
2442 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2444 <RESULT IF_PASS COUNT 1>
2450 .*---------------------------------------------------------------------*
2451 :h4.Allowed value notations - value assignment notation (const set in def. part)
2452 .*---------------------------------------------------------------------*
2454 <TC - Allowed value notations - value assignment notation (const set in def. part)>
2457 <MODULE TTCN x x.ttcn>
2474 <RESULT IF_FAIL POSITIVE>
2480 .*---------------------------------------------------------------------*
2481 :h4.Allowed value notations - value assignment notation (template set in def. part)
2482 .*---------------------------------------------------------------------*
2484 <TC - Allowed value notations - value assignment notation (template set in def. part)>
2487 <MODULE TTCN x x.ttcn>
2504 <RESULT IF_FAIL COUNT 1>
2505 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?set.+?type
2507 <RESULT IF_FAIL COUNT 1>
2513 .*---------------------------------------------------------------------*
2514 :h4.Allowed value notations - value assignment notation (modified template set in def. part)
2515 .*---------------------------------------------------------------------*
2517 <TC - Allowed value notations - value assignment notation (modified template set in def. part)>
2520 <MODULE TTCN x x.ttcn>
2535 // TR 711: A nonexistent reference is reported only once
2536 template setT f modifies r:= { [0]:= 1, [2]:= 0.9 };
2540 <RESULT IF_FAIL COUNT 1>
2541 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?set.+?type
2543 <RESULT IF_FAIL COUNT 1>
2549 .*---------------------------------------------------------------------*
2550 :h4.Allowed value notations - array notation (const union in def. part)
2551 .*---------------------------------------------------------------------*
2553 <TC - Allowed value notations - array notation (const union in def. part)>
2556 <MODULE TTCN x x.ttcn>
2564 const u r := { f_int:=1 };
2569 <RESULT IF_PASS COUNT 1>
2570 (?im)Type.+?cannot.+?be.+?indexed
2572 <RESULT IF_PASS COUNT 1>
2573 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2575 <RESULT IF_PASS COUNT 1>
2581 .*---------------------------------------------------------------------*
2582 :h4.Allowed value notations - array notation (const union in function)
2583 .*---------------------------------------------------------------------*
2585 <TC - Allowed value notations - array notation (const union in function)>
2588 <MODULE TTCN x x.ttcn>
2597 const u r := { f_int:=1 };
2602 <RESULT IF_PASS COUNT 1>
2603 (?im)Type.+?cannot.+?be.+?indexed
2605 <RESULT IF_PASS COUNT 1>
2606 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2608 <RESULT IF_PASS COUNT 1>
2614 .*---------------------------------------------------------------------*
2615 :h4.Allowed value notations - array notation (template union in def. part)
2616 .*---------------------------------------------------------------------*
2618 <TC - Allowed value notations - array notation (template union in def. part)>
2621 <MODULE TTCN x x.ttcn>
2629 template u r := { f_int:=1 };
2631 template u f:= r[0];
2634 <RESULT IF_PASS COUNT 1>
2635 (?im)Type.+?cannot.+?be.+?indexed
2637 <RESULT IF_PASS COUNT 1>
2638 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2640 <RESULT IF_PASS COUNT 1>
2646 .*---------------------------------------------------------------------*
2647 :h4.Allowed value notations - value assignment notation (const union in def. part)
2648 .*---------------------------------------------------------------------*
2650 <TC - Allowed value notations - value assignment notation (const union in def. part)>
2653 <MODULE TTCN x x.ttcn>
2668 <RESULT IF_FAIL POSITIVE>
2669 (?is)\berror: union value was expected for type `@x.uniT'
2671 <RESULT IF_FAIL COUNT 1>
2677 .*---------------------------------------------------------------------*
2678 :h4.Allowed value notations - value assignment notation (const union in function)
2679 .*---------------------------------------------------------------------*
2681 <TC - Allowed value notations - value assignment notation (const union in function)>
2684 <MODULE TTCN x x.ttcn>
2700 <RESULT IF_FAIL POSITIVE>
2701 (?is)\berror: union value was expected for type `@x.uniT'
2703 <RESULT IF_FAIL COUNT 1>
2709 .*---------------------------------------------------------------------*
2710 :h4.Allowed value notations - value assignment notation (template union in def. part)
2711 .*---------------------------------------------------------------------*
2713 <TC - Allowed value notations - value assignment notation (template union in def. part)>
2716 <MODULE TTCN x x.ttcn>
2725 // TR 710: Incorrect error message
2732 <RESULT IF_FAIL COUNT 1>
2733 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?union.+?type
2735 <RESULT IF_FAIL COUNT 1>
2741 .*---------------------------------------------------------------------*
2742 :h4.Allowed value notations - value assignment notation (modified template union in def. part)
2743 .*---------------------------------------------------------------------*
2745 <TC - Allowed value notations - value assignment notation (modified template union in def. part)>
2748 <MODULE TTCN x x.ttcn>
2756 template u r := { f_int:=1 };
2758 // TR 710: Incorrect error message
2759 template u f modifies r:= { [0]:= 2 };
2763 <RESULT IF_FAIL COUNT 1>
2764 (?im)\berror\b.+?assignment.+?notation.+?with.+?array.+?indices.+?cannot.+?be.+?used.+?for.+?union.+?type
2766 <RESULT IF_FAIL COUNT 1>
2772 .*---------------------------------------------------------------------*
2773 :h4.Allowed value notations - array notation (const enumerated in def. part)
2774 .*---------------------------------------------------------------------*
2776 <TC - Allowed value notations - array notation (const enumerated in def. part)>
2779 <MODULE TTCN x x.ttcn>
2782 type enumerated enum { ONE(1), TWO(2), THREE(3) };
2786 const enum f:= r[0];
2790 <RESULT IF_PASS COUNT 1>
2791 (?im)Type.+?cannot.+?be.+?indexed
2793 <RESULT IF_PASS COUNT 1>
2794 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2796 <RESULT IF_PASS COUNT 1>
2802 .*---------------------------------------------------------------------*
2803 :h4.Allowed value notations - array notation (const enumerated in function)
2804 .*---------------------------------------------------------------------*
2806 <TC - Allowed value notations - array notation (const enumerated in function)>
2809 <MODULE TTCN x x.ttcn>
2812 type enumerated enum { ONE(1), TWO(2), THREE(3) };
2816 const enum f:= r[0];
2820 <RESULT IF_PASS COUNT 1>
2821 (?im)Type.+?cannot.+?be.+?indexed
2823 <RESULT IF_PASS COUNT 1>
2824 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2826 <RESULT IF_PASS COUNT 1>
2832 .*---------------------------------------------------------------------*
2833 :h4.Allowed value notations - array notation (template enumerated in def. part)
2834 .*---------------------------------------------------------------------*
2836 <TC - Allowed value notations - array notation (template enumerated in def. part)>
2839 <MODULE TTCN x x.ttcn>
2842 type enumerated enum { ONE(1), TWO(2), THREE(3) };
2844 template enum r:= ONE;
2846 template enum f:= r[0];
2850 <RESULT IF_PASS COUNT 1>
2851 (?im)Type.+?cannot.+?be.+?indexed
2853 <RESULT IF_PASS COUNT 1>
2854 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2856 <RESULT IF_PASS COUNT 1>
2862 .*---------------------------------------------------------------------*
2863 :h4.Value notations - value assignment notation (timer-array in function)
2864 .*---------------------------------------------------------------------*
2866 <TC - Value notations - value assignment notation (timer-array in function)>
2869 <MODULE TTCN x x.ttcn>
2873 timer timerarray[3] := {[0] := 1.0, [1] := 2.0, [2] := 3.0, [3] := 4.0};
2874 timer timerarray2[3] := {[0.0] := 1.0, [1] := 2.0, [2] := 3.0};
2875 timer timerarray3[3] := {[0] := 1.0, [1] := 2.0};
2876 timer timerarray4[3] := {[-1] := 1.0, [0] := 2.0, [1] := 3.0};
2877 timer timerarray5[3] := {[0] := 1.0, [0] := 2.0, [1] := 3.0};
2881 <RESULT IF_FAIL COUNT 1>
2882 (?im)\berror: Array index overflow: the index value must be at most `2' instead of `3'
2884 <RESULT IF_FAIL COUNT 1>
2885 (?im)\berror: A value or expression of type integer was expected
2887 <RESULT IF_FAIL COUNT 1>
2888 (?im)\berror: Array index underflow: the index value must be at least `0' instead of `-1'
2890 <RESULT IF_FAIL COUNT 1>
2891 (?im)\berror: Duplicate index value `0' for timer array elements `2' and `1'
2893 <RESULT IF_FAIL COUNT 4>
2899 .*---------------------------------------------------------------------*
2900 :h4.Value notations - value assignment notation (index out of bound)
2901 .*---------------------------------------------------------------------*
2903 <TC - Value notations - value assignment notation (index out of bound)>
2906 <MODULE TTCN x x.ttcn>
2909 type integer myIntType[3];
2912 var myIntType myintarray := {[0] := 0, [1] := 1, [2]:= 2};
2913 var myIntType myintarray2 := {[0] := 0, [1] := 1};
2914 var myIntType myintarray3 := {[0] := 0, [1] := 1, [2]:= 2, [2] := 3};
2917 var myIntType myintarray4 := {[i] := 0, [i] := 1, [i]:= 2};
2922 <RESULT IF_PASS COUNT 1>
2923 (?im)\berror: Duplicate index value `2' for components `4' and `3'
2925 <RESULT IF_PASS COUNT 1>
2928 <RESULT IF_PASS POSITIVE>
2929 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2934 .*---------------------------------------------------------------------*
2935 :h4.Value notations - value assignment notation (negative index is used)
2936 .*---------------------------------------------------------------------*
2938 <TC - Value notations - value assignment notation (negative index is used)>
2941 <MODULE TTCN x x.ttcn>
2944 type integer myIntType[3];
2947 var myIntType myintarray := {[0] := 0, [-1] := 1, [2]:= 2};
2948 var myIntType myintarray2 := {[0.0] := 0, [1.0] := 1, [2.3]:= 2};
2950 var integer i := -56;
2951 var myIntType myintarray3 := {[i] := 0, [i] := 1, [i]:= 2};
2956 <RESULT IF_PASS COUNT 1>
2957 (?im)\berror: Array index underflow: the index value must be at least `0' instead of `-1'
2959 <RESULT IF_PASS COUNT 3>
2960 (?im)\berror: A value or expression of type integer was expected
2962 <RESULT IF_PASS POSITIVE>
2963 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2965 <RESULT IF_PASS COUNT 4>
2971 .*---------------------------------------------------------------------*
2972 :h4.Value notations - value assignment notation (structured types)
2973 .*---------------------------------------------------------------------*
2975 <TC - Value notations - value assignment notation (structured types)>
2978 <MODULE TTCN x x.ttcn>
2981 type integer myIntType[3];
2982 type record myTestRec
2988 type record of myTestRec myTestRecList;
2990 type record of integer myIntegerList;
2992 type record myTestRec2
2994 myIntegerList myintegerlist,
3001 var myTestRecList mytestreclist := {[0] := {intlist := {[0]:=0, [1]:= 1, [2]:=2}, myint:= 1}};
3002 var myTestRecList mytestreclist2 := {[0] := {intlist := {[0]:=0, [1]:= 1, [-2]:=2}, myint:= 1}};
3003 var myTestRecList mytestreclist3 := {[0] := {intlist := {[0]:=0, [1]:= 1, [2.0]:=2}, myint:= 1}};
3004 var myTestRecList mytestreclist4 := {[0] := {intlist := {[0]:=0, [1]:= 1}, myint:= 1}};
3005 var myTestRecList mytestreclist5 := {[0] := {intlist := {[0]:=0, [1]:= 1, [2]:=2, [3] := 3}, myint:= 1}};
3006 var myTestRecList mytestreclist6 := {[0] := {intlist := {[0]:=0, [1]:= 1, [1]:=2}, myint:= 1}};
3008 var myTestRec2 mytestrec := {myintegerlist := {[0]:= 0, [1] := 1, [2] := 2}, myint := 1};
3009 var myTestRec2 mytestrec2 := {myintegerlist := {[0.0]:= 0, [1] := 1, [2] := 2}, myint := 1};
3010 var myTestRec2 mytestrec3 := {myintegerlist := {[0]:= 0, [-1] := 1, [2] := 2}, myint := 1};
3011 var myTestRec2 mytestrec4 := {myintegerlist := {[0]:= 0, [1] := 1, [1] := 2}, myint := 1};
3016 <RESULT IF_PASS COUNT 1>
3017 (?im)\berror: Array index underflow: the index value must be at least `0' instead of `-2'
3019 <RESULT IF_PASS COUNT 2>
3020 (?im)\berror: A value or expression of type integer was expected
3022 <RESULT IF_PASS COUNT 1>
3023 (?im)\berror: Array index overflow: the index value must be at most `2' instead of `3'
3025 <RESULT IF_PASS COUNT 2>
3026 (?im)\berror: Duplicate index value `1' for components `3' and `2'
3028 <RESULT IF_PASS COUNT 1>
3029 (?im)\berror: A non-negative integer value was expected for indexing type `@x.myIntegerList' instead of `-1'
3031 <RESULT IF_PASS POSITIVE>
3032 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3034 <RESULT IF_PASS COUNT 7>
3040 .*---------------------------------------------------------------------*
3041 :h4.Value notations - value assignment notation (modify template)
3042 .*---------------------------------------------------------------------*
3044 <TC - Value notations - value assignment notation (modify template)>
3047 <MODULE TTCN x x.ttcn>
3050 type record of integer MyIntType;
3051 template MyIntType T1 := {0, 1, 2};
3052 template MyIntType T2 modifies T1:= {[0] := 1, [0]:= 5};
3053 template MyIntType T3 modifies T1:= {[0] := 1, [-5]:= 5};
3057 <RESULT IF_PASS COUNT 1>
3058 (?im)\berror: Duplicate index value `0' for components `2' and `1'
3060 <RESULT IF_PASS COUNT 1>
3061 (?im)\berror: A non-negative integer value was expected for indexing type `@x.MyIntType' instead of `-5'
3063 <RESULT IF_PASS POSITIVE>
3064 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3066 <RESULT IF_PASS COUNT 2>
3072 .*---------------------------------------------------------------------*
3073 :h4.Value notations - value assignment notation (modify template2)
3074 .*---------------------------------------------------------------------*
3076 <TC - Value notations - value assignment notation (modify template2)>
3079 <MODULE TTCN x x.ttcn>
3082 type integer IntType[3];
3084 type record of integer MyIntType;
3085 template MyIntType T1 := {0, 1, 2};
3086 template MyIntType T2 modifies T1:= {[0.1] := 1, [1]:= 5};
3087 template MyIntType T3 modifies T1:= {[0] := 1, [1.0]:= 5};
3091 var IntType myintarray := {['00'O] := 0, [1.5] := 1, [2]:= 2};
3097 <RESULT IF_PASS COUNT 4>
3098 (?im)\bA value or expression of type integer was expected
3100 <RESULT IF_PASS POSITIVE>
3101 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3103 <RESULT IF_PASS COUNT 4>
3109 .*---------------------------------------------------------------------*
3110 :h3. Value notations - Value notations shall assign a value to a specific element only once
3111 .*---------------------------------------------------------------------*
3112 This test case group covers the requirement SA-6/7.
3114 Startegy: In one value notation an element can get value only once.
3115 All occurances shall be tested, where such a notation can be used.
3119 :li D='-'.record and set constants in definition part and function
3120 :li D='-'.record modified template in definition part
3121 :li D='-'.enumerated type in definition part
3124 .*---------------------------------------------------------------------*
3125 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in def. part)
3126 .*---------------------------------------------------------------------*
3128 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in def. part)>
3131 <MODULE TTCN x x.ttcn>
3134 type record Record {
3140 const Record wrongRecord := {
3149 <RESULT IF_PASS COUNT 1>
3150 (?im)Duplicate.+?record.+?field
3152 <RESULT IF_PASS COUNT 1>
3153 (?im)Field.+?already.+?given
3155 <RESULT IF_PASS COUNT 1>
3156 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3158 <RESULT IF_PASS COUNT 1>
3164 .*---------------------------------------------------------------------*
3165 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in function)
3166 .*---------------------------------------------------------------------*
3168 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in record (const in function)>
3171 <MODULE TTCN x x.ttcn>
3174 type record Record {
3182 const Record wrongRecord := {
3191 <RESULT IF_PASS COUNT 1>
3192 (?im)Duplicate.+?record.+?field
3194 <RESULT IF_PASS COUNT 1>
3195 (?im)Field.+?already.+?given
3197 <RESULT IF_PASS COUNT 1>
3198 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3200 <RESULT IF_PASS COUNT 1>
3206 .*---------------------------------------------------------------------*
3207 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in def. part)
3208 .*---------------------------------------------------------------------*
3210 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in def. part)>
3213 <MODULE TTCN x x.ttcn>
3231 <RESULT IF_PASS COUNT 1>
3232 (?im)Duplicate.+?set.+?field
3234 <RESULT IF_PASS COUNT 1>
3235 (?im)Field.+?already.+?given
3237 <RESULT IF_PASS COUNT 1>
3238 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3240 <RESULT IF_PASS COUNT 1>
3246 .*---------------------------------------------------------------------*
3247 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in record of (modified template in def. part)
3248 .*---------------------------------------------------------------------*
3250 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in record of (modified template in def. part)>
3253 <MODULE TTCN x x.ttcn>
3256 type record of integer rofT;
3258 template rofT temp:= { 1, 2, 3, 4, 5};
3260 template rofT modTemp modifies temp:= { [2]:= 7, [3]:= 10, [2]:= 14 };
3264 <RESULT IF_FAIL COUNT 1>
3265 (?im)\berror\b.+?Duplicate.+?index.+?value
3267 <RESULT IF_FAIL COUNT 1>
3273 .*---------------------------------------------------------------------*
3274 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in function)
3275 .*---------------------------------------------------------------------*
3277 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in set (const in function)>
3280 <MODULE TTCN x x.ttcn>
3300 <RESULT IF_PASS COUNT 1>
3301 (?im)Duplicate.+?set.+?field
3303 <RESULT IF_PASS COUNT 1>
3304 (?im)Field.+?already.+?given
3306 <RESULT IF_PASS COUNT 1>
3307 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3309 <RESULT IF_PASS COUNT 1>
3315 .*---------------------------------------------------------------------*
3316 :h4.Value notations - A value notation shall assign a value to a specific element only once - duplicated element assignment in enumerated type (in def. part)
3317 .*---------------------------------------------------------------------*
3319 <TC - A value notation shall assign a value to a specific element only once - duplicated element assignment in enumerated type (in def. part)>
3322 <MODULE TTCN x x.ttcn>
3325 type enumerated Enum { ONE(1), TWO(2), THREE(1) };
3329 <RESULT IF_PASS COUNT 1>
3330 (?im)Duplicate.+?value.+?enumeration
3332 <RESULT IF_PASS COUNT 1>
3333 (?im)already.+?assigned
3335 <RESULT IF_PASS COUNT 1>
3336 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3338 <RESULT IF_PASS COUNT 1>
3344 .*---------------------------------------------------------------------*
3345 :h2.Allowed values (each evaluated expression shall conform to the context-specific rules)
3346 .*---------------------------------------------------------------------*
3347 .*---------------------------------------------------------------------*
3348 :h3.Allowed values of an object identifier
3349 .*---------------------------------------------------------------------*
3351 This test case group covers the requirement SA-6/8.
3353 Startegy: in assignment of an object identifier the first two elements have to be defined.
3354 We can define these elements in three ways:
3356 :li D='-'.with numbers : { 0 4 ...}
3357 :li D='-'.with identifiers : { itu_t identified_organization ...}
3358 :li D='-'.with both of them : { itu_t(0) identified_organization(4) ...}
3360 For more information see the ITU-T X.660.
3361 All occurances shall be tested, where such a notation can be used.
3365 :li D='-'.wrong first number in definition part and function
3366 :li D='-'.wrong identifier in definition part and function
3368 .*---------------------------------------------------------------------*
3369 :h4.Allowed values of an object identifier - wrong first number (const in def. part)
3370 .*---------------------------------------------------------------------*
3372 <TC - Allowed values of an object identifier - wrong first number (const in def. part)>
3375 <MODULE TTCN x x.ttcn>
3378 const objid o:= objid{ 6 1 0 0 };
3381 <RESULT IF_PASS COUNT 1>
3382 (?im)value.+?first.+?OBJECT.+?IDENTIFIER.+?must.+?between.+?instead
3384 <RESULT IF_PASS COUNT 1>
3385 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3387 <RESULT IF_PASS COUNT 1>
3393 .*---------------------------------------------------------------------*
3394 :h4.Allowed values of an object identifier - wrong first number (const in function)
3395 .*---------------------------------------------------------------------*
3397 <TC - Allowed values of an object identifier - wrong first number (const in function)>
3400 <MODULE TTCN x x.ttcn>
3405 const objid o:= objid{ 6 1 0 0 };
3409 <RESULT IF_PASS COUNT 1>
3410 (?im)value.+?first.+?OBJECT.+?IDENTIFIER.+?must.+?between.+?instead
3412 <RESULT IF_PASS COUNT 1>
3413 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3415 <RESULT IF_PASS COUNT 1>
3421 .*---------------------------------------------------------------------*
3422 :h4.Allowed values of an object identifier - wrong identifier (const in def. part)
3423 .*---------------------------------------------------------------------*
3425 <TC - Allowed values of an object identifier - wrong identifier (const in def. part)>
3428 <MODULE TTCN x x.ttcn>
3431 const objid o:= objid{ ecci identified_organization ehh(0) behh(0) };
3434 <RESULT IF_PASS COUNT 2>
3435 (?im)error.+?no.+?local.+?imported.+?definition
3437 <RESULT IF_PASS COUNT 1>
3438 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3440 <RESULT IF_PASS COUNT 2>
3446 .*---------------------------------------------------------------------*
3447 :h4.Allowed values of an object identifier - wrong identifier (const in function)
3448 .*---------------------------------------------------------------------*
3450 <TC - Allowed values of an object identifier - wrong identifier (const in function)>
3453 <MODULE TTCN x x.ttcn>
3458 const objid o:= objid{ ecci identified_organization ehh(0) behh(0) };
3462 <RESULT IF_PASS COUNT 2>
3463 (?im)error.+?no.+?local.+?imported.+?definition
3465 <RESULT IF_PASS COUNT 1>
3466 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3468 <RESULT IF_PASS COUNT 2>
3474 .*---------------------------------------------------------------------*
3475 :h3.Allowed values of an universal charstring
3476 .*---------------------------------------------------------------------*
3477 This test case group covers the requirement SA-6/9.
3479 Strategy: for information see the ISO/IEC 10646.
3480 :nl. First number: 0-128
3481 :nl. Second number: 0-255
3482 :nl. Third number: 0-255
3483 :nl. Fourth number: 0-255
3484 :nl. Only numbers are allowed.
3485 All occurances shall be tested, where such a notation can be used.
3489 :li D='-'.wrong first number in definition part and function
3490 :li D='-'.operator in definition part
3491 :li D='-'.constant in function
3494 .*---------------------------------------------------------------------*
3495 :h4.Allowed values of an universal charstring - wrong first number (const in def. part)
3496 .*---------------------------------------------------------------------*
3498 <TC - Allowed values of an universal charstring - wrong first number (const in def. part)>
3501 <MODULE TTCN x x.ttcn>
3504 const universal charstring f:= "aiyyo" & char( 130, 25, 10, 25) & "gerappa";
3507 <RESULT IF_FAIL COUNT 1>
3508 (?im)\berror\b.+?first.+?number.+?must.+?within.+?range
3510 <RESULT IF_FAIL COUNT 1>
3516 .*---------------------------------------------------------------------*
3517 :h4.Allowed values of an universal charstring - wrong first number (const in function)
3518 .*---------------------------------------------------------------------*
3520 <TC - Allowed values of an universal charstring - wrong first number (const in function)>
3523 <MODULE TTCN x x.ttcn>
3528 const universal charstring f:= "aiyyo" & char( 130, 25, 10, 25) & "gerappa";
3533 <RESULT IF_FAIL COUNT 1>
3534 (?im)\berror\b.+?first.+?number.+?must.+?within.+?range
3536 <RESULT IF_FAIL COUNT 1>
3542 .*---------------------------------------------------------------------*
3543 :h4.Allowed values of an universal charstring - operator (const in def. part)
3544 .*---------------------------------------------------------------------*
3546 <TC - Allowed values of an universal charstring - operator (const in def. part)>
3549 <MODULE TTCN x x.ttcn>
3552 const universal charstring f:= "aiyyo" & char( 13, 25+32, 10, 25) & "gerappa";
3555 <RESULT IF_FAIL COUNT 1>
3556 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?\+
3558 <RESULT IF_FAIL COUNT 1>
3564 .*---------------------------------------------------------------------*
3565 :h4.Allowed values of an universal charstring - constant (const in function)
3566 .*---------------------------------------------------------------------*
3568 <TC - Allowed values of an universal charstring - constant (const in function)>
3571 <MODULE TTCN x x.ttcn>
3574 const integer i:= 12;
3578 const universal charstring f:= "aiyyo" & char( i, 25, 10, 25) & "gerappa";
3583 <RESULT IF_FAIL COUNT 1>
3584 (?im)\berror\b.+?syntax.+?error.+?unexpected.+?identifier
3586 <RESULT IF_FAIL COUNT 2>
3592 .*---------------------------------------------------------------------*
3593 :h4.Function reference - incompatible types
3594 .*---------------------------------------------------------------------*
3596 <TC - Function reference - incompatible types>
3599 <MODULE TTCN x x.ttcn>
3601 type function fntype1();
3602 type function fntype2();
3610 <RESULT IF_FAIL COUNT 1>
3613 <RESULT IF_FAIL POSITIVE>
3614 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3619 .*---------------------------------------------------------------------*
3620 :h4.Allowed values of an function reference - 1
3621 .*---------------------------------------------------------------------*
3623 <TC - Allowed values of an function reference - 1 >
3626 <MODULE TTCN x x.ttcn>
3628 type function fntype();
3629 function fn1(integer i) { }
3632 var fntype f1 := refers(fn1);
3633 var fntype f2 := refers(fn2);
3637 <RESULT IF_FAIL COUNT 1>
3640 <RESULT IF_FAIL POSITIVE>
3641 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3646 .*---------------------------------------------------------------------*
3647 :h4.Allowed values of an function reference - 2
3648 .*---------------------------------------------------------------------*
3650 <TC - Allowed values of an function reference - 2>
3653 <MODULE TTCN x x.ttcn>
3655 type function fntype();
3657 function fn2() return charstring { return ""; }
3659 var fntype f1:= refers(fn1);
3660 var fntype f2:= refers(fn2);
3664 <RESULT IF_FAIL COUNT 1>
3667 <RESULT IF_FAIL POSITIVE>
3668 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3673 .*---------------------------------------------------------------------*
3674 :h4.Allowed values of an function reference - 3
3675 .*---------------------------------------------------------------------*
3677 <TC - Allowed values of an function reference - 3>
3680 <MODULE TTCN x x.ttcn>
3682 type function fntype(integer a);
3683 function fn1(integer b) { }
3684 function fn2(integer a) { }
3686 var fntype f1:= refers(fn1);
3687 var fntype f2:= refers(fn2);
3691 <RESULT IF_PASS COUNT 1>
3692 (?im)\bwarning\b.+?name.+?of.+?parameter.+?not.+?the.+?same
3694 <RESULT IF_FAIL POSITIVE>
3697 <RESULT IF_FAIL POSITIVE>
3698 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3703 .*---------------------------------------------------------------------*
3704 :h3.Allowed values of an index when accessing a single element of a string value
3705 .*---------------------------------------------------------------------*
3707 This test case group covers the requirement SA-6/10.
3709 Strategy: indexing of string values has to beginning with 0. So shall not
3710 use negative numbers or higher numbers than size(string)-1.
3711 All occurances shall be tested, where such a notation can be used.
3715 :li D='-'.higher number in index than the size in definition part and function
3716 :li D='-'.negative index in definition part and function
3719 .*---------------------------------------------------------------------*
3720 :h4.String indexing - indexing begin with zero (const in def. part)
3721 .*---------------------------------------------------------------------*
3723 <TC - String indexing - indexing begin with zero (const in def. part)>
3726 <MODULE TTCN x x.ttcn>
3729 const charstring CS:="WRONG";
3730 const charstring wrongCS := CS[5];
3734 <RESULT IF_PASS COUNT 1>
3735 (?im)Index.+?overflow.+?string.+?element
3737 <RESULT IF_PASS COUNT 1>
3738 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3740 <RESULT IF_PASS COUNT 1>
3746 .*---------------------------------------------------------------------*
3747 :h4.String indexing - indexing begin with zero (const in function)
3748 .*---------------------------------------------------------------------*
3750 <TC - String indexing - indexing begin with zero (const in function)>
3753 <MODULE TTCN x x.ttcn>
3758 const charstring CS:="WRONG";
3759 const charstring wrongCS := CS[5];
3763 <RESULT IF_PASS COUNT 1>
3764 (?im)Index.+?overflow.+?string.+?element
3766 <RESULT IF_PASS COUNT 1>
3767 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3769 <RESULT IF_PASS COUNT 1>
3775 .*---------------------------------------------------------------------*
3776 :h4.String indexing - indexing must be non-negative (const in def. part)
3777 .*---------------------------------------------------------------------*
3779 <TC - String indexing - indexing must be non-negative (const in def. part)>
3782 <MODULE TTCN x x.ttcn>
3785 const charstring CS:="WRONG";
3786 const charstring wrongCS := CS[-1];
3790 <RESULT IF_PASS COUNT 1>
3791 (?im)non-negative.+?value.+?expected.+?instead of.+?indexing.+?string.+?element
3793 <RESULT IF_PASS COUNT 1>
3794 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3796 <RESULT IF_PASS COUNT 1>
3802 .*---------------------------------------------------------------------*
3803 :h4.String indexing - indexing must be non-negative (const in function)
3804 .*---------------------------------------------------------------------*
3806 <TC - String indexing - indexing must be non-negative (const in function)>
3809 <MODULE TTCN x x.ttcn>
3814 const charstring CS:="WRONG";
3815 const charstring wrongCS := CS[-1];
3819 <RESULT IF_PASS COUNT 1>
3820 (?im)non-negative.+?value.+?expected.+?instead of.+?indexing.+?string.+?element
3822 <RESULT IF_PASS COUNT 1>
3823 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3825 <RESULT IF_PASS COUNT 1>
3831 .*---------------------------------------------------------------------*
3832 :h3.Omitting mandatory fields
3833 .*---------------------------------------------------------------------*
3835 This test case group covers the requirement SA-6/11.
3837 Strategy: shall not omitting mandatory fields
3838 All occurances shall be tested, where such a notation can be used.
3840 Tested: - record and set fields in definition part and function
3842 .*---------------------------------------------------------------------*
3843 :h4.Omitting mandatory fields - wrong optional record field (const in def. part)
3844 .*---------------------------------------------------------------------*
3846 <TC - Omitting mandatory fields - wrong optional record field (const in def. part)>
3849 <MODULE TTCN x x.ttcn>
3852 type record Record {
3858 const Record r := { omit, 0.0, "error" };
3862 <RESULT IF_PASS COUNT 1>
3863 (?im)omit.+?not.+?allowed
3865 <RESULT IF_PASS COUNT 1>
3866 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3868 <RESULT IF_PASS COUNT 1>
3874 .*---------------------------------------------------------------------*
3875 :h4.Omitting mandatory fields - referencing unbound (const in def. part)
3876 .*---------------------------------------------------------------------*
3878 <TC - Omitting mandatory fields - referencing unbound (const in def. part)>
3881 <MODULE TTCN x x.ttcn>
3884 type record Record {
3889 const Record c_R := { b := 1 };
3890 const integer c_i := c_R.a
3894 <RESULT IF_PASS COUNT 1>
3895 (?im)Reference.+?unbound.+?field
3897 <RESULT IF_PASS COUNT 1>
3903 .*---------------------------------------------------------------------*
3904 :h4.Omitting mandatory fields - wrong optional record field (const in function)
3905 .*---------------------------------------------------------------------*
3907 <TC - Omitting mandatory fields - wrong optional record field (const in function)>
3910 <MODULE TTCN x x.ttcn>
3913 type record Record {
3921 const Record r := { omit, 0.0, "error" };
3926 <RESULT IF_PASS COUNT 1>
3927 (?im)omit.+?not.+?allowed
3929 <RESULT IF_PASS COUNT 1>
3930 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3932 <RESULT IF_PASS COUNT 1>
3938 .*---------------------------------------------------------------------*
3939 :h4.Omitting mandatory fields - wrong optional set field (const in def. part)
3940 .*---------------------------------------------------------------------*
3942 <TC - Omitting mandatory fields - wrong optional set field> (const in def. part)
3945 <MODULE TTCN x x.ttcn>
3962 <RESULT IF_PASS COUNT 1>
3963 (?im)omit.+?not.+?allowed
3965 <RESULT IF_PASS COUNT 1>
3966 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3968 <RESULT IF_PASS COUNT 1>
3974 .*---------------------------------------------------------------------*
3975 :h4.Omitting mandatory fields - wrong optional set field (const in function)
3976 .*---------------------------------------------------------------------*
3978 <TC - Omitting mandatory fields - wrong optional set field> (const in function)
3981 <MODULE TTCN x x.ttcn>
4000 <RESULT IF_PASS COUNT 1>
4001 (?im)omit.+?not.+?allowed
4003 <RESULT IF_PASS COUNT 1>
4004 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4006 <RESULT IF_PASS COUNT 1>
4012 .*---------------------------------------------------------------------*
4013 :h3.Values are not constants or literals in subtype-specifications
4014 .*---------------------------------------------------------------------*
4016 This test case group covers the requirement SA-6/12.
4018 Strategy: values in list, range and string length shall be initialized with constants or literal values.
4019 So it shall not contains functions returned with random values, and hand-made functions neither.
4020 See the table 3, side 26.
4021 All occurances shall be tested, where such a notation can be used.
4025 :li D='-'.inner random and hand-made functions in charstring length
4026 :li D='-'.inner random and hand-made functions in bitstring length-range
4027 :li D='-'.both type of functions in bitstring length-range
4028 :li D='-'.inner random and hand-made functions in integer-range
4029 :li D='-'.both type of functions in float-range
4030 :li D='-'.inner random and hand-made functions in integer-list
4031 :li D='-'.both type of functions in float-list
4034 .*---------------------------------------------------------------------*
4035 :h4.Values are not constants or literals in subtype-specifications - rnd() in length (charstring )
4036 .*---------------------------------------------------------------------*
4039 <TC - Values are not constants or literals in subtype-specifications - rnd() in length (charstring )>
4043 <MODULE TTCN x x.ttcn>
4046 type charstring myCharType length( float2int(rnd()) );
4050 <RESULT IF_PASS COUNT 1>
4051 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4053 <RESULT IF_PASS COUNT 1>
4054 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4056 <RESULT IF_PASS COUNT 1>
4063 .*---------------------------------------------------------------------*
4064 :h4.Values are not constants or literals in subtype-specifications - hand-made function in length (charstring )
4065 .*---------------------------------------------------------------------*
4068 <TC - Values are not constants or literals in subtype-specifications - hand-made function in length (charstring )>
4072 <MODULE TTCN x x.ttcn>
4075 function myFunct() return integer{
4079 type charstring myCharType length( myFunct() );
4083 <RESULT IF_PASS COUNT 1>
4084 (?im)error.+?Reference.+?constant.+?expected.+?instead
4086 <RESULT IF_PASS COUNT 1>
4087 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4089 <RESULT IF_PASS COUNT 1>
4096 .*---------------------------------------------------------------------*
4097 :h4.Values are not constants or literals in subtype-specifications - rnd() in length range (bitstring )
4098 .*---------------------------------------------------------------------*
4101 <TC - Values are not constants or literals in subtype-specifications - rnd() in length range (bitstring )>
4105 <MODULE TTCN x x.ttcn>
4108 type charstring myCharType length( float2int(rnd()) .. 5 );
4112 <RESULT IF_PASS COUNT 1>
4113 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4115 <RESULT IF_PASS COUNT 1>
4116 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4118 <RESULT IF_PASS COUNT 1>
4125 .*---------------------------------------------------------------------*
4126 :h4.Values are not constants or literals in subtype-specifications - hand-made function in length range (bitstring )
4127 .*---------------------------------------------------------------------*
4130 <TC - Values are not constants or literals in subtype-specifications - hand-made function in length range (bitstring )>
4134 <MODULE TTCN x x.ttcn>
4137 function myFunct() return integer{
4141 type charstring myCharType length( 2 .. myFunct());
4145 <RESULT IF_PASS COUNT 1>
4146 (?im)error.+?Reference.+?constant.+?expected.+?instead
4148 <RESULT IF_PASS COUNT 1>
4149 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4151 <RESULT IF_PASS COUNT 1>
4158 .*---------------------------------------------------------------------*
4159 :h4.Values are not constants or literals in subtype-specifications - both types of functions in length range (bitstring )
4160 .*---------------------------------------------------------------------*
4163 <TC - Values are not constants or literals in subtype-specifications - both types of functions in length range (bitstring )>
4167 <MODULE TTCN x x.ttcn>
4170 function myFunct() return integer{
4174 type charstring myCharType length( float2int(rnd()) .. myFunct());
4178 <RESULT IF_PASS COUNT 1>
4179 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4181 <RESULT IF_PASS COUNT 1>
4182 (?im)error.+?Reference.+?constant.+?expected.+?instead
4184 <RESULT IF_PASS COUNT 1>
4185 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4187 <RESULT IF_PASS COUNT 2>
4194 .*---------------------------------------------------------------------*
4195 :h4.Values are not constants or literals in subtype-specifications - rnd() in range (integer )
4196 .*---------------------------------------------------------------------*
4199 <TC - Values are not constants or literals in subtype-specifications - rnd() in range (integer )>
4203 <MODULE TTCN x x.ttcn>
4206 type integer myIntType ( float2int(rnd()) .. 255 );
4210 <RESULT IF_PASS COUNT 1>
4211 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4213 <RESULT IF_PASS COUNT 1>
4214 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4216 <RESULT IF_PASS COUNT 1>
4223 .*---------------------------------------------------------------------*
4224 :h4.Values are not constants or literals in subtype-specifications - hand-made function in range (integer )
4225 .*---------------------------------------------------------------------*
4228 <TC - Values are not constants or literals in subtype-specifications - hand-made function in range (integer )>
4232 <MODULE TTCN x x.ttcn>
4235 function myFunct() return integer{
4239 type integer myIntType ( 255 .. myFunct() );
4243 <RESULT IF_PASS COUNT 1>
4244 (?im)error.+?Reference.+?constant.+?expected.+?instead
4246 <RESULT IF_PASS COUNT 1>
4247 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4249 <RESULT IF_PASS COUNT 1>
4256 .*---------------------------------------------------------------------*
4257 :h4.Values are not constants or literals in subtype-specifications - both types of functions in range (float )
4258 .*---------------------------------------------------------------------*
4261 <TC - Values are not constants or literals in subtype-specifications - both types of functions in range (float )>
4265 <MODULE TTCN x x.ttcn>
4268 function myFunct() return float{
4272 type float myIntType ( rnd() .. myFunct() );
4276 <RESULT IF_PASS COUNT 1>
4277 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4279 <RESULT IF_PASS COUNT 1>
4280 (?im)error.+?Reference.+?constant.+?expected.+?instead
4282 <RESULT IF_PASS COUNT 1>
4283 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4285 <RESULT IF_PASS COUNT 2>
4292 .*---------------------------------------------------------------------*
4293 :h4.Values are not constants or literals in subtype-specifications - rnd() in list (integer )
4294 .*---------------------------------------------------------------------*
4297 <TC - Values are not constants or literals in subtype-specifications - rnd() in list (integer )>
4301 <MODULE TTCN x x.ttcn>
4304 type integer myIntType ( float2int(rnd()), 255 );
4308 <RESULT IF_PASS COUNT 1>
4309 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4311 <RESULT IF_PASS COUNT 1>
4312 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4314 <RESULT IF_PASS COUNT 1>
4321 .*---------------------------------------------------------------------*
4322 :h4.Values are not constants or literals in subtype-specifications - hand-made function in list (integer )
4323 .*---------------------------------------------------------------------*
4326 <TC - Values are not constants or literals in subtype-specifications - hand-made function in list (integer )>
4330 <MODULE TTCN x x.ttcn>
4333 function myFunct() return integer{
4337 type integer myIntType ( 255, myFunct() );
4341 <RESULT IF_PASS COUNT 1>
4342 (?im)error.+?Reference.+?constant.+?expected.+?instead
4344 <RESULT IF_PASS COUNT 1>
4345 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4347 <RESULT IF_PASS COUNT 1>
4354 .*---------------------------------------------------------------------*
4355 :h4.Values are not constants or literals in subtype-specifications - both types of functions in list (float )
4356 .*---------------------------------------------------------------------*
4359 <TC - Values are not constants or literals in subtype-specifications - both types of functions in list (float )>
4363 <MODULE TTCN x x.ttcn>
4366 function myFunct() return float{
4370 type float myIntType ( rnd(), 255.0, myFunct() );
4374 <RESULT IF_PASS COUNT 1>
4375 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
4377 <RESULT IF_PASS COUNT 1>
4378 (?im)error.+?Reference.+?constant.+?expected.+?instead
4380 <RESULT IF_PASS COUNT 1>
4381 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4383 <RESULT IF_PASS COUNT 2>
4390 .*---------------------------------------------------------------------*
4391 :h3.Negative string lengths
4392 .*---------------------------------------------------------------------*
4394 This test case group covers the requirement SA-6/13.
4396 Strategy: TTCN-3 permits specification of length restrictions on string types. In all cases, the boundaries shall evaluate to non-negative integer or derived integer constant values.
4397 All occurances shall be tested, where such a notation can be used.
4401 :li D='-'.type and ranged type definition in definition part for charstring
4402 :li D='-'.charstring in definition part
4403 :li D='-'.bitstring in function
4406 .*---------------------------------------------------------------------*
4407 :h4.Negative string lengths - type definition (charstring in def.part)
4408 .*---------------------------------------------------------------------*
4411 <TC - Negative string lengths - type definition (charstring in def.part)>
4415 <MODULE TTCN x x.ttcn>
4418 const integer i:= -6;
4420 type charstring myChars length( i);
4424 <RESULT IF_PASS COUNT 1>
4425 (?im)error.+?length.+?restriction.+?must.+?non-negative
4427 <RESULT IF_PASS COUNT 1>
4428 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4430 <RESULT IF_PASS COUNT 1>
4437 .*---------------------------------------------------------------------*
4438 :h4.Negative string lengths - ranged type definition (charstring in def.part)
4439 .*---------------------------------------------------------------------*
4442 <TC - Negative string lengths - ranged type definition (charstring in def.part)>
4446 <MODULE TTCN x x.ttcn>
4449 const integer i:= -5;
4451 type charstring myChars length( i..3);
4455 <RESULT IF_PASS COUNT 1>
4456 (?im)error.+?Lower.+?boundary.+?length.+?restriction.+?must.+?non-negative
4458 <RESULT IF_PASS COUNT 1>
4459 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4461 <RESULT IF_PASS COUNT 1>
4468 .*---------------------------------------------------------------------*
4469 :h4.Negative string lengths - using (charstring in def.part)
4470 .*---------------------------------------------------------------------*
4473 <TC - Negative string lengths - using (charstring in def.part)>
4477 <MODULE TTCN x x.ttcn>
4480 const charstring myChars:= "aiyyo";
4481 const charstring f:= myChars[-1];
4485 <RESULT IF_PASS COUNT 1>
4486 (?im)error.+?non-negative.+?value.+?expected
4488 <RESULT IF_PASS COUNT 1>
4489 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4491 <RESULT IF_PASS COUNT 1>
4498 .*---------------------------------------------------------------------*
4499 :h4.Negative string lengths - using (bitstring in function)
4500 .*---------------------------------------------------------------------*
4503 <TC - Negative string lengths - using (bitstring in function)>
4507 <MODULE TTCN x x.ttcn>
4510 const integer i:= -9;
4511 const bitstring myBits:= '100001'B;
4512 const bitstring f:= myBits[i];
4516 <RESULT IF_PASS COUNT 1>
4517 (?im)error.+?non-negative.+?value.+?expected
4519 <RESULT IF_PASS COUNT 1>
4520 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4522 <RESULT IF_PASS COUNT 1>
4529 .*---------------------------------------------------------------------*
4530 :h3.Dimension in arrays
4531 .*---------------------------------------------------------------------*
4533 This test case group covers the requirement SA-6/14.
4535 Strategy: Array dimensions shall be specified using constant expressions which shall evaluate to a positive integer value.
4536 All occurances shall be tested, where such a notation can be used.
4540 :li D='-'.declaration of integer array with references in control part and function
4541 :li D='-'.declaration of timer array with references in control part and function
4542 :li D='-'.declaration of integer ranged array with references in control part and function
4543 :li D='-'.declaration of timer ranged array with references in control part and function
4544 :li D='-'.declaration of integer array with negative numbers in control part and function
4545 :li D='-'.declaration of timer array with negative numbers in control part and function
4546 :li D='-'.declaration of port array with negative numbers in definition part
4547 :li D='-'.declaration of integer ranged array with negative numbers in control part and function
4548 :li D='-'.declaration of timer ranged array with negative numbers in control part and function
4549 :li D='-'.declaration of port ranged array with negative numbers in control part and function
4550 :li D='-'.declaration of integer array with zero number in control part and function
4551 :li D='-'.declaration of timer array with zero numbers in control part and function
4552 :li D='-'.declaration of port array with zero numbers in definition part
4553 :li D='-'.using of integer array with negative numbers in control part and function
4554 :li D='-'.using of timer array with negative numbers in control part and function
4555 :li D='-'.using of port array with negative numbers in function
4556 :li D='-'.using of integer ranged array with negative numbers in control part and function
4557 :li D='-'.using of timer ranged array with negative numbers in control part and function
4558 :li D='-'.using of port ranged array with negative numbers in function
4560 NOTE: it works for timer arrays
4562 .*---------------------------------------------------------------------*
4563 :h4.Dimension in arrays - variable declaration with references (integer array in control part)
4564 .*---------------------------------------------------------------------*
4567 <TC - Dimension in arrays - variable declaration with references (integer array in control part)>
4571 <MODULE TTCN x x.ttcn>
4578 var integer myArr[2][i];
4582 <RESULT IF_PASS COUNT 1>
4583 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4585 <RESULT IF_PASS COUNT 1>
4586 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4588 <RESULT IF_PASS COUNT 1>
4591 <RESULT IF_FAIL COUNT 1>
4598 .*---------------------------------------------------------------------*
4599 :h4.Dimension in arrays - variable declaration with references (integer array in function)
4600 .*---------------------------------------------------------------------*
4603 <TC - Dimension in arrays - variable declaration with references (integer array in function)>
4607 <MODULE TTCN x x.ttcn>
4614 var integer myArr[i][3];
4618 <RESULT IF_PASS COUNT 1>
4619 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4621 <RESULT IF_PASS COUNT 1>
4622 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4624 <RESULT IF_PASS COUNT 1>
4627 <RESULT IF_FAIL COUNT 1>
4634 .*---------------------------------------------------------------------*
4635 :h4.Dimension in arrays - timer declaration with references (in control part)
4636 .*---------------------------------------------------------------------*
4639 <TC - Dimension in arrays - timer declaration with references (in control part)>
4643 <MODULE TTCN x x.ttcn>
4648 timer myTimerArr[2][i];
4652 <RESULT IF_PASS COUNT 1>
4653 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4655 <RESULT IF_PASS COUNT 1>
4656 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4658 <RESULT IF_PASS COUNT 1>
4665 .*---------------------------------------------------------------------*
4666 :h4.Dimension in arrays - timer declaration with references (in function)
4667 .*---------------------------------------------------------------------*
4670 <TC - Dimension in arrays - timer declaration with references (in function)>
4674 <MODULE TTCN x x.ttcn>
4681 timer myTimerArr[i][3];
4685 <RESULT IF_PASS COUNT 1>
4686 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4688 <RESULT IF_PASS COUNT 1>
4695 .*---------------------------------------------------------------------*
4696 :h4.Dimension in arrays - port declaration with references (in def.part)
4697 .*---------------------------------------------------------------------*
4700 <TC - Dimension in arrays - port declaration with references (in def.part)>
4704 <MODULE TTCN x x.ttcn>
4708 type port myport message{inout charstring};
4709 type myport akarmi[5];
4713 <RESULT IF_PASS COUNT 1>
4714 (?im)error.+?cannot.+?embedded.+?into.+?array.+?type
4716 <RESULT IF_PASS COUNT 1>
4717 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4719 <RESULT IF_PASS COUNT 1>
4726 .*---------------------------------------------------------------------*
4727 :h4.Dimension in arrays - variable declaration with references (integer ranged-array in control part)
4728 .*---------------------------------------------------------------------*
4731 <TC - Dimension in arrays - variable declaration with references (integer ranged-array in control part)>
4735 <MODULE TTCN x x.ttcn>
4742 var integer myArr[2..i][3..4];
4746 <RESULT IF_PASS COUNT 1>
4747 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4749 <RESULT IF_PASS COUNT 1>
4750 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4752 <RESULT IF_PASS COUNT 1>
4755 <RESULT IF_FAIL COUNT 1>
4762 .*---------------------------------------------------------------------*
4763 :h4.Dimension in arrays - variable declaration with references (integer ranged-array in function)
4764 .*---------------------------------------------------------------------*
4767 <TC - Dimension in arrays - variable declaration with references (integer ranged-array in function)>
4771 <MODULE TTCN x x.ttcn>
4778 var integer myArr[2..6][3..i];
4782 <RESULT IF_PASS COUNT 1>
4783 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4785 <RESULT IF_PASS COUNT 1>
4786 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4788 <RESULT IF_PASS COUNT 1>
4791 <RESULT IF_FAIL COUNT 1>
4798 .*---------------------------------------------------------------------*
4799 :h4.Dimension in arrays - timer declaration with references (ranged-array in control part)
4800 .*---------------------------------------------------------------------*
4803 <TC - Dimension in arrays - timer declaration with references (ranged-array in control part)>
4807 <MODULE TTCN x x.ttcn>
4812 timer myTimerArr[i..6][3..4];
4816 <RESULT IF_PASS COUNT 1>
4817 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4819 <RESULT IF_PASS COUNT 1>
4820 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4822 <RESULT IF_PASS COUNT 1>
4829 .*---------------------------------------------------------------------*
4830 :h4.Dimension in arrays - timer declaration with references (ranged-array in function)
4831 .*---------------------------------------------------------------------*
4834 <TC - Dimension in arrays - timer declaration with references (ranged-array in function)>
4838 <MODULE TTCN x x.ttcn>
4843 timer myTimerArr[2..i][3..4];
4847 <RESULT IF_PASS COUNT 1>
4848 (?im)error.+?Reference.+?to.+?constant.+?value.+?expected
4850 <RESULT IF_PASS COUNT 1>
4851 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4853 <RESULT IF_PASS COUNT 1>
4860 .*---------------------------------------------------------------------*
4861 :h4.Dimension in arrays - variable declaration with negative literal (integer array in control part)
4862 .*---------------------------------------------------------------------*
4865 <TC - Dimension in arrays - variable declaration with negative literal (integer array in control part)>
4869 <MODULE TTCN x x.ttcn>
4873 var integer myArr[2][-3];
4877 <RESULT IF_PASS COUNT 1>
4878 (?im)error.+?positive.+?value.+?expected.+?array.+?size
4880 <RESULT IF_PASS COUNT 1>
4881 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4883 <RESULT IF_PASS COUNT 1>
4890 .*---------------------------------------------------------------------*
4891 :h4.Dimension in arrays - variable declaration with negative constants (integer array in function)
4892 .*---------------------------------------------------------------------*
4895 <TC - Dimension in arrays - variable declaration with negative constants (integer array in function)>
4899 <MODULE TTCN x x.ttcn>
4904 const integer i:= -5;
4905 var integer myArr[i][3];
4909 <RESULT IF_PASS COUNT 1>
4910 (?im)error.+?positive.+?value.+?expected.+?array.+?size
4912 <RESULT IF_PASS COUNT 1>
4913 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4915 <RESULT IF_PASS COUNT 1>
4922 .*---------------------------------------------------------------------*
4923 :h4.Dimension in arrays - timer declaration with negative literal (in control part)
4924 .*---------------------------------------------------------------------*
4927 <TC - Dimension in arrays - timer declaration with negative literal (in control part)>
4931 <MODULE TTCN x x.ttcn>
4939 <RESULT IF_PASS COUNT 1>
4940 (?im)error.+?positive.+?integer.+?value.+?expected
4942 <RESULT IF_PASS COUNT 1>
4943 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4945 <RESULT IF_PASS COUNT 1>
4952 .*---------------------------------------------------------------------*
4953 :h4.Dimension in arrays - timer declaration with negative constants (in function)
4954 .*---------------------------------------------------------------------*
4957 <TC - Dimension in arrays - timer declaration with negative constants (in function)>
4961 <MODULE TTCN x x.ttcn>
4966 const integer i:= -5;
4971 <RESULT IF_PASS COUNT 1>
4972 (?im)error.+?positive.+?integer.+?value.+?expected
4974 <RESULT IF_PASS COUNT 1>
4975 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4977 <RESULT IF_PASS COUNT 1>
4984 .*---------------------------------------------------------------------*
4985 :h4.Dimension in arrays - port declaration with negative constants (in def. part)
4986 .*---------------------------------------------------------------------*
4989 <TC - Dimension in arrays - port declaration with negative constants (in def. part)>
4993 <MODULE TTCN x x.ttcn>
4996 type port myPort message{inout charstring};
4998 const integer i := -5;
5000 type component myComp{
5001 port myPort ports[i];
5005 <RESULT IF_PASS COUNT 1>
5006 (?im)error.+?positive.+?integer.+?value.+?expected
5008 <RESULT IF_PASS COUNT 1>
5009 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5011 <RESULT IF_PASS COUNT 1>
5019 .*---------------------------------------------------------------------*
5020 :h4.Dimension in arrays - variable declaration with negative literal (integer ranged-array in control part)
5021 .*---------------------------------------------------------------------*
5024 <TC - Dimension in arrays - variable declaration with negative literal (integer ranged-array in control part)>
5028 <MODULE TTCN x x.ttcn>
5033 var integer myArr[2..6][-8..10];
5037 <RESULT IF_PASS NEGATIVE>
5044 .*---------------------------------------------------------------------*
5045 :h4.Dimension in arrays - variable declaration with negative constants (integer ranged-array in function)
5046 .*---------------------------------------------------------------------*
5049 <TC - Dimension in arrays - variable declaration with negative constants (integer ranged-array in function)>
5053 <MODULE TTCN x x.ttcn>
5058 const integer i:= -3;
5059 var integer myArr[i..6][8..10];
5063 <RESULT IF_PASS NEGATIVE>
5070 .*---------------------------------------------------------------------*
5071 :h4.Dimension in arrays - timer declaration with negative literal (ranged-array in control part)
5072 .*---------------------------------------------------------------------*
5075 <TC - Dimension in arrays - timer declaration with negative literal (ranged-array in control part)>
5079 <MODULE TTCN x x.ttcn>
5084 timer myArr[2..6][-8..10];
5088 <RESULT IF_PASS NEGATIVE>
5095 .*---------------------------------------------------------------------*
5096 :h4.Dimension in arrays - timer declaration with negative constants (ranged-array in function)
5097 .*---------------------------------------------------------------------*
5100 <TC - Dimension in arrays - timer declaration with negative constants (ranged-array in function)>
5104 <MODULE TTCN x x.ttcn>
5109 const integer i:= -3;
5110 timer myArr[i..6][8..10];
5114 <RESULT IF_PASS NEGATIVE>
5121 .*---------------------------------------------------------------------*
5122 :h4.Dimension in arrays - port declaration with negative constants (ranged-array in def. part)
5123 .*---------------------------------------------------------------------*
5126 <TC - Dimension in arrays - port declaration with negative constants (ranged-array in def. part)>
5130 <MODULE TTCN x x.ttcn>
5133 type port myPort message{inout charstring};
5135 const integer i := -5;
5137 type component myComp{
5138 port myPort ports[i..10];
5143 <RESULT IF_PASS NEGATIVE>
5150 .*---------------------------------------------------------------------*
5151 :h4.Dimension in arrays - variable declaration with zero constants (integer array in control part)
5152 .*---------------------------------------------------------------------*
5155 <TC - Dimension in arrays - variable declaration with zero constants (integer array in control part)>
5159 <MODULE TTCN x x.ttcn>
5164 var integer myArr[0];
5168 <RESULT IF_PASS COUNT 1>
5169 (?im)error.+?positive.+?value.+?expected.+?array.+?size
5171 <RESULT IF_PASS COUNT 1>
5172 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5174 <RESULT IF_PASS COUNT 1>
5181 .*---------------------------------------------------------------------*
5182 :h4.Dimension in arrays - variable declaration with zero literal (integer array in function)
5183 .*---------------------------------------------------------------------*
5186 <TC - Dimension in arrays - variable declaration with zero literal (integer array in function)>
5190 <MODULE TTCN x x.ttcn>
5195 const integer i:= 0;
5196 var integer myArr[i];
5200 <RESULT IF_PASS COUNT 1>
5201 (?im)error.+?positive.+?value.+?expected.+?array.+?size
5203 <RESULT IF_PASS COUNT 1>
5204 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5206 <RESULT IF_PASS COUNT 1>
5213 .*---------------------------------------------------------------------*
5214 :h4.Dimension in arrays - timer declaration with zero constants (in control part)
5215 .*---------------------------------------------------------------------*
5218 <TC - Dimension in arrays - timer declaration with zero constants (in control part)>
5222 <MODULE TTCN x x.ttcn>
5231 <RESULT IF_PASS COUNT 1>
5232 (?im)error.+?positive.+?integer.+?value.+?expected
5234 <RESULT IF_PASS COUNT 1>
5235 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5237 <RESULT IF_PASS COUNT 1>
5244 .*---------------------------------------------------------------------*
5245 :h4.Dimension in arrays - port declaration with zero constants (in def. part)
5246 .*---------------------------------------------------------------------*
5249 <TC - Dimension in arrays - port declaration with zero constants (in def. part)>
5253 <MODULE TTCN x x.ttcn>
5256 type port myPort message{inout charstring};
5258 type component myComp{
5259 port myPort ports[0];
5264 <RESULT IF_PASS COUNT 1>
5265 (?im)error.+?positive.+?integer.+?value.+?expected
5267 <RESULT IF_PASS COUNT 1>
5268 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5270 <RESULT IF_PASS COUNT 1>
5277 .*---------------------------------------------------------------------*
5278 :h4.Dimension in arrays - timer declaration with zero literal (in function)
5279 .*---------------------------------------------------------------------*
5282 <TC - Dimension in arrays - timer declaration with zero literal (in function)>
5286 <MODULE TTCN x x.ttcn>
5291 const integer i:= 0;
5296 <RESULT IF_PASS COUNT 1>
5297 (?im)error.+?positive.+?integer.+?value.+?expected
5299 <RESULT IF_PASS COUNT 1>
5300 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5302 <RESULT IF_PASS COUNT 1>
5309 .*---------------------------------------------------------------------*
5310 :h4.Dimension in arrays - port declaration with zero literal (in def. part)
5311 .*---------------------------------------------------------------------*
5314 <TC - Dimension in arrays - port declaration with zero literal (in def. part)>
5318 <MODULE TTCN x x.ttcn>
5321 type port myPort message{inout charstring};
5323 const integer i := 0;
5325 type component myComp{
5326 port myPort ports[i];
5331 <RESULT IF_PASS COUNT 1>
5332 (?im)error.+?positive.+?integer.+?value.+?expected
5334 <RESULT IF_PASS COUNT 1>
5335 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5337 <RESULT IF_PASS COUNT 1>
5345 .*---------------------------------------------------------------------*
5346 :h4.Dimension in arrays - using (timer array in control part)
5347 .*---------------------------------------------------------------------*
5350 <TC - Dimension in arrays - using (timer array in control part)>
5354 <MODULE TTCN x x.ttcn>
5361 myArr[-1].start( 2.0);
5365 <RESULT IF_PASS COUNT 1>
5366 (?im)error.+?Array.+?index.+?underflow
5368 <RESULT IF_PASS COUNT 1>
5369 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5371 <RESULT IF_PASS COUNT 1>
5378 .*---------------------------------------------------------------------*
5379 :h4.Dimension in arrays - using (timer array in function)
5380 .*---------------------------------------------------------------------*
5383 <TC - Dimension in arrays - using (timer array in function)>
5387 <MODULE TTCN x x.ttcn>
5393 const integer i:= -3;
5395 myArr[i].start( 2.0);
5399 <RESULT IF_PASS COUNT 1>
5400 (?im)error.+?Array.+?index.+?underflow
5402 <RESULT IF_PASS COUNT 1>
5403 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5405 <RESULT IF_PASS COUNT 1>
5412 .*---------------------------------------------------------------------*
5413 :h4.Dimension in arrays - using (port array in function)
5414 .*---------------------------------------------------------------------*
5417 <TC - Dimension in arrays - using (port array in function)>
5421 <MODULE TTCN x x.ttcn>
5424 type port myPort message{inout charstring};
5426 type component myComp{
5427 port myPort ports[3];
5430 function myFunc() runs on myComp{
5431 const integer i := -3;
5437 <RESULT IF_PASS COUNT 1>
5438 (?im)\berror\b.+?index.+?underflow
5440 <RESULT IF_PASS COUNT 1>
5447 .*---------------------------------------------------------------------*
5448 :h4.Dimension in arrays - using (integer ranged-array in control part)
5449 .*---------------------------------------------------------------------*
5452 <TC - Dimension in arrays - using (integer ranged-array in control part)>
5456 <MODULE TTCN x x.ttcn>
5461 var integer myArr[4..6][8..10];
5463 const integer i:= -3;
5466 var integer f:= myArr[i][9];
5470 <RESULT IF_FAIL NEGATIVE>
5477 .*---------------------------------------------------------------------*
5478 :h4.Dimension in arrays - using (integer ranged-array in function)
5479 .*---------------------------------------------------------------------*
5482 <TC - Dimension in arrays - using (integer ranged-array in function)>
5486 <MODULE TTCN x x.ttcn>
5491 const integer i:= 3;
5492 var integer myArr[i..6][8..10];
5495 var integer f:= myArr[4][-9];
5499 <RESULT IF_FAIL NEGATIVE>
5506 .*---------------------------------------------------------------------*
5507 :h4.Dimension in arrays - using (timer ranged-array in control part)
5508 .*---------------------------------------------------------------------*
5511 <TC - Dimension in arrays - using (timer ranged-array in control part)>
5515 <MODULE TTCN x x.ttcn>
5520 timer myArr[3..6][1..10];
5521 const integer i:= -3;
5524 myArr[i][2].start(9.0);
5529 <RESULT IF_PASS COUNT 1>
5530 (?im)\berror\b.+?index.+?underflow
5532 <RESULT IF_PASS COUNT 1>
5539 .*---------------------------------------------------------------------*
5540 :h4.Dimension in arrays - using (timer ranged-array in function)
5541 .*---------------------------------------------------------------------*
5544 <TC - Dimension in arrays - using (timer ranged-array in function)>
5548 <MODULE TTCN x x.ttcn>
5553 timer myArr[3..6][1..10];
5554 const integer i:= -3;
5557 myArr[i][2].start(9.0);
5561 <RESULT IF_PASS COUNT 1>
5562 (?im)\berror\b.+?index.+?underflow
5564 <RESULT IF_PASS COUNT 1>
5571 .*---------------------------------------------------------------------*
5572 :h4.Dimension in arrays - using (port ranged-array in function)
5573 .*---------------------------------------------------------------------*
5576 <TC - Dimension in arrays - using (port ranged-array in function)>
5580 <MODULE TTCN x x.ttcn>
5583 type port myPort message{inout charstring};
5585 type component myComp{
5586 port myPort ports[3..5];
5589 function myFunc() runs on myComp{
5590 const integer i := -3;
5596 <RESULT IF_PASS COUNT 1>
5597 (?im)\berror\b.+?index.+?underflow
5599 <RESULT IF_PASS COUNT 1>
5606 .*---------------------------------------------------------------------*
5607 :h3.Upper and lower boundaries
5608 .*---------------------------------------------------------------------*
5610 This test case group covers the requirement SA-6/15.
5612 Strategy: The lower boundary shall be smaller than the upper boundary in array definitions, string length restrictions and in
5613 definitions using ranges.
5614 All occurances shall be tested, where such a notation can be used.
5618 :li D='-'.charstring and integer value-ranges in definition part
5619 :li D='-'.mixed integer list and value-ranges in definition part
5620 :li D='-'.charstring and bitstring length restriction in definition part
5621 :li D='-'.integer array declaration in control part
5622 :li D='-'.timer array declaration in definition part
5623 :li D='-'.port array declaration in definition part
5624 :li D='-'.charstring array declaration in function
5627 .*---------------------------------------------------------------------*
5628 :h4.Upper and lower boundaries - value-range (charstring in def.part)
5629 .*---------------------------------------------------------------------*
5632 <TC - Upper and lower boundaries - value-range (charstring in def.part)>
5636 <MODULE TTCN x x.ttcn>
5639 type charstring f ( "z".."a");
5642 <RESULT IF_PASS COUNT 1>
5643 (?im)error.+?lower.+?boundary.+?bigger.+?than.+?upper
5645 <RESULT IF_PASS COUNT 1>
5646 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5648 <RESULT IF_PASS COUNT 1>
5655 .*---------------------------------------------------------------------*
5656 :h4.Upper and lower boundaries - value-range (integer in def.part)
5657 .*---------------------------------------------------------------------*
5660 <TC - Upper and lower boundaries - value-range (integer in def.part)>
5664 <MODULE TTCN x x.ttcn>
5667 const integer i:= 500;
5668 type integer f (i..255);
5671 <RESULT IF_PASS COUNT 1>
5672 (?im)error.+?lower.+?boundary.+?bigger.+?than.+?upper
5674 <RESULT IF_PASS COUNT 1>
5675 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5677 <RESULT IF_PASS COUNT 1>
5684 .*---------------------------------------------------------------------*
5685 :h4.Upper and lower boundaries - mixed value-list and value-range (integer in def.part)
5686 .*---------------------------------------------------------------------*
5689 <TC - Upper and lower boundaries - mixed value-list and value-range (integer in def.part)>
5693 <MODULE TTCN x x.ttcn>
5696 type integer f ( 1, 2, 300..255, 500);
5699 <RESULT IF_PASS COUNT 1>
5700 (?im)error.+?lower.+?boundary.+?bigger.+?than.+?upper
5702 <RESULT IF_PASS COUNT 1>
5703 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5705 <RESULT IF_PASS COUNT 1>
5712 .*---------------------------------------------------------------------*
5713 :h4.Upper and lower boundaries - length restriction (charstring in def.part)
5714 .*---------------------------------------------------------------------*
5717 <TC - Upper and lower boundaries - length restriction (charstring in def.part)>
5721 <MODULE TTCN x x.ttcn>
5724 const integer i:= 5;
5725 type charstring f length(7..i);
5728 <RESULT IF_PASS COUNT 1>
5729 (?im)error.+?upper.+?boundary.+?length.+?restriction.+?cannot.+?be.+?smaller.+?than.+?lower
5731 <RESULT IF_PASS COUNT 1>
5732 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5734 <RESULT IF_PASS COUNT 1>
5741 .*---------------------------------------------------------------------*
5742 :h4.Upper and lower boundaries - length restriction (bitstring in def.part)
5743 .*---------------------------------------------------------------------*
5746 <TC - Upper and lower boundaries - length restriction (bitstring in def.part)>
5750 <MODULE TTCN x x.ttcn>
5753 type bitstring f length(6..3);
5756 <RESULT IF_PASS COUNT 1>
5757 (?im)error.+?upper.+?boundary.+?length.+?restriction.+?cannot.+?be.+?smaller.+?than.+?lower
5759 <RESULT IF_PASS COUNT 1>
5760 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5762 <RESULT IF_PASS COUNT 1>
5769 .*---------------------------------------------------------------------*
5770 :h4.Upper and lower boundaries - array definition (integer in control part)
5771 .*---------------------------------------------------------------------*
5774 <TC - Upper and lower boundaries - array definition (integer in control part)>
5778 <MODULE TTCN x x.ttcn>
5782 const integer i:= 7;
5783 var integer f [1..2][i..4][3..4];
5787 <RESULT IF_PASS COUNT 1>
5788 (?im)error.+?lower.+?bound.+?array.+?greater.+?upper.+?bound
5790 <RESULT IF_PASS COUNT 1>
5791 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5793 <RESULT IF_PASS COUNT 1>
5800 .*---------------------------------------------------------------------*
5801 :h4.Upper and lower boundaries - array definition (charstring in function)
5802 .*---------------------------------------------------------------------*
5805 <TC - Upper and lower boundaries - array definition (charstring in function)>
5809 <MODULE TTCN x x.ttcn>
5813 var charstring f [9..2][1..5];
5817 <RESULT IF_PASS COUNT 1>
5818 (?im)error.+?lower.+?bound.+?array.+?greater.+?upper.+?bound
5820 <RESULT IF_PASS COUNT 1>
5821 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5823 <RESULT IF_PASS COUNT 1>
5830 .*---------------------------------------------------------------------*
5831 :h4.Upper and lower boundaries - timer-array definition (in control part)
5832 .*---------------------------------------------------------------------*
5835 <TC - Upper and lower boundaries - timer-array definition (in control part)>
5839 <MODULE TTCN x x.ttcn>
5843 const integer i:= 7;
5844 timer f [1..2][i..4][3..4];
5848 <RESULT IF_PASS COUNT 1>
5849 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5851 <RESULT IF_PASS COUNT 1>
5852 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5854 <RESULT IF_PASS COUNT 1>
5861 .*---------------------------------------------------------------------*
5862 :h4.Upper and lower boundaries - timer-array definition (in function)
5863 .*---------------------------------------------------------------------*
5866 <TC - Upper and lower boundaries - timer-array definition (in function)>
5870 <MODULE TTCN x x.ttcn>
5874 timer f [9..2][1..5];
5878 <RESULT IF_PASS COUNT 1>
5879 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5881 <RESULT IF_PASS COUNT 1>
5882 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5884 <RESULT IF_PASS COUNT 1>
5891 .*---------------------------------------------------------------------*
5892 :h4.Upper and lower boundaries - port-array definition (in def. part)
5893 .*---------------------------------------------------------------------*
5896 <TC - Upper and lower boundaries - port-array definition (in def. part)>
5900 <MODULE TTCN x x.ttcn>
5903 type port myport message{
5907 type component mycomp{
5908 port myport ports[6..5]
5912 <RESULT IF_PASS COUNT 1>
5913 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5915 <RESULT IF_PASS COUNT 1>
5916 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5918 <RESULT IF_PASS COUNT 1>
5925 .*---------------------------------------------------------------------*
5926 :h4.Upper and lower boundaries - port-array definition (in def. part) 2
5927 .*---------------------------------------------------------------------*
5930 <TC - Upper and lower boundaries - port-array definition (in def. part) 2>
5934 <MODULE TTCN x x.ttcn>
5937 type port myport message{
5941 const integer i := 6;
5943 type component mycomp{
5944 port myport ports[i..5]
5948 <RESULT IF_PASS COUNT 1>
5949 (?im)error.+?lower.+?bound.+?array.+?index.+?greater.+?than.+?upper
5951 <RESULT IF_PASS COUNT 1>
5952 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5954 <RESULT IF_PASS COUNT 1>
5959 .*---------------------------------------------------------------------*
5961 .*---------------------------------------------------------------------*
5963 This test case group covers the requirement SA-6/16.
5965 Strategy: When referencing an element of an array, the index shall evaluate to a valid position within string and array.
5966 All occurances shall be tested, where such a notation can be used.
5971 :li D='-'.bitstring in definition part
5972 :li D='-'.charstring in control part
5973 :li D='-'.hexstring in function
5974 :li D='-'.integer array in control part
5975 :li D='-'.timer array in control part and function
5976 :li D='-'.port array in definition part
5977 :li D='-'.charstring array in function
5978 :li D='-'.integer ranged array in control part
5979 :li D='-'.timer ranged array in control part and function
5980 :li D='-'.port ranged array in definition part
5981 :li D='-'.float arnged array in function
5985 :li D='-'.integer ranged array in control part
5986 :li D='-'.timer array in control part and function
5987 :li D='-'.timer ranged array in control part and function
5988 :li D='-'.port array in definition part
5989 :li D='-'.port ranged array in definition part
5990 :li D='-'.float ranged array in function
5993 .*---------------------------------------------------------------------*
5994 :h4.Overindexing - string overindexing (bitstring in def.part)
5995 .*---------------------------------------------------------------------*
5998 <TC - Overindexing - string overindexing (bitstring in def.part)>
6002 <MODULE TTCN x x.ttcn>
6005 type bitstring myBits length(3..5);
6007 const myBits r:= '11111'B;
6008 const bitstring f:= r[5];
6011 <RESULT IF_PASS COUNT 1>
6012 (?im)error.+?Index.+?overflow.+?accessing.+?string.+?element
6014 <RESULT IF_PASS COUNT 1>
6015 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6017 <RESULT IF_PASS COUNT 1>
6024 .*---------------------------------------------------------------------*
6025 :h4.Overindexing - string overindexing (charstring in control part)
6026 .*---------------------------------------------------------------------*
6029 <TC - Overindexing - string overindexing (charstring in control part)>
6033 <MODULE TTCN x x.ttcn>
6036 type charstring myChars length(3..13);
6038 const myChars r:= "Ford Fairlane";
6041 const charstring f:= r[15];
6045 <RESULT IF_PASS COUNT 1>
6046 (?im)error.+?Index.+?overflow.+?accessing.+?string.+?element
6048 <RESULT IF_PASS COUNT 1>
6049 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6051 <RESULT IF_PASS COUNT 1>
6058 .*---------------------------------------------------------------------*
6059 :h4.Overindexing - string overindexing (hexstring in function)
6060 .*---------------------------------------------------------------------*
6063 <TC - Overindexing - string overindexing (hexstring in function)>
6067 <MODULE TTCN x x.ttcn>
6070 type hexstring myHexes length(1..10);
6072 const myHexes r:= 'AbbaBaba'H;
6075 const hexstring f:= r[9];
6079 <RESULT IF_PASS COUNT 1>
6080 (?im)error.+?Index.+?overflow.+?accessing.+?string.+?element
6082 <RESULT IF_PASS COUNT 1>
6083 (?im)\bNotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6085 <RESULT IF_PASS COUNT 1>
6092 .*---------------------------------------------------------------------*
6093 :h4.Overindexing - array overindexing (integer in control part)
6094 .*---------------------------------------------------------------------*
6097 <TC - Overindexing - array overindexing (integer in control part)>
6101 <MODULE TTCN x x.ttcn>
6104 const integer i:= 10;
6107 var integer myArr[2][4];
6108 myArr[1]:= { 1, 2, 3, 4 };
6111 var integer f:= myArr[1][i];
6115 <RESULT IF_FAIL NEGATIVE>
6122 .*---------------------------------------------------------------------*
6123 :h4.Overindexing - array overindexing (charstring in function)
6124 .*---------------------------------------------------------------------*
6127 <TC - Overindexing - array overindexing (charstring in function)>
6131 <MODULE TTCN x x.ttcn>
6135 var charstring myArr[2][4];
6136 myArr[1]:= { "EEE", "MUHAHA", "AIYYO", "GERAPPA"};
6139 myArr[2][6]:= "ERIXON";
6143 <RESULT IF_FAIL NEGATIVE>
6150 .*---------------------------------------------------------------------*
6151 :h4.Overindexing - timer-array overindexing (in control part)
6152 .*---------------------------------------------------------------------*
6155 <TC - Overindexing - timer-array overindexing (in control part)>
6159 <MODULE TTCN x x.ttcn>
6163 timer myArr[2][4]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6165 const integer i:= 5;
6168 f.start( myArr[1][i].read);
6172 <RESULT IF_PASS COUNT 1>
6173 (?im)\berror\b.+?index.+?overflow
6175 <RESULT IF_PASS COUNT 1>
6182 .*---------------------------------------------------------------------*
6183 :h4.Overindexing - timer-array overindexing (in function)
6184 .*---------------------------------------------------------------------*
6187 <TC - Overindexing - timer-array overindexing (in function)>
6191 <MODULE TTCN x x.ttcn>
6195 timer myArr[2][4]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6197 const integer i:= 5;
6200 f.start( myArr[1][i].read);
6204 <RESULT IF_PASS COUNT 1>
6205 (?im)\berror\b.+?index.+?overflow
6207 <RESULT IF_PASS COUNT 1>
6214 .*---------------------------------------------------------------------*
6215 :h4.Overindexing - port-array overindexing (in function)
6216 .*---------------------------------------------------------------------*
6219 <TC - Overindexing - port-array overindexing (in function>
6223 <MODULE TTCN x x.ttcn>
6226 type port myport message{
6230 type component mycomp{
6231 port myport ports[5]
6234 function myFunc() runs on mycomp{
6239 <RESULT IF_PASS COUNT 1>
6240 (?im)\berror\b.+?index.+?overflow
6242 <RESULT IF_PASS COUNT 1>
6249 .*---------------------------------------------------------------------*
6250 :h4.Overindexing - ranged-array overindexing (integer in control part)
6251 .*---------------------------------------------------------------------*
6254 <TC - Overindexing - ranged-array overindexing (integer in control part)>
6258 <MODULE TTCN x x.ttcn>
6262 var integer myArr[2..4][5..8];
6265 var integer f:= myArr[6][9];
6269 <RESULT IF_FAIL NEGATIVE>
6276 .*---------------------------------------------------------------------*
6277 :h4.Overindexing - ranged-array overindexing (float in function)
6278 .*---------------------------------------------------------------------*
6281 <TC - Overindexing - ranged-array overindexing (float in function)>
6285 <MODULE TTCN x x.ttcn>
6288 const integer i:= 6;
6289 const integer j:= 10;
6292 var float myArr[2..4][5..8];
6299 <RESULT IF_FAIL NEGATIVE>
6306 .*---------------------------------------------------------------------*
6307 :h4.Overindexing - ranged timer-array overindexing (in control part)
6308 .*---------------------------------------------------------------------*
6311 <TC - Overindexing - ranged timer-array overindexing (in control part)>
6315 <MODULE TTCN x x.ttcn>
6319 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6321 const integer i:= 9;
6324 f.start( myArr[2][i].read);
6328 <RESULT IF_PASS COUNT 1>
6329 (?im)\berror\b.+?index.+?overflow
6331 <RESULT IF_PASS COUNT 1>
6338 .*---------------------------------------------------------------------*
6339 :h4.Overindexing - ranged timer-array overindexing (in function)
6340 .*---------------------------------------------------------------------*
6343 <TC - Overindexing - ranged timer-array overindexing (in function)>
6347 <MODULE TTCN x x.ttcn>
6351 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6353 const integer i:= 9;
6356 f.start( myArr[2][i].read);
6360 <RESULT IF_PASS COUNT 1>
6361 (?im)\berror\b.+?index.+?overflow
6363 <RESULT IF_PASS COUNT 1>
6370 .*---------------------------------------------------------------------*
6371 :h4.Overindexing - ranged port-array overindexing (in function)
6372 .*---------------------------------------------------------------------*
6375 <TC - Overindexing - ranged port-array overindexing (in function>
6379 <MODULE TTCN x x.ttcn>
6382 type port myport message{
6386 type component mycomp{
6387 port myport ports[5..6]
6390 function myFunc() runs on mycomp{
6395 <RESULT IF_PASS COUNT 1>
6396 (?im)\berror\b.+?index.+?overflow
6398 <RESULT IF_PASS COUNT 1>
6405 .*---------------------------------------------------------------------*
6406 :h4.Overindexing - ranged-array underindexing (integer in control part)
6407 .*---------------------------------------------------------------------*
6410 <TC - Overindexing - ranged-array underindexing (integer in control part)>
6414 <MODULE TTCN x x.ttcn>
6418 var integer myArr[2..4][5..8];
6421 var integer f:= myArr[1][3];
6425 <RESULT IF_FAIL NEGATIVE>
6432 .*---------------------------------------------------------------------*
6433 :h4.Overindexing - ranged-array underindexing (integer in function)
6434 .*---------------------------------------------------------------------*
6437 <TC - Overindexing - ranged-array underindexing (integer in function)>
6441 <MODULE TTCN x x.ttcn>
6444 type integer myint[5..6];
6447 var myint f := {1,2};
6452 <RESULT IF_PASS COUNT 1>
6453 (?im)\berror\b.+?index.+?underflow
6455 <RESULT IF_PASS COUNT 1>
6463 .*---------------------------------------------------------------------*
6464 :h4.Overindexing - ranged-array underindexing (float in function)
6465 .*---------------------------------------------------------------------*
6468 <TC - Overindexing - ranged-array underindexing (float in function)>
6472 <MODULE TTCN x x.ttcn>
6475 const integer i:= 0;
6476 const integer j:= 4;
6479 var float myArr[2..4][5..8];
6486 <RESULT IF_FAIL NEGATIVE>
6493 .*---------------------------------------------------------------------*
6494 :h4.Overindexing - ranged timer-array underindexing (in control part)
6495 .*---------------------------------------------------------------------*
6498 <TC - Overindexing - ranged timer-array underindexing (in control part)>
6502 <MODULE TTCN x x.ttcn>
6506 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6508 const integer i:= 1;
6511 f.start( myArr[i][6].read);
6515 <RESULT IF_PASS COUNT 1>
6516 (?im)\berror\b.+?index.+?underflow
6518 <RESULT IF_PASS COUNT 1>
6525 .*---------------------------------------------------------------------*
6526 :h4.Overindexing - ranged timer-array underindexing (in function)
6527 .*---------------------------------------------------------------------*
6530 <TC - Overindexing - ranged timer-array underindexing (in function)>
6534 <MODULE TTCN x x.ttcn>
6538 timer myArr[2..3][4..7]:= {{ 1.0, 2.0, 3.0, 4.0 }, { 1.0, 2.0, 3.0, 4.0 }};
6540 const integer i:= 2;
6543 f.start( myArr[2][i].read);
6547 <RESULT IF_PASS COUNT 1>
6548 (?im)\berror\b.+?index.+?underflow
6550 <RESULT IF_PASS COUNT 1>
6557 .*---------------------------------------------------------------------*
6558 :h4.Overindexing - ranged port-array underindexing (in function)
6559 .*---------------------------------------------------------------------*
6562 <TC - Overindexing - ranged port-array underindexing (in function)>
6566 <MODULE TTCN x x.ttcn>
6569 type port myport message{
6573 type component mycomp{
6574 port myport ports[5..6]
6577 function myFunc() runs on mycomp{
6582 <RESULT IF_PASS COUNT 1>
6583 (?im)\berror\b.+?index.+?underflow
6585 <RESULT IF_PASS COUNT 1>
6592 .*---------------------------------------------------------------------*
6593 :h3.Negative timer duration
6594 .*---------------------------------------------------------------------*
6596 This test case group covers the requirement SA-6/17.
6598 Strategy: A timer declaration may have an optional default duration value assigned to it. The timer shall be started with this
6599 value if no other value is specified. This value shall be positive, but we can use constants too. Same is true for timer
6600 arrays and the oprional timer of the execute operation.
6601 All occurances shall be tested, where such a notation can be used.
6605 :li D='-'.timer default values in control part and function
6606 :li D='-'.timer starting values in control part and function
6607 :li D='-'.timer-array default values in control part and function
6608 :li D='-'.timer-array starting values in control part and function
6609 :li D='-'.execution timer
6612 .*---------------------------------------------------------------------*
6613 :h4.Negative timer duration - default (in control part)
6614 .*---------------------------------------------------------------------*
6617 <TC - Negative timer duration - default (in control part)>
6621 <MODULE TTCN x x.ttcn>
6629 <RESULT IF_PASS COUNT 1>
6630 (?im)error.+?non-negative.+?float.+?value.+?expected
6632 <RESULT IF_PASS COUNT 1>
6639 .*---------------------------------------------------------------------*
6640 :h4.Negative timer duration - default (in function)
6641 .*---------------------------------------------------------------------*
6644 <TC - Negative timer duration - default (in function)>
6648 <MODULE TTCN x x.ttcn>
6651 const float f:= -2.22;
6658 <RESULT IF_PASS COUNT 1>
6659 (?im)error.+?non-negative.+?float.+?value.+?expected
6661 <RESULT IF_PASS COUNT 1>
6668 .*---------------------------------------------------------------------*
6669 :h4.Negative timer duration - array default (in control part)
6670 .*---------------------------------------------------------------------*
6673 <TC - Negative timer duration - array default (in control part)>
6677 <MODULE TTCN x x.ttcn>
6681 timer T[5]:= { 1.0, 8.9, -3.14, 1.1, 1.5 };
6685 <RESULT IF_PASS COUNT 1>
6686 (?im)error.+?non-negative.+?float.+?value.+?expected
6688 <RESULT IF_PASS COUNT 1>
6695 .*---------------------------------------------------------------------*
6696 :h4.Negative timer duration - array default (in function)
6697 .*---------------------------------------------------------------------*
6700 <TC - Negative timer duration - array default (in function)>
6704 <MODULE TTCN x x.ttcn>
6707 const float f:= -2.22;
6710 timer T[5]:= { 1.0, f, 3.14, -, 1.5 };
6714 <RESULT IF_PASS COUNT 1>
6715 (?im)error.+?non-negative.+?float.+?value.+?expected
6717 <RESULT IF_PASS COUNT 1>
6724 .*---------------------------------------------------------------------*
6725 :h4.Negative timer duration - starting value (in control part)
6726 .*---------------------------------------------------------------------*
6729 <TC - Negative timer duration - starting value (in control part)>
6733 <MODULE TTCN x x.ttcn>
6743 <RESULT IF_PASS COUNT 1>
6744 (?im)error.+?timer.+?duration.+?negative
6746 <RESULT IF_PASS COUNT 1>
6753 .*---------------------------------------------------------------------*
6754 :h4.Negative timer duration - starting value (in function)
6755 .*---------------------------------------------------------------------*
6758 <TC - Negative timer duration - starting value (in function)>
6762 <MODULE TTCN x x.ttcn>
6765 const float f:= -66.3;
6774 <RESULT IF_PASS COUNT 1>
6775 (?im)error.+?timer.+?duration.+?negative
6777 <RESULT IF_PASS COUNT 1>
6784 .*---------------------------------------------------------------------*
6785 :h4.Negative timer duration - array starting value (in control part)
6786 .*---------------------------------------------------------------------*
6789 <TC - Negative timer duration - array starting value (in control part)>
6793 <MODULE TTCN x x.ttcn>
6797 timer T[5]:= { 1.0, 8.9, 3.14, 1.1, 1.5 };
6799 T[1].start( - 125.0 );
6803 <RESULT IF_PASS COUNT 1>
6804 (?im)error.+?timer.+?duration.+?negative
6806 <RESULT IF_PASS COUNT 1>
6813 .*---------------------------------------------------------------------*
6814 :h4.Negative timer duration - array starting value (in function)
6815 .*---------------------------------------------------------------------*
6818 <TC - Negative timer duration - array starting value (in function)>
6822 <MODULE TTCN x x.ttcn>
6825 const float f:= -18.07;
6828 timer T[5]:= { 3.3, 3.4, 3.14, 4.1, 2.3 };
6834 <RESULT IF_PASS COUNT 1>
6835 (?im)error.+?timer.+?duration.+?negative
6837 <RESULT IF_PASS COUNT 1>
6844 .*---------------------------------------------------------------------*
6845 :h4.Negative timer duration - execution timer
6846 .*---------------------------------------------------------------------*
6849 <TC - Negative timer duration - execution timer>
6853 <MODULE TTCN x x.ttcn>
6856 type component myComponent{
6857 const integer i:= 1;
6866 testcase myTestCase() runs on myComponent{
6873 execute( myTestCase(), -5.3 );
6878 <RESULT IF_PASS COUNT 1>
6879 (?im)error.+?testcase.+?guard.+?timer.+?negative.+?duration
6881 <RESULT IF_PASS COUNT 1>
6888 .*---------------------------------------------------------------------*
6889 :h3.Default module parameters
6890 .*---------------------------------------------------------------------*
6892 This test case group covers the requirement SA-6/18.
6894 Strategy: Default values of module parameters shall be constant expression only.
6895 All occurances shall be tested, where such a notation can be used.
6899 :li D='-'.module parameters with inner function
6900 :li D='-'.module parameters with hand-made function
6903 .*---------------------------------------------------------------------*
6904 :h4.Default module parameters - inner function
6905 .*---------------------------------------------------------------------*
6908 <TC - Default module parameters - inner function>
6912 <MODULE TTCN x x.ttcn>
6915 modulepar { integer i:= float2int( rnd()); charstring ch:= "aiyyo" };
6918 <RESULT IF_PASS COUNT 1>
6919 (?im)error.+?evaluable.+?constant.+?value.+?expected.+?instead.+?of.+?operation
6921 <RESULT IF_PASS COUNT 1>
6928 .*---------------------------------------------------------------------*
6929 :h4.Default module parameters - hand-made function
6930 .*---------------------------------------------------------------------*
6933 <TC - Default module parameters - hand-made function>
6937 <MODULE TTCN x x.ttcn>
6940 function myFunct() return charstring{
6944 modulepar { integer i:= 3; charstring ch:= "aiyyo" & myFunct() };
6948 <RESULT IF_PASS COUNT 1>
6949 (?im)error.+?Reference.+?constant.+?value.+?expected
6951 <RESULT IF_PASS COUNT 1>
6958 .*---------------------------------------------------------------------*
6959 :h2.Variable references
6960 .*---------------------------------------------------------------------*
6962 Rule: each variable reference shall conform to the context-specific rules
6964 .*---------------------------------------------------------------------*
6965 :h3.No value shall be assigned to constant elements
6966 .*---------------------------------------------------------------------*
6968 This test case group covers the requirement SA-6/19.
6970 Strategy: can't change the value of constants, external constants and module parameters.
6971 All occurances shall be tested, where such a notation can be used.
6975 :li D='-'.constants, external constants and module parameters in control part and function with ":="
6976 :li D='-'.constants, external constants and module parameters in function with "-> value"
6979 .*---------------------------------------------------------------------*
6980 :h4.No value shall be assigned to constant elements - const in control part (:=)
6981 .*---------------------------------------------------------------------*
6984 <TC - No value shall be assigned to constant elements - const in control part (:=)>
6988 <MODULE TTCN x x.ttcn>
6991 const integer c:= 1;
6999 <RESULT IF_PASS COUNT 1>
7000 (?im)error.+?Reference.+?variable.+?template.+?expected
7002 <RESULT IF_PASS COUNT 1>
7009 .*---------------------------------------------------------------------*
7010 :h4.No value shall be assigned to constant elements - const in function (:=)
7011 .*---------------------------------------------------------------------*
7014 <TC - No value shall be assigned to constant elements - const in function (:=)>
7018 <MODULE TTCN x x.ttcn>
7021 const integer c:= 1;
7029 <RESULT IF_PASS COUNT 1>
7030 (?im)error.+?Reference.+?variable.+?template.+?expected
7032 <RESULT IF_PASS COUNT 1>
7039 .*---------------------------------------------------------------------*
7040 :h4.No value shall be assigned to constant elements - const in function ( -> value)
7041 .*---------------------------------------------------------------------*
7044 <TC - No value shall be assigned to constant elements - const in function ( -> value)>
7048 <MODULE TTCN x x.ttcn>
7051 const integer c:= 2;
7053 type port portT message {
7055 } with {extension "internal"}
7057 type component comp {
7061 function myFunct() runs on comp {
7062 myPort.receive( ?) -> value c;
7067 <RESULT IF_PASS COUNT 1>
7068 (?im)error.+?Reference.+?variable.+?value.+?parameter.+?expected
7070 <RESULT IF_PASS COUNT 1>
7077 .*---------------------------------------------------------------------*
7078 :h4.No value shall be assigned to constant elements - external const in control part (:=)
7079 .*---------------------------------------------------------------------*
7082 <TC - No value shall be assigned to constant elements - external const in control part (:=)>
7086 <MODULE TTCN x x.ttcn>
7089 external const integer c;
7097 <RESULT IF_PASS COUNT 1>
7098 (?im)error.+?Reference.+?variable.+?template.+?expected
7100 <RESULT IF_PASS COUNT 1>
7107 .*---------------------------------------------------------------------*
7108 :h4.No value shall be assigned to constant elements - external const in function (:=)
7109 .*---------------------------------------------------------------------*
7112 <TC - No value shall be assigned to constant elements - external const in function (:=)>
7116 <MODULE TTCN x x.ttcn>
7119 external const integer c;
7127 <RESULT IF_PASS COUNT 1>
7128 (?im)error.+?Reference.+?variable.+?template.+?expected
7130 <RESULT IF_PASS COUNT 1>
7137 .*---------------------------------------------------------------------*
7138 :h4.No value shall be assigned to constant elements - external const in function ( -> value)
7139 .*---------------------------------------------------------------------*
7142 <TC - No value shall be assigned to constant elements - external const in function ( -> value)>
7146 <MODULE TTCN x x.ttcn>
7149 external const integer c;
7151 type port portT message {
7153 } with {extension "internal"}
7155 type component comp {
7159 function myFunct() runs on comp {
7160 myPort.receive( ?) -> value c;
7165 <RESULT IF_PASS COUNT 1>
7166 (?im)error.+?Reference.+?variable.+?value.+?parameter.+?expected
7168 <RESULT IF_PASS COUNT 1>
7175 .*---------------------------------------------------------------------*
7176 :h4.No value shall be assigned to constant elements - module parameter in control part (:=)
7177 .*---------------------------------------------------------------------*
7180 <TC - No value shall be assigned to constant elements - module parameter in control part (:=)>
7184 <MODULE TTCN x x.ttcn>
7196 <RESULT IF_PASS COUNT 1>
7197 (?im)error.+?Reference.+?variable.+?template.+?expected
7199 <RESULT IF_PASS COUNT 1>
7206 .*---------------------------------------------------------------------*
7207 :h4.No value shall be assigned to constant elements - module parameter in function (:=)
7208 .*---------------------------------------------------------------------*
7211 <TC - No value shall be assigned to constant elements - module parameter in function (:=)>
7215 <MODULE TTCN x x.ttcn>
7227 <RESULT IF_PASS COUNT 1>
7228 (?im)error.+?Reference.+?variable.+?template.+?expected
7230 <RESULT IF_PASS COUNT 1>
7237 .*---------------------------------------------------------------------*
7238 :h4.No value shall be assigned to constant elements - module parameter in function (-> value)
7239 .*---------------------------------------------------------------------*
7242 <TC - No value shall be assigned to constant elements - module parameter in function (-> value)>
7246 <MODULE TTCN x x.ttcn>
7253 type port portT message {
7255 } with {extension "internal"}
7257 type component comp {
7261 function myFunct() runs on comp {
7262 myPort.receive( ?) -> value c;
7267 <RESULT IF_PASS COUNT 1>
7268 (?im)error.+?Reference.+?variable.+?value.+?parameter.+?expected
7270 <RESULT IF_PASS COUNT 1>
7277 .*---------------------------------------------------------------------*
7278 :h2.Allowed matching mechanisms
7279 .*---------------------------------------------------------------------*
7280 .*---------------------------------------------------------------------*
7281 :h3.Allowed matching mechanisms
7282 .*---------------------------------------------------------------------*
7284 This test case group covers the requirement SA-6/20.
7286 Strategy: SA shall detect if a template of a type uses not allowed matching mechanism.(Table 6, side 68)
7287 Either can be used the following operations: create (99), mtc (101),
7288 system (101), self (101), running (102), getverdict (123)
7290 All occurances shall be tested, where such a notation can be used.
7292 Tested: range, superset, subset, length-restriction, ifpresent mechanisms in definition part, control part and function for
7293 templates and range, superset, subset, length-restriction, ifpresent mechanisms in function for inline-templates
7296 - "inside values" columns are not tested
7298 .*---------------------------------------------------------------------*
7299 :h4.Allowed matching mechanisms - template range (boolean in def.part)
7300 .*---------------------------------------------------------------------*
7303 <TC - Allowed matching mechanisms - template range (boolean in def.part)>
7307 <MODULE TTCN x x.ttcn>
7310 template boolean r:= (false .. true);
7314 <RESULT IF_PASS COUNT 1>
7315 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7317 <RESULT IF_PASS COUNT 1>
7324 .*---------------------------------------------------------------------*
7325 :h4.Allowed matching mechanisms - template range (boolean in control part)
7326 .*---------------------------------------------------------------------*
7329 <TC - Allowed matching mechanisms - template range (boolean in control part)>
7333 <MODULE TTCN x x.ttcn>
7337 var template boolean r:= (false .. true);
7342 <RESULT IF_PASS COUNT 1>
7343 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7345 <RESULT IF_PASS COUNT 1>
7352 .*---------------------------------------------------------------------*
7353 :h4.Allowed matching mechanisms - template range (boolean in function)
7354 .*---------------------------------------------------------------------*
7357 <TC - Allowed matching mechanisms - template range (boolean in function)>
7361 <MODULE TTCN x x.ttcn>
7365 var template boolean r:= (false .. true);
7370 <RESULT IF_PASS COUNT 1>
7371 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7373 <RESULT IF_PASS COUNT 1>
7380 .*---------------------------------------------------------------------*
7381 :h4.Allowed matching mechanisms - template range (bitstring in def.part)
7382 .*---------------------------------------------------------------------*
7385 <TC - Allowed matching mechanisms - template range (bitstring in def.part)>
7389 <MODULE TTCN x x.ttcn>
7392 template bitstring r:= ('000'B .. '111'B);
7396 <RESULT IF_PASS COUNT 1>
7397 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7399 <RESULT IF_PASS COUNT 1>
7406 .*---------------------------------------------------------------------*
7407 :h4.Allowed matching mechanisms - template range (bitstring in control part)
7408 .*---------------------------------------------------------------------*
7411 <TC - Allowed matching mechanisms - template range (bitstring in control part)>
7415 <MODULE TTCN x x.ttcn>
7419 var template bitstring r:= ('000'B .. '111'B);
7424 <RESULT IF_PASS COUNT 1>
7425 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7427 <RESULT IF_PASS COUNT 1>
7434 .*---------------------------------------------------------------------*
7435 :h4.Allowed matching mechanisms - template range (bitstring in function)
7436 .*---------------------------------------------------------------------*
7439 <TC - Allowed matching mechanisms - template range (bitstring in function)>
7443 <MODULE TTCN x x.ttcn>
7447 var template bitstring r:= ('000'B .. '111'B);
7452 <RESULT IF_PASS COUNT 1>
7453 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7455 <RESULT IF_PASS COUNT 1>
7462 .*---------------------------------------------------------------------*
7463 :h4.Allowed matching mechanisms - template range (octetstring in def.part)
7464 .*---------------------------------------------------------------------*
7467 <TC - Allowed matching mechanisms - template range (octetstring in def.part)>
7471 <MODULE TTCN x x.ttcn>
7474 template octetstring r:= ('0011'O .. '1111'O);
7478 <RESULT IF_PASS COUNT 1>
7479 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7481 <RESULT IF_PASS COUNT 1>
7488 .*---------------------------------------------------------------------*
7489 :h4.Allowed matching mechanisms - template range (octetstring in control part)
7490 .*---------------------------------------------------------------------*
7493 <TC - Allowed matching mechanisms - template range (octetstring in control part)>
7497 <MODULE TTCN x x.ttcn>
7501 var template octetstring r:= ('0011'O .. '1111'O);
7506 <RESULT IF_PASS COUNT 1>
7507 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7509 <RESULT IF_PASS COUNT 1>
7516 .*---------------------------------------------------------------------*
7517 :h4.Allowed matching mechanisms - template range (octetstring in function)
7518 .*---------------------------------------------------------------------*
7521 <TC - Allowed matching mechanisms - template range (octetstring in function)>
7525 <MODULE TTCN x x.ttcn>
7529 var template octetstring r:= ('0011'O .. '1111'O);
7534 <RESULT IF_PASS COUNT 1>
7535 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7537 <RESULT IF_PASS COUNT 1>
7544 .*---------------------------------------------------------------------*
7545 :h4.Allowed matching mechanisms - template range (hexstring in def.part)
7546 .*---------------------------------------------------------------------*
7549 <TC - Allowed matching mechanisms - template range (hexstring in def.part)>
7553 <MODULE TTCN x x.ttcn>
7556 template hexstring r:= ('0011'H .. '1111'H);
7560 <RESULT IF_PASS COUNT 1>
7561 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7563 <RESULT IF_PASS COUNT 1>
7570 .*---------------------------------------------------------------------*
7571 :h4.Allowed matching mechanisms - template range (hexstring in control part)
7572 .*---------------------------------------------------------------------*
7575 <TC - Allowed matching mechanisms - template range (hexstring in control part)>
7579 <MODULE TTCN x x.ttcn>
7583 var template hexstring r:= ('0011'H .. '1111'H);
7588 <RESULT IF_PASS COUNT 1>
7589 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7591 <RESULT IF_PASS COUNT 1>
7598 .*---------------------------------------------------------------------*
7599 :h4.Allowed matching mechanisms - template range (hexstring in function)
7600 .*---------------------------------------------------------------------*
7603 <TC - Allowed matching mechanisms - template range (hexstring in function)>
7607 <MODULE TTCN x x.ttcn>
7611 var template hexstring r:= ('0011'H .. '1111'H);
7616 <RESULT IF_PASS COUNT 1>
7617 (?im)error.+?Value.+?range.+?match.+?cannot.+?used
7619 <RESULT IF_PASS COUNT 1>
7626 .*---------------------------------------------------------------------*
7627 :h4.Allowed matching mechanisms - template range (record in def.part)
7628 .*---------------------------------------------------------------------*
7631 <TC - Allowed matching mechanisms - template range (record in def.part)>
7635 <MODULE TTCN x x.ttcn>
7643 const recT c1:= { f1:= 1, f2:= 2.0};
7644 const recT c2:= { f1:= 5, f2:= 7.0};
7646 template recT r:= (c1 .. c2);
7650 <RESULT IF_PASS COUNT 1>
7651 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7653 <RESULT IF_PASS COUNT 1>
7660 .*---------------------------------------------------------------------*
7661 :h4.Allowed matching mechanisms - template range (record in control part)
7662 .*---------------------------------------------------------------------*
7665 <TC - Allowed matching mechanisms - template range (record in control part)>
7669 <MODULE TTCN x x.ttcn>
7677 const recT c1:= { f1:= 1, f2:= 2.0};
7678 const recT c2:= { f1:= 5, f2:= 7.0};
7681 var template recT r:= (c1 .. c2);
7686 <RESULT IF_PASS COUNT 1>
7687 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7689 <RESULT IF_PASS COUNT 1>
7696 .*---------------------------------------------------------------------*
7697 :h4.Allowed matching mechanisms - template range (record in function)
7698 .*---------------------------------------------------------------------*
7701 <TC - Allowed matching mechanisms - template range (record in function)>
7705 <MODULE TTCN x x.ttcn>
7713 const recT c1:= { f1:= 1, f2:= 2.0};
7714 const recT c2:= { f1:= 5, f2:= 7.0};
7717 var template recT r:= (c1 .. c2);
7722 <RESULT IF_PASS COUNT 1>
7723 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7725 <RESULT IF_PASS COUNT 1>
7732 .*---------------------------------------------------------------------*
7733 :h4.Allowed matching mechanisms - template range (record of in def.part)
7734 .*---------------------------------------------------------------------*
7737 <TC - Allowed matching mechanisms - template range (record of in def.part)>
7741 <MODULE TTCN x x.ttcn>
7744 type record of integer rofT;
7746 const rofT c1:= { 1, 2, 3 };
7747 const rofT c2:= { 4, 5, 6 };
7749 template rofT r:= (c1 .. c2);
7753 <RESULT IF_PASS COUNT 1>
7754 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7756 <RESULT IF_PASS COUNT 1>
7763 .*---------------------------------------------------------------------*
7764 :h4.Allowed matching mechanisms - template range (record of in control part)
7765 .*---------------------------------------------------------------------*
7768 <TC - Allowed matching mechanisms - template range (record of in control part)>
7772 <MODULE TTCN x x.ttcn>
7775 type record of integer rofT;
7777 const rofT c1:= { 1, 2, 3 };
7778 const rofT c2:= { 4, 5, 6 };
7781 var template rofT r:= (c1 .. c2);
7786 <RESULT IF_PASS COUNT 1>
7787 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7789 <RESULT IF_PASS COUNT 1>
7796 .*---------------------------------------------------------------------*
7797 :h4.Allowed matching mechanisms - template range (record of in function)
7798 .*---------------------------------------------------------------------*
7801 <TC - Allowed matching mechanisms - template range (record of in function)>
7805 <MODULE TTCN x x.ttcn>
7808 type record of integer rofT;
7810 const rofT c1:= { 1, 2, 3 };
7811 const rofT c2:= { 4, 5, 6 };
7814 var template rofT r:= (c1 .. c2);
7819 <RESULT IF_PASS COUNT 1>
7820 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7822 <RESULT IF_PASS COUNT 1>
7829 .*---------------------------------------------------------------------*
7830 :h4.Allowed matching mechanisms - template range (set in def.part)
7831 .*---------------------------------------------------------------------*
7834 <TC - Allowed matching mechanisms - template range (set in def.part)>
7838 <MODULE TTCN x x.ttcn>
7846 const setT c1:= { f1:= 1, f2:= 2.0};
7847 const setT c2:= { f1:= 5, f2:= 7.0};
7850 template setT r:= (c1 .. c2);
7854 <RESULT IF_PASS COUNT 1>
7855 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7857 <RESULT IF_PASS COUNT 1>
7864 .*---------------------------------------------------------------------*
7865 :h4.Allowed matching mechanisms - template range (set in control part)
7866 .*---------------------------------------------------------------------*
7869 <TC - Allowed matching mechanisms - template range (set in control part)>
7873 <MODULE TTCN x x.ttcn>
7881 const setT c1:= { f1:= 1, f2:= 2.0};
7882 const setT c2:= { f1:= 5, f2:= 7.0};
7886 var template setT r:= (c1 .. c2);
7891 <RESULT IF_PASS COUNT 1>
7892 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7894 <RESULT IF_PASS COUNT 1>
7901 .*---------------------------------------------------------------------*
7902 :h4.Allowed matching mechanisms - template range (set in function)
7903 .*---------------------------------------------------------------------*
7906 <TC - Allowed matching mechanisms - template range (set in function)>
7910 <MODULE TTCN x x.ttcn>
7918 const setT c1:= { f1:= 1, f2:= 2.0};
7919 const setT c2:= { f1:= 5, f2:= 7.0};
7923 var template setT r:= (c1 .. c2);
7928 <RESULT IF_PASS COUNT 1>
7929 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7931 <RESULT IF_PASS COUNT 1>
7938 .*---------------------------------------------------------------------*
7939 :h4.Allowed matching mechanisms - template range (set of in def.part)
7940 .*---------------------------------------------------------------------*
7943 <TC - Allowed matching mechanisms - template range (set of in def.part)>
7947 <MODULE TTCN x x.ttcn>
7950 type set of integer sofT;
7952 const sofT c1:= { 1, 2, 3 };
7953 const sofT c2:= { 4, 5, 6 };
7956 template sofT r:= (c1 .. c2);
7960 <RESULT IF_PASS COUNT 1>
7961 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7963 <RESULT IF_PASS COUNT 1>
7970 .*---------------------------------------------------------------------*
7971 :h4.Allowed matching mechanisms - template range (set of in control part)
7972 .*---------------------------------------------------------------------*
7975 <TC - Allowed matching mechanisms - template range (set of in control part)>
7979 <MODULE TTCN x x.ttcn>
7982 type set of integer sofT;
7984 const sofT c1:= { 1, 2, 3 };
7985 const sofT c2:= { 4, 5, 6 };
7989 var template sofT r:= (c1 .. c2);
7994 <RESULT IF_PASS COUNT 1>
7995 (?im)error.+?value.+?range.+?match.+?cannot.+?used
7997 <RESULT IF_PASS COUNT 1>
8004 .*---------------------------------------------------------------------*
8005 :h4.Allowed matching mechanisms - template range (set of in function)
8006 .*---------------------------------------------------------------------*
8009 <TC - Allowed matching mechanisms - template range (set of in function)>
8013 <MODULE TTCN x x.ttcn>
8016 type set of integer sofT;
8018 const sofT c1:= { 1, 2, 3 };
8019 const sofT c2:= { 4, 5, 6 };
8023 var template sofT r:= (c1 .. c2);
8028 <RESULT IF_PASS COUNT 1>
8029 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8031 <RESULT IF_PASS COUNT 1>
8038 .*---------------------------------------------------------------------*
8039 :h4.Allowed matching mechanisms - template range (enumerated in def.part)
8040 .*---------------------------------------------------------------------*
8043 <TC - Allowed matching mechanisms - template range (enumerated in def.part)>
8047 <MODULE TTCN x x.ttcn>
8050 type enumerated enumT{ ONE(1), TWO(2), THREE(3)};
8052 const enumT c1:= ONE;
8053 const enumT c2:= THREE;
8055 template enumT r:= (c1 .. c2);
8059 <RESULT IF_PASS COUNT 1>
8060 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8062 <RESULT IF_PASS COUNT 1>
8069 .*---------------------------------------------------------------------*
8070 :h4.Allowed matching mechanisms - template range (enumerated in control part)
8071 .*---------------------------------------------------------------------*
8074 <TC - Allowed matching mechanisms - template range (enumerated in control part)>
8078 <MODULE TTCN x x.ttcn>
8081 type enumerated enumT{ ONE(1), TWO(2), THREE(3)};
8083 const enumT c1:= ONE;
8084 const enumT c2:= THREE;
8087 var template enumT r:= (c1 .. c2);
8092 <RESULT IF_PASS COUNT 1>
8093 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8095 <RESULT IF_PASS COUNT 1>
8102 .*---------------------------------------------------------------------*
8103 :h4.Allowed matching mechanisms - template range (enumerated in function)
8104 .*---------------------------------------------------------------------*
8107 <TC - Allowed matching mechanisms - template range (enumerated in function)>
8111 <MODULE TTCN x x.ttcn>
8114 type enumerated enumT{ ONE(1), TWO(2), THREE(3)};
8116 const enumT c1:= ONE;
8117 const enumT c2:= THREE;
8120 var template enumT r:= (c1 .. c2);
8125 <RESULT IF_PASS COUNT 1>
8126 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8128 <RESULT IF_PASS COUNT 1>
8135 .*---------------------------------------------------------------------*
8136 :h4.Allowed matching mechanisms - template range (union in def.part)
8137 .*---------------------------------------------------------------------*
8140 <TC - Allowed matching mechanisms - template range (union in def.part)>
8144 <MODULE TTCN x x.ttcn>
8153 const uniT c1:= { f1:= 1 };
8154 const uniT c2:= { f1:= 5 };
8156 template uniT r:= (c1 .. c2);
8160 <RESULT IF_PASS COUNT 1>
8161 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8163 <RESULT IF_PASS COUNT 1>
8170 .*---------------------------------------------------------------------*
8171 :h4.Allowed matching mechanisms - template range (union in control part)
8172 .*---------------------------------------------------------------------*
8175 <TC - Allowed matching mechanisms - template range (union in control part)>
8179 <MODULE TTCN x x.ttcn>
8188 const uniT c1:= { f1:= 1 };
8189 const uniT c2:= { f1:= 5 };
8192 var template uniT r:= (c1 .. c2);
8197 <RESULT IF_PASS COUNT 1>
8198 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8200 <RESULT IF_PASS COUNT 1>
8207 .*---------------------------------------------------------------------*
8208 :h4.Allowed matching mechanisms - template range (union in function)
8209 .*---------------------------------------------------------------------*
8212 <TC - Allowed matching mechanisms - template range (union in function)>
8216 <MODULE TTCN x x.ttcn>
8225 const uniT c1:= { f1:= 1 };
8226 const uniT c2:= { f1:= 5 };
8229 var template uniT r:= (c1 .. c2);
8234 <RESULT IF_PASS COUNT 1>
8235 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8237 <RESULT IF_PASS COUNT 1>
8244 .*---------------------------------------------------------------------*
8245 :h4.Allowed matching mechanisms - template range (array in def.part)
8246 .*---------------------------------------------------------------------*
8249 <TC - Allowed matching mechanisms - template range (array in def.part)>
8253 <MODULE TTCN x x.ttcn>
8256 type integer myint[1];
8258 const myint c1:={1};
8259 const myint c2 :={3};
8261 template myint r :=(c1..c2);
8265 <RESULT IF_PASS COUNT 1>
8266 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8268 <RESULT IF_PASS COUNT 1>
8275 .*---------------------------------------------------------------------*
8276 :h4.Allowed matching mechanisms - template range (array in control part)
8277 .*---------------------------------------------------------------------*
8280 <TC - Allowed matching mechanisms - template range (array in control part)>
8284 <MODULE TTCN x x.ttcn>
8287 type integer myint[1];
8289 const myint c1:={1};
8290 const myint c2 :={3};
8293 template myint r :=(c1..c2);
8297 <RESULT IF_PASS COUNT 1>
8298 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8300 <RESULT IF_PASS COUNT 1>
8307 .*---------------------------------------------------------------------*
8308 :h4.Allowed matching mechanisms - template range (array in function)
8309 .*---------------------------------------------------------------------*
8312 <TC - Allowed matching mechanisms - template range (array in function)>
8316 <MODULE TTCN x x.ttcn>
8319 type integer myint[1];
8321 const myint c1:={1};
8322 const myint c2 :={3};
8325 template myint r :=(c1..c2);
8329 <RESULT IF_PASS COUNT 1>
8330 (?im)error.+?value.+?range.+?match.+?cannot.+?used
8332 <RESULT IF_PASS COUNT 1>
8339 .*---------------------------------------------------------------------*
8340 :h4.Allowed matching mechanisms - template superset (boolean in def.part)
8341 .*---------------------------------------------------------------------*
8344 <TC - Allowed matching mechanisms - template superset (boolean in def.part)>
8348 <MODULE TTCN x x.ttcn>
8351 const boolean c1:= false;
8352 const boolean c2:= true;
8354 template boolean r:= superset (c1, c2);
8358 <RESULT IF_PASS COUNT 1>
8359 (?im)error.+?superset.+?match.+?cannot.+?used
8361 <RESULT IF_PASS COUNT 1>
8368 .*---------------------------------------------------------------------*
8369 :h4.Allowed matching mechanisms - template superset (boolean in control part)
8370 .*---------------------------------------------------------------------*
8373 <TC - Allowed matching mechanisms - template superset (boolean in control part)>
8377 <MODULE TTCN x x.ttcn>
8380 const boolean c1:= false;
8381 const boolean c2:= true;
8384 var template boolean r:= superset (c1, c2);
8389 <RESULT IF_PASS COUNT 1>
8390 (?im)error.+?superset.+?match.+?cannot.+?used
8392 <RESULT IF_PASS COUNT 1>
8399 .*---------------------------------------------------------------------*
8400 :h4.Allowed matching mechanisms - template superset (boolean in function)
8401 .*---------------------------------------------------------------------*
8404 <TC - Allowed matching mechanisms - template superset (boolean in function)>
8408 <MODULE TTCN x x.ttcn>
8411 const boolean c1:= false;
8412 const boolean c2:= true;
8415 var template boolean r:= superset (c1, c2);
8420 <RESULT IF_PASS COUNT 1>
8421 (?im)error.+?superset.+?match.+?cannot.+?used
8423 <RESULT IF_PASS COUNT 1>
8430 .*---------------------------------------------------------------------*
8431 :h4.Allowed matching mechanisms - template superset (integer in def.part)
8432 .*---------------------------------------------------------------------*
8435 <TC - Allowed matching mechanisms - template superset (integer in def.part)>
8439 <MODULE TTCN x x.ttcn>
8442 const integer c1:= 1;
8443 const integer c2:= 2;
8444 const integer c3:= 3;
8446 template integer r:= superset (c1, c2, c3);
8450 <RESULT IF_PASS COUNT 1>
8451 (?im)error.+?superset.+?match.+?cannot.+?used
8453 <RESULT IF_PASS COUNT 1>
8460 .*---------------------------------------------------------------------*
8461 :h4.Allowed matching mechanisms - template superset (integer in control part)
8462 .*---------------------------------------------------------------------*
8465 <TC - Allowed matching mechanisms - template superset (integer in control part)>
8469 <MODULE TTCN x x.ttcn>
8472 const integer c1:= 1;
8473 const integer c2:= 2;
8474 const integer c3:= 3;
8477 var template integer r:= superset (c1, c2, c3);
8482 <RESULT IF_PASS COUNT 1>
8483 (?im)error.+?superset.+?match.+?cannot.+?used
8485 <RESULT IF_PASS COUNT 1>
8492 .*---------------------------------------------------------------------*
8493 :h4.Allowed matching mechanisms - template superset (integer in function)
8494 .*---------------------------------------------------------------------*
8497 <TC - Allowed matching mechanisms - template superset (integer in function)>
8501 <MODULE TTCN x x.ttcn>
8504 const integer c1:= 1;
8505 const integer c2:= 2;
8506 const integer c3:= 3;
8509 var template integer r:= superset (c1, c2, c3);
8514 <RESULT IF_PASS COUNT 1>
8515 (?im)error.+?superset.+?match.+?cannot.+?used
8517 <RESULT IF_PASS COUNT 1>
8524 .*---------------------------------------------------------------------*
8525 :h4.Allowed matching mechanisms - template superset (float in def.part)
8526 .*---------------------------------------------------------------------*
8529 <TC - Allowed matching mechanisms - template superset (float in def.part)>
8533 <MODULE TTCN x x.ttcn>
8536 const float c1:= 1.6;
8537 const float c2:= 2.4;
8538 const float c3:= 3.9;
8540 template float r:= superset (c1, c2, c3);
8544 <RESULT IF_PASS COUNT 1>
8545 (?im)error.+?superset.+?match.+?cannot.+?used
8547 <RESULT IF_PASS COUNT 1>
8554 .*---------------------------------------------------------------------*
8555 :h4.Allowed matching mechanisms - template superset (float in control part)
8556 .*---------------------------------------------------------------------*
8559 <TC - Allowed matching mechanisms - template superset (float in control part)>
8563 <MODULE TTCN x x.ttcn>
8566 const float c1:= 1.1;
8567 const float c2:= 2.3;
8568 const float c3:= 3.1;
8571 var template float r:= superset (c1, c2, c3);
8576 <RESULT IF_PASS COUNT 1>
8577 (?im)error.+?superset.+?match.+?cannot.+?used
8579 <RESULT IF_PASS COUNT 1>
8586 .*---------------------------------------------------------------------*
8587 :h4.Allowed matching mechanisms - template superset (float in function)
8588 .*---------------------------------------------------------------------*
8591 <TC - Allowed matching mechanisms - template superset (float in function)>
8595 <MODULE TTCN x x.ttcn>
8598 const float c1:= 1.1;
8599 const float c2:= 2.9;
8600 const float c3:= 3.2;
8603 var template float r:= superset (c1, c2, c3);
8608 <RESULT IF_PASS COUNT 1>
8609 (?im)error.+?superset.+?match.+?cannot.+?used
8611 <RESULT IF_PASS COUNT 1>
8618 .*---------------------------------------------------------------------*
8619 :h4.Allowed matching mechanisms - template superset (bitstring in def.part)
8620 .*---------------------------------------------------------------------*
8623 <TC - Allowed matching mechanisms - template superset (bitstring in def.part)>
8627 <MODULE TTCN x x.ttcn>
8630 const bitstring c1:= '101'B;
8631 const bitstring c2:= '110'B;
8632 const bitstring c3:= '111'B;
8634 template bitstring r:= superset (c1, c2, c3);
8638 <RESULT IF_PASS COUNT 1>
8639 (?im)error.+?superset.+?match.+?cannot.+?used
8641 <RESULT IF_PASS COUNT 1>
8648 .*---------------------------------------------------------------------*
8649 :h4.Allowed matching mechanisms - template superset (bitstring in control part)
8650 .*---------------------------------------------------------------------*
8653 <TC - Allowed matching mechanisms - template superset (bitstring in control part)>
8657 <MODULE TTCN x x.ttcn>
8660 const bitstring c1:= '101'B;
8661 const bitstring c2:= '110'B;
8662 const bitstring c3:= '111'B;
8665 var template bitstring r:= superset (c1, c2, c3);
8670 <RESULT IF_PASS COUNT 1>
8671 (?im)error.+?superset.+?match.+?cannot.+?used
8673 <RESULT IF_PASS COUNT 1>
8680 .*---------------------------------------------------------------------*
8681 :h4.Allowed matching mechanisms - template superset (bitstring in function)
8682 .*---------------------------------------------------------------------*
8685 <TC - Allowed matching mechanisms - template superset (bitstring in function)>
8689 <MODULE TTCN x x.ttcn>
8692 const bitstring c1:= '101'B;
8693 const bitstring c2:= '110'B;
8694 const bitstring c3:= '111'B;
8697 var template bitstring r:= superset (c1, c2, c3);
8702 <RESULT IF_PASS COUNT 1>
8703 (?im)error.+?superset.+?match.+?cannot.+?used
8705 <RESULT IF_PASS COUNT 1>
8712 .*---------------------------------------------------------------------*
8713 :h4.Allowed matching mechanisms - template superset (octetstring in def.part)
8714 .*---------------------------------------------------------------------*
8717 <TC - Allowed matching mechanisms - template superset (octetstring in def.part)>
8721 <MODULE TTCN x x.ttcn>
8724 const octetstring c1:= '1011'O;
8725 const octetstring c2:= '1110'O;
8726 const octetstring c3:= '1111'O;
8728 template octetstring r:= superset (c1, c2, c3);
8732 <RESULT IF_PASS COUNT 1>
8733 (?im)error.+?superset.+?match.+?cannot.+?used
8735 <RESULT IF_PASS COUNT 1>
8742 .*---------------------------------------------------------------------*
8743 :h4.Allowed matching mechanisms - template superset (octetstring in control part)
8744 .*---------------------------------------------------------------------*
8747 <TC - Allowed matching mechanisms - template superset (octetstring in control part)>
8751 <MODULE TTCN x x.ttcn>
8754 const octetstring c1:= '1011'O;
8755 const octetstring c2:= '1110'O;
8756 const octetstring c3:= '1111'O;
8759 var template octetstring r:= superset (c1, c2, c3);
8764 <RESULT IF_PASS COUNT 1>
8765 (?im)error.+?superset.+?match.+?cannot.+?used
8767 <RESULT IF_PASS COUNT 1>
8774 .*---------------------------------------------------------------------*
8775 :h4.Allowed matching mechanisms - template superset (octetstring in function)
8776 .*---------------------------------------------------------------------*
8779 <TC - Allowed matching mechanisms - template superset (octetstring in function)>
8783 <MODULE TTCN x x.ttcn>
8786 const octetstring c1:= '1011'O;
8787 const octetstring c2:= '1110'O;
8788 const octetstring c3:= '1111'O;
8791 var template octetstring r:= superset (c1, c2, c3);
8796 <RESULT IF_PASS COUNT 1>
8797 (?im)error.+?superset.+?match.+?cannot.+?used
8799 <RESULT IF_PASS COUNT 1>
8806 .*---------------------------------------------------------------------*
8807 :h4.Allowed matching mechanisms - template superset (hexstring in def.part)
8808 .*---------------------------------------------------------------------*
8811 <TC - Allowed matching mechanisms - template superset (hexstring in def.part)>
8815 <MODULE TTCN x x.ttcn>
8818 const hexstring c1:= '1011'H;
8819 const hexstring c2:= '1110'H;
8820 const hexstring c3:= '1111'H;
8822 template hexstring r:= superset (c1, c2, c3);
8826 <RESULT IF_PASS COUNT 1>
8827 (?im)error.+?superset.+?match.+?cannot.+?used
8829 <RESULT IF_PASS COUNT 1>
8836 .*---------------------------------------------------------------------*
8837 :h4.Allowed matching mechanisms - template superset (hexstring in control part)
8838 .*---------------------------------------------------------------------*
8841 <TC - Allowed matching mechanisms - template superset (hexstring in control part)>
8845 <MODULE TTCN x x.ttcn>
8848 const hexstring c1:= '1011'H;
8849 const hexstring c2:= '1110'H;
8850 const hexstring c3:= '1111'H;
8853 var template hexstring r:= superset (c1, c2, c3);
8858 <RESULT IF_PASS COUNT 1>
8859 (?im)error.+?superset.+?match.+?cannot.+?used
8861 <RESULT IF_PASS COUNT 1>
8868 .*---------------------------------------------------------------------*
8869 :h4.Allowed matching mechanisms - template superset (hexstring in function)
8870 .*---------------------------------------------------------------------*
8873 <TC - Allowed matching mechanisms - template superset (hexstring in function)>
8877 <MODULE TTCN x x.ttcn>
8880 const hexstring c1:= '1011'H;
8881 const hexstring c2:= '1110'H;
8882 const hexstring c3:= '1111'H;
8885 var template hexstring r:= superset (c1, c2, c3);
8890 <RESULT IF_PASS COUNT 1>
8891 (?im)error.+?superset.+?match.+?cannot.+?used
8893 <RESULT IF_PASS COUNT 1>
8900 .*---------------------------------------------------------------------*
8901 :h4.Allowed matching mechanisms - template superset (charstring in def.part)
8902 .*---------------------------------------------------------------------*
8905 <TC - Allowed matching mechanisms - template superset (charstring in def.part)>
8909 <MODULE TTCN x x.ttcn>
8912 const charstring c1:= "ogin";
8913 const charstring c2:= "dwa";
8914 const charstring c3:= "try";
8916 template charstring r:= superset (c1, c2, c3);
8920 <RESULT IF_PASS COUNT 1>
8921 (?im)error.+?superset.+?match.+?cannot.+?used
8923 <RESULT IF_PASS COUNT 1>
8930 .*---------------------------------------------------------------------*
8931 :h4.Allowed matching mechanisms - template superset (charstring in control part)
8932 .*---------------------------------------------------------------------*
8935 <TC - Allowed matching mechanisms - template superset (charstring in control part)>
8939 <MODULE TTCN x x.ttcn>
8942 const charstring c1:= "ogin";
8943 const charstring c2:= "dwa";
8944 const charstring c3:= "try";
8947 var template charstring r:= superset (c1, c2, c3);
8952 <RESULT IF_PASS COUNT 1>
8953 (?im)error.+?superset.+?match.+?cannot.+?used
8955 <RESULT IF_PASS COUNT 1>
8962 .*---------------------------------------------------------------------*
8963 :h4.Allowed matching mechanisms - template superset (charstring in function)
8964 .*---------------------------------------------------------------------*
8967 <TC - Allowed matching mechanisms - template superset (charstring in function)>
8971 <MODULE TTCN x x.ttcn>
8974 const charstring c1:= "ogin";
8975 const charstring c2:= "dwa";
8976 const charstring c3:= "try";
8979 var template charstring r:= superset (c1, c2, c3);
8984 <RESULT IF_PASS COUNT 1>
8985 (?im)error.+?superset.+?match.+?cannot.+?used
8987 <RESULT IF_PASS COUNT 1>
8994 .*---------------------------------------------------------------------*
8995 :h4.Allowed matching mechanisms - template superset (record in def.part)
8996 .*---------------------------------------------------------------------*
8999 <TC - Allowed matching mechanisms - template superset (record in def.part)>
9003 <MODULE TTCN x x.ttcn>
9012 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9013 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9015 template recT r:= superset (c1, c2);
9019 <RESULT IF_PASS COUNT 1>
9020 (?im)error.+?superset.+?match.+?cannot.+?used
9022 <RESULT IF_PASS COUNT 1>
9029 .*---------------------------------------------------------------------*
9030 :h4.Allowed matching mechanisms - template superset (record in control part)
9031 .*---------------------------------------------------------------------*
9034 <TC - Allowed matching mechanisms - template superset (record in control part)>
9038 <MODULE TTCN x x.ttcn>
9047 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9048 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9051 var template recT r:= superset (c1, c2);
9056 <RESULT IF_PASS COUNT 1>
9057 (?im)error.+?superset.+?match.+?cannot.+?used
9059 <RESULT IF_PASS COUNT 1>
9066 .*---------------------------------------------------------------------*
9067 :h4.Allowed matching mechanisms - template superset (record in function)
9068 .*---------------------------------------------------------------------*
9071 <TC - Allowed matching mechanisms - template superset (record in function)>
9075 <MODULE TTCN x x.ttcn>
9084 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9085 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9088 var template recT r:= superset (c1, c2);
9093 <RESULT IF_PASS COUNT 1>
9094 (?im)error.+?superset.+?match.+?cannot.+?used
9096 <RESULT IF_PASS COUNT 1>
9103 .*---------------------------------------------------------------------*
9104 :h4.Allowed matching mechanisms - template superset (record of in def.part)
9105 .*---------------------------------------------------------------------*
9108 <TC - Allowed matching mechanisms - template superset (record of in def.part)>
9112 <MODULE TTCN x x.ttcn>
9115 type record of integer rofT;
9117 const rofT c1:= { 1, 2, 3 };
9118 const rofT c2:= { 4, 5, 6 };
9120 template rofT r:= superset (c1, c2);
9124 <RESULT IF_PASS COUNT 1>
9125 (?im)error.+?superset.+?match.+?cannot.+?used
9127 <RESULT IF_PASS COUNT 1>
9134 .*---------------------------------------------------------------------*
9135 :h4.Allowed matching mechanisms - template superset (record of in control part)
9136 .*---------------------------------------------------------------------*
9139 <TC - Allowed matching mechanisms - template superset (record of in control part)>
9143 <MODULE TTCN x x.ttcn>
9146 type record of integer rofT;
9148 const rofT c1:= { 1, 2, 3 };
9149 const rofT c2:= { 4, 5, 6 };
9152 var template rofT r:= superset (c1, c2);
9157 <RESULT IF_PASS COUNT 1>
9158 (?im)error.+?superset.+?match.+?cannot.+?used
9160 <RESULT IF_PASS COUNT 1>
9167 .*---------------------------------------------------------------------*
9168 :h4.Allowed matching mechanisms - template superset (record of in function)
9169 .*---------------------------------------------------------------------*
9172 <TC - Allowed matching mechanisms - template superset (record of in function)>
9176 <MODULE TTCN x x.ttcn>
9179 type record of integer rofT;
9181 const rofT c1:= { 1, 2, 3 };
9182 const rofT c2:= { 4, 5, 6 };
9185 var template rofT r:= superset (c1, c2);
9190 <RESULT IF_PASS COUNT 1>
9191 (?im)error.+?superset.+?match.+?cannot.+?used
9193 <RESULT IF_PASS COUNT 1>
9200 .*---------------------------------------------------------------------*
9201 :h4.Allowed matching mechanisms - template superset (set in def.part)
9202 .*---------------------------------------------------------------------*
9205 <TC - Allowed matching mechanisms - template superset (set in def.part)>
9209 <MODULE TTCN x x.ttcn>
9218 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9219 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9221 template setT r:= superset (c1, c2);
9225 <RESULT IF_PASS COUNT 1>
9226 (?im)error.+?superset.+?match.+?cannot.+?used
9228 <RESULT IF_PASS COUNT 1>
9235 .*---------------------------------------------------------------------*
9236 :h4.Allowed matching mechanisms - template superset (set in control part)
9237 .*---------------------------------------------------------------------*
9240 <TC - Allowed matching mechanisms - template superset (set in control part)>
9244 <MODULE TTCN x x.ttcn>
9253 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9254 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9257 var template setT r:= superset (c1, c2);
9262 <RESULT IF_PASS COUNT 1>
9263 (?im)error.+?superset.+?match.+?cannot.+?used
9265 <RESULT IF_PASS COUNT 1>
9272 .*---------------------------------------------------------------------*
9273 :h4.Allowed matching mechanisms - template superset (set in function)
9274 .*---------------------------------------------------------------------*
9277 <TC - Allowed matching mechanisms - template superset (set in function)>
9281 <MODULE TTCN x x.ttcn>
9290 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
9291 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
9294 var template setT r:= superset (c1, c2);
9299 <RESULT IF_PASS COUNT 1>
9300 (?im)error.+?superset.+?match.+?cannot.+?used
9302 <RESULT IF_PASS COUNT 1>
9309 .*---------------------------------------------------------------------*
9310 :h4.Allowed matching mechanisms - template superset (enumerated in def.part)
9311 .*---------------------------------------------------------------------*
9314 <TC - Allowed matching mechanisms - template superset (enumerated in def.part)>
9318 <MODULE TTCN x x.ttcn>
9321 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
9323 const enumT c1:= ONE;
9324 const enumT c2:= TWO;
9326 template enumT r:= superset (c1, c2);
9330 <RESULT IF_PASS COUNT 1>
9331 (?im)error.+?superset.+?match.+?cannot.+?used
9333 <RESULT IF_PASS COUNT 1>
9340 .*---------------------------------------------------------------------*
9341 :h4.Allowed matching mechanisms - template superset (enumerated in control part)
9342 .*---------------------------------------------------------------------*
9345 <TC - Allowed matching mechanisms - template superset (enumerated in control part)>
9349 <MODULE TTCN x x.ttcn>
9352 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
9354 const enumT c1:= ONE;
9355 const enumT c2:= TWO;
9358 var template enumT r:= superset (c1, c2);
9363 <RESULT IF_PASS COUNT 1>
9364 (?im)error.+?superset.+?match.+?cannot.+?used
9366 <RESULT IF_PASS COUNT 1>
9373 .*---------------------------------------------------------------------*
9374 :h4.Allowed matching mechanisms - template superset (enumerated in function)
9375 .*---------------------------------------------------------------------*
9378 <TC - Allowed matching mechanisms - template superset (enumerated in function)>
9382 <MODULE TTCN x x.ttcn>
9385 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
9387 const enumT c1:= ONE;
9388 const enumT c2:= TWO;
9391 var template enumT r:= superset (c1, c2);
9396 <RESULT IF_PASS COUNT 1>
9397 (?im)error.+?superset.+?match.+?cannot.+?used
9399 <RESULT IF_PASS COUNT 1>
9406 .*---------------------------------------------------------------------*
9407 :h4.Allowed matching mechanisms - template superset (union in def.part)
9408 .*---------------------------------------------------------------------*
9411 <TC - Allowed matching mechanisms - template superset (union in def.part)>
9415 <MODULE TTCN x x.ttcn>
9424 const uniT c1:= { f1:= 1 };
9425 const uniT c2:= { f2:= 7.0 };
9427 template uniT r:= superset (c1, c2);
9431 <RESULT IF_PASS COUNT 1>
9432 (?im)error.+?superset.+?match.+?cannot.+?used
9434 <RESULT IF_PASS COUNT 1>
9441 .*---------------------------------------------------------------------*
9442 :h4.Allowed matching mechanisms - template superset (union in control part)
9443 .*---------------------------------------------------------------------*
9446 <TC - Allowed matching mechanisms - template superset (union in control part)>
9450 <MODULE TTCN x x.ttcn>
9459 const uniT c1:= { f1:= 1 };
9460 const uniT c2:= { f2:= 7.0 };
9463 var template uniT r:= superset (c1, c2);
9468 <RESULT IF_PASS COUNT 1>
9469 (?im)error.+?superset.+?match.+?cannot.+?used
9471 <RESULT IF_PASS COUNT 1>
9478 .*---------------------------------------------------------------------*
9479 :h4.Allowed matching mechanisms - template superset (union in function)
9480 .*---------------------------------------------------------------------*
9483 <TC - Allowed matching mechanisms - template superset (union in function)>
9487 <MODULE TTCN x x.ttcn>
9496 const uniT c1:= { f1:= 1 };
9497 const uniT c2:= { f2:= 7.0 };
9500 var template uniT r:= superset (c1, c2);
9505 <RESULT IF_PASS COUNT 1>
9506 (?im)error.+?superset.+?match.+?cannot.+?used
9508 <RESULT IF_PASS COUNT 1>
9515 .*---------------------------------------------------------------------*
9516 :h4.Allowed matching mechanisms - template superset (array in def. part)
9517 .*---------------------------------------------------------------------*
9520 <TC - Allowed matching mechanisms - template superset (array in def.part)>
9524 <MODULE TTCN x x.ttcn>
9527 type integer myint[1];
9529 const myint c1:={1};
9530 const myint c2 :={3};
9532 template myint r := superset(c1,c2);
9536 <RESULT IF_PASS COUNT 1>
9537 (?im)error.+?superset.+?match.+?cannot.+?used
9539 <RESULT IF_PASS COUNT 1>
9546 .*---------------------------------------------------------------------*
9547 :h4.Allowed matching mechanisms - template superset (array in control part)
9548 .*---------------------------------------------------------------------*
9551 <TC - Allowed matching mechanisms - template superset (array in control part)>
9555 <MODULE TTCN x x.ttcn>
9558 type integer myint[1];
9560 const myint c1:={1};
9561 const myint c2 :={3};
9564 template myint r := superset(c1,c2);
9568 <RESULT IF_PASS COUNT 1>
9569 (?im)error.+?superset.+?match.+?cannot.+?used
9571 <RESULT IF_PASS COUNT 1>
9578 .*---------------------------------------------------------------------*
9579 :h4.Allowed matching mechanisms - template superset (array in function)
9580 .*---------------------------------------------------------------------*
9583 <TC - Allowed matching mechanisms - template superset (array in function)>
9587 <MODULE TTCN x x.ttcn>
9590 type integer myint[1];
9592 const myint c1:={1};
9593 const myint c2 :={3};
9596 template myint r := superset(c1,c2);
9600 <RESULT IF_PASS COUNT 1>
9601 (?im)error.+?superset.+?match.+?cannot.+?used
9603 <RESULT IF_PASS COUNT 1>
9610 .*---------------------------------------------------------------------*
9611 :h4.Allowed matching mechanisms - template subset (boolean in def.part)
9612 .*---------------------------------------------------------------------*
9615 <TC - Allowed matching mechanisms - template subset (boolean in def.part)>
9619 <MODULE TTCN x x.ttcn>
9622 const boolean c1:= false;
9623 const boolean c2:= true;
9625 template boolean r:= subset (c1, c2);
9629 <RESULT IF_PASS COUNT 1>
9630 (?im)error.+?subset.+?match.+?cannot.+?used
9632 <RESULT IF_PASS COUNT 1>
9639 .*---------------------------------------------------------------------*
9640 :h4.Allowed matching mechanisms - template subset (boolean in control part)
9641 .*---------------------------------------------------------------------*
9644 <TC - Allowed matching mechanisms - template subset (boolean in control part)>
9648 <MODULE TTCN x x.ttcn>
9651 const boolean c1:= false;
9652 const boolean c2:= true;
9655 var template boolean r:= subset (c1, c2);
9660 <RESULT IF_PASS COUNT 1>
9661 (?im)error.+?subset.+?match.+?cannot.+?used
9663 <RESULT IF_PASS COUNT 1>
9670 .*---------------------------------------------------------------------*
9671 :h4.Allowed matching mechanisms - template subset (boolean in function)
9672 .*---------------------------------------------------------------------*
9675 <TC - Allowed matching mechanisms - template subset (boolean in function)>
9679 <MODULE TTCN x x.ttcn>
9682 const boolean c1:= false;
9683 const boolean c2:= true;
9686 var template boolean r:= subset (c1, c2);
9691 <RESULT IF_PASS COUNT 1>
9692 (?im)error.+?subset.+?match.+?cannot.+?used
9694 <RESULT IF_PASS COUNT 1>
9701 .*---------------------------------------------------------------------*
9702 :h4.Allowed matching mechanisms - template subset (integer in def.part)
9703 .*---------------------------------------------------------------------*
9706 <TC - Allowed matching mechanisms - template subset (integer in def.part)>
9710 <MODULE TTCN x x.ttcn>
9713 const integer c1:= 1;
9714 const integer c2:= 2;
9715 const integer c3:= 3;
9717 template integer r:= subset (c1, c2, c3);
9721 <RESULT IF_PASS COUNT 1>
9722 (?im)error.+?subset.+?match.+?cannot.+?used
9724 <RESULT IF_PASS COUNT 1>
9731 .*---------------------------------------------------------------------*
9732 :h4.Allowed matching mechanisms - template subset (integer in control part)
9733 .*---------------------------------------------------------------------*
9736 <TC - Allowed matching mechanisms - template subset (integer in control part)>
9740 <MODULE TTCN x x.ttcn>
9743 const integer c1:= 1;
9744 const integer c2:= 2;
9745 const integer c3:= 3;
9748 var template integer r:= subset (c1, c2, c3);
9753 <RESULT IF_PASS COUNT 1>
9754 (?im)error.+?subset.+?match.+?cannot.+?used
9756 <RESULT IF_PASS COUNT 1>
9763 .*---------------------------------------------------------------------*
9764 :h4.Allowed matching mechanisms - template subset (integer in function)
9765 .*---------------------------------------------------------------------*
9768 <TC - Allowed matching mechanisms - template subset (integer in function)>
9772 <MODULE TTCN x x.ttcn>
9775 const integer c1:= 1;
9776 const integer c2:= 2;
9777 const integer c3:= 3;
9780 var template integer r:= subset (c1, c2, c3);
9785 <RESULT IF_PASS COUNT 1>
9786 (?im)error.+?subset.+?match.+?cannot.+?used
9788 <RESULT IF_PASS COUNT 1>
9795 .*---------------------------------------------------------------------*
9796 :h4.Allowed matching mechanisms - template subset (float in def.part)
9797 .*---------------------------------------------------------------------*
9800 <TC - Allowed matching mechanisms - template subset (float in def.part)>
9804 <MODULE TTCN x x.ttcn>
9807 const float c1:= 1.6;
9808 const float c2:= 2.4;
9809 const float c3:= 3.9;
9811 template float r:= subset (c1, c2, c3);
9815 <RESULT IF_PASS COUNT 1>
9816 (?im)error.+?subset.+?match.+?cannot.+?used
9818 <RESULT IF_PASS COUNT 1>
9825 .*---------------------------------------------------------------------*
9826 :h4.Allowed matching mechanisms - template subset (float in control part)
9827 .*---------------------------------------------------------------------*
9830 <TC - Allowed matching mechanisms - template subset (float in control part)>
9834 <MODULE TTCN x x.ttcn>
9837 const float c1:= 1.1;
9838 const float c2:= 2.3;
9839 const float c3:= 3.1;
9842 var template float r:= subset (c1, c2, c3);
9847 <RESULT IF_PASS COUNT 1>
9848 (?im)error.+?subset.+?match.+?cannot.+?used
9850 <RESULT IF_PASS COUNT 1>
9857 .*---------------------------------------------------------------------*
9858 :h4.Allowed matching mechanisms - template subset (float in function)
9859 .*---------------------------------------------------------------------*
9862 <TC - Allowed matching mechanisms - template subset (float in function)>
9866 <MODULE TTCN x x.ttcn>
9869 const float c1:= 1.1;
9870 const float c2:= 2.9;
9871 const float c3:= 3.2;
9874 var template float r:= subset (c1, c2, c3);
9879 <RESULT IF_PASS COUNT 1>
9880 (?im)error.+?subset.+?match.+?cannot.+?used
9882 <RESULT IF_PASS COUNT 1>
9889 .*---------------------------------------------------------------------*
9890 :h4.Allowed matching mechanisms - template subset (bitstring in def.part)
9891 .*---------------------------------------------------------------------*
9894 <TC - Allowed matching mechanisms - template subset (bitstring in def.part)>
9898 <MODULE TTCN x x.ttcn>
9901 const bitstring c1:= '101'B;
9902 const bitstring c2:= '110'B;
9903 const bitstring c3:= '111'B;
9905 template bitstring r:= subset (c1, c2, c3);
9909 <RESULT IF_PASS COUNT 1>
9910 (?im)error.+?subset.+?match.+?cannot.+?used
9912 <RESULT IF_PASS COUNT 1>
9919 .*---------------------------------------------------------------------*
9920 :h4.Allowed matching mechanisms - template subset (bitstring in control part)
9921 .*---------------------------------------------------------------------*
9924 <TC - Allowed matching mechanisms - template subset (bitstring in control part)>
9928 <MODULE TTCN x x.ttcn>
9931 const bitstring c1:= '101'B;
9932 const bitstring c2:= '110'B;
9933 const bitstring c3:= '111'B;
9936 var template bitstring r:= subset (c1, c2, c3);
9941 <RESULT IF_PASS COUNT 1>
9942 (?im)error.+?subset.+?match.+?cannot.+?used
9944 <RESULT IF_PASS COUNT 1>
9951 .*---------------------------------------------------------------------*
9952 :h4.Allowed matching mechanisms - template subset (bitstring in function)
9953 .*---------------------------------------------------------------------*
9956 <TC - Allowed matching mechanisms - template subset (bitstring in function)>
9960 <MODULE TTCN x x.ttcn>
9963 const bitstring c1:= '101'B;
9964 const bitstring c2:= '110'B;
9965 const bitstring c3:= '111'B;
9968 var template bitstring r:= subset (c1, c2, c3);
9973 <RESULT IF_PASS COUNT 1>
9974 (?im)error.+?subset.+?match.+?cannot.+?used
9976 <RESULT IF_PASS COUNT 1>
9983 .*---------------------------------------------------------------------*
9984 :h4.Allowed matching mechanisms - template subset (octetstring in def.part)
9985 .*---------------------------------------------------------------------*
9988 <TC - Allowed matching mechanisms - template subset (octetstring in def.part)>
9992 <MODULE TTCN x x.ttcn>
9995 const octetstring c1:= '1011'O;
9996 const octetstring c2:= '1110'O;
9997 const octetstring c3:= '1111'O;
9999 template octetstring r:= subset (c1, c2, c3);
10003 <RESULT IF_PASS COUNT 1>
10004 (?im)error.+?subset.+?match.+?cannot.+?used
10006 <RESULT IF_PASS COUNT 1>
10013 .*---------------------------------------------------------------------*
10014 :h4.Allowed matching mechanisms - template subset (octetstring in control part)
10015 .*---------------------------------------------------------------------*
10018 <TC - Allowed matching mechanisms - template subset (octetstring in control part)>
10021 <VERDICT_LEAF PASS>
10022 <MODULE TTCN x x.ttcn>
10025 const octetstring c1:= '1011'O;
10026 const octetstring c2:= '1110'O;
10027 const octetstring c3:= '1111'O;
10030 var template octetstring r:= subset (c1, c2, c3);
10035 <RESULT IF_PASS COUNT 1>
10036 (?im)error.+?subset.+?match.+?cannot.+?used
10038 <RESULT IF_PASS COUNT 1>
10045 .*---------------------------------------------------------------------*
10046 :h4.Allowed matching mechanisms - template subset (octetstring in function)
10047 .*---------------------------------------------------------------------*
10050 <TC - Allowed matching mechanisms - template subset (octetstring in function)>
10053 <VERDICT_LEAF PASS>
10054 <MODULE TTCN x x.ttcn>
10057 const octetstring c1:= '1011'O;
10058 const octetstring c2:= '1110'O;
10059 const octetstring c3:= '1111'O;
10061 function myFunct(){
10062 var template octetstring r:= subset (c1, c2, c3);
10067 <RESULT IF_PASS COUNT 1>
10068 (?im)error.+?subset.+?match.+?cannot.+?used
10070 <RESULT IF_PASS COUNT 1>
10077 .*---------------------------------------------------------------------*
10078 :h4.Allowed matching mechanisms - template subset (hexstring in def.part)
10079 .*---------------------------------------------------------------------*
10082 <TC - Allowed matching mechanisms - template subset (hexstring in def.part)>
10085 <VERDICT_LEAF PASS>
10086 <MODULE TTCN x x.ttcn>
10089 const hexstring c1:= '1011'H;
10090 const hexstring c2:= '1110'H;
10091 const hexstring c3:= '1111'H;
10093 template hexstring r:= subset (c1, c2, c3);
10097 <RESULT IF_PASS COUNT 1>
10098 (?im)error.+?subset.+?match.+?cannot.+?used
10100 <RESULT IF_PASS COUNT 1>
10107 .*---------------------------------------------------------------------*
10108 :h4.Allowed matching mechanisms - template subset (hexstring in control part)
10109 .*---------------------------------------------------------------------*
10112 <TC - Allowed matching mechanisms - template subset (hexstring in control part)>
10115 <VERDICT_LEAF PASS>
10116 <MODULE TTCN x x.ttcn>
10119 const hexstring c1:= '1011'H;
10120 const hexstring c2:= '1110'H;
10121 const hexstring c3:= '1111'H;
10124 var template hexstring r:= subset (c1, c2, c3);
10129 <RESULT IF_PASS COUNT 1>
10130 (?im)error.+?subset.+?match.+?cannot.+?used
10132 <RESULT IF_PASS COUNT 1>
10139 .*---------------------------------------------------------------------*
10140 :h4.Allowed matching mechanisms - template subset (hexstring in function)
10141 .*---------------------------------------------------------------------*
10144 <TC - Allowed matching mechanisms - template subset (hexstring in function)>
10147 <VERDICT_LEAF PASS>
10148 <MODULE TTCN x x.ttcn>
10151 const hexstring c1:= '1011'H;
10152 const hexstring c2:= '1110'H;
10153 const hexstring c3:= '1111'H;
10155 function myFunct(){
10156 var template hexstring r:= subset (c1, c2, c3);
10161 <RESULT IF_PASS COUNT 1>
10162 (?im)error.+?subset.+?match.+?cannot.+?used
10164 <RESULT IF_PASS COUNT 1>
10171 .*---------------------------------------------------------------------*
10172 :h4.Allowed matching mechanisms - template subset (charstring in def.part)
10173 .*---------------------------------------------------------------------*
10176 <TC - Allowed matching mechanisms - template subset (charstring in def.part)>
10179 <VERDICT_LEAF PASS>
10180 <MODULE TTCN x x.ttcn>
10183 const charstring c1:= "ogin";
10184 const charstring c2:= "dwa";
10185 const charstring c3:= "try";
10187 template charstring r:= subset (c1, c2, c3);
10191 <RESULT IF_PASS COUNT 1>
10192 (?im)error.+?subset.+?match.+?cannot.+?used
10194 <RESULT IF_PASS COUNT 1>
10201 .*---------------------------------------------------------------------*
10202 :h4.Allowed matching mechanisms - template subset (charstring in control part)
10203 .*---------------------------------------------------------------------*
10206 <TC - Allowed matching mechanisms - template subset (charstring in control part)>
10209 <VERDICT_LEAF PASS>
10210 <MODULE TTCN x x.ttcn>
10213 const charstring c1:= "ogin";
10214 const charstring c2:= "dwa";
10215 const charstring c3:= "try";
10218 var template charstring r:= subset (c1, c2, c3);
10223 <RESULT IF_PASS COUNT 1>
10224 (?im)error.+?subset.+?match.+?cannot.+?used
10226 <RESULT IF_PASS COUNT 1>
10233 .*---------------------------------------------------------------------*
10234 :h4.Allowed matching mechanisms - template subset (charstring in function)
10235 .*---------------------------------------------------------------------*
10238 <TC - Allowed matching mechanisms - template subset (charstring in function)>
10241 <VERDICT_LEAF PASS>
10242 <MODULE TTCN x x.ttcn>
10245 const charstring c1:= "ogin";
10246 const charstring c2:= "dwa";
10247 const charstring c3:= "try";
10249 function myFunct(){
10250 var template charstring r:= subset (c1, c2, c3);
10255 <RESULT IF_PASS COUNT 1>
10256 (?im)error.+?subset.+?match.+?cannot.+?used
10258 <RESULT IF_PASS COUNT 1>
10265 .*---------------------------------------------------------------------*
10266 :h4.Allowed matching mechanisms - template subset (record in def.part)
10267 .*---------------------------------------------------------------------*
10270 <TC - Allowed matching mechanisms - template subset (record in def.part)>
10273 <VERDICT_LEAF PASS>
10274 <MODULE TTCN x x.ttcn>
10283 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10284 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10286 template recT r:= subset (c1, c2);
10290 <RESULT IF_PASS COUNT 1>
10291 (?im)error.+?subset.+?match.+?cannot.+?used
10293 <RESULT IF_PASS COUNT 1>
10300 .*---------------------------------------------------------------------*
10301 :h4.Allowed matching mechanisms - template subset (record in control part)
10302 .*---------------------------------------------------------------------*
10305 <TC - Allowed matching mechanisms - template subset (record in control part)>
10308 <VERDICT_LEAF PASS>
10309 <MODULE TTCN x x.ttcn>
10318 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10319 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10322 var template recT r:= subset (c1, c2);
10327 <RESULT IF_PASS COUNT 1>
10328 (?im)error.+?subset.+?match.+?cannot.+?used
10330 <RESULT IF_PASS COUNT 1>
10337 .*---------------------------------------------------------------------*
10338 :h4.Allowed matching mechanisms - template subset (record in function)
10339 .*---------------------------------------------------------------------*
10342 <TC - Allowed matching mechanisms - template subset (record in function)>
10345 <VERDICT_LEAF PASS>
10346 <MODULE TTCN x x.ttcn>
10355 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10356 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10358 function myFunct(){
10359 var template recT r:= subset (c1, c2);
10364 <RESULT IF_PASS COUNT 1>
10365 (?im)error.+?subset.+?match.+?cannot.+?used
10367 <RESULT IF_PASS COUNT 1>
10374 .*---------------------------------------------------------------------*
10375 :h4.Allowed matching mechanisms - template subset (record of in def.part)
10376 .*---------------------------------------------------------------------*
10379 <TC - Allowed matching mechanisms - template subset (record of in def.part)>
10382 <VERDICT_LEAF PASS>
10383 <MODULE TTCN x x.ttcn>
10386 type record of integer rofT;
10388 const rofT c1:= { 1, 2, 3 };
10389 const rofT c2:= { 4, 5, 6 };
10391 template rofT r:= subset (c1, c2);
10395 <RESULT IF_PASS COUNT 1>
10396 (?im)error.+?subset.+?match.+?cannot.+?used
10398 <RESULT IF_PASS COUNT 1>
10405 .*---------------------------------------------------------------------*
10406 :h4.Allowed matching mechanisms - template subset (record of in control part)
10407 .*---------------------------------------------------------------------*
10410 <TC - Allowed matching mechanisms - template subset (record of in control part)>
10413 <VERDICT_LEAF PASS>
10414 <MODULE TTCN x x.ttcn>
10417 type record of integer rofT;
10419 const rofT c1:= { 1, 2, 3 };
10420 const rofT c2:= { 4, 5, 6 };
10423 var template rofT r:= subset (c1, c2);
10428 <RESULT IF_PASS COUNT 1>
10429 (?im)error.+?subset.+?match.+?cannot.+?used
10431 <RESULT IF_PASS COUNT 1>
10438 .*---------------------------------------------------------------------*
10439 :h4.Allowed matching mechanisms - template subset (record of in function)
10440 .*---------------------------------------------------------------------*
10443 <TC - Allowed matching mechanisms - template subset (record of in function)>
10446 <VERDICT_LEAF PASS>
10447 <MODULE TTCN x x.ttcn>
10450 type record of integer rofT;
10452 const rofT c1:= { 1, 2, 3 };
10453 const rofT c2:= { 4, 5, 6 };
10455 function myFunct(){
10456 var template rofT r:= subset (c1, c2);
10461 <RESULT IF_PASS COUNT 1>
10462 (?im)error.+?subset.+?match.+?cannot.+?used
10464 <RESULT IF_PASS COUNT 1>
10471 .*---------------------------------------------------------------------*
10472 :h4.Allowed matching mechanisms - template subset (set in def.part)
10473 .*---------------------------------------------------------------------*
10476 <TC - Allowed matching mechanisms - template subset (set in def.part)>
10479 <VERDICT_LEAF PASS>
10480 <MODULE TTCN x x.ttcn>
10489 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10490 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10492 template setT r:= subset (c1, c2);
10496 <RESULT IF_PASS COUNT 1>
10497 (?im)error.+?subset.+?match.+?cannot.+?used
10499 <RESULT IF_PASS COUNT 1>
10506 .*---------------------------------------------------------------------*
10507 :h4.Allowed matching mechanisms - template subset (set in control part)
10508 .*---------------------------------------------------------------------*
10511 <TC - Allowed matching mechanisms - template subset (set in control part)>
10514 <VERDICT_LEAF PASS>
10515 <MODULE TTCN x x.ttcn>
10524 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10525 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10528 var template setT r:= subset (c1, c2);
10533 <RESULT IF_PASS COUNT 1>
10534 (?im)error.+?subset.+?match.+?cannot.+?used
10536 <RESULT IF_PASS COUNT 1>
10543 .*---------------------------------------------------------------------*
10544 :h4.Allowed matching mechanisms - template subset (set in function)
10545 .*---------------------------------------------------------------------*
10548 <TC - Allowed matching mechanisms - template subset (set in function)>
10551 <VERDICT_LEAF PASS>
10552 <MODULE TTCN x x.ttcn>
10561 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
10562 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
10564 function myFunct(){
10565 var template setT r:= subset (c1, c2);
10570 <RESULT IF_PASS COUNT 1>
10571 (?im)error.+?subset.+?match.+?cannot.+?used
10573 <RESULT IF_PASS COUNT 1>
10580 .*---------------------------------------------------------------------*
10581 :h4.Allowed matching mechanisms - template subset (enumerated in def.part)
10582 .*---------------------------------------------------------------------*
10585 <TC - Allowed matching mechanisms - template subset (enumerated in def.part)>
10588 <VERDICT_LEAF PASS>
10589 <MODULE TTCN x x.ttcn>
10592 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
10594 const enumT c1:= ONE;
10595 const enumT c2:= TWO;
10597 template enumT r:= subset (c1, c2);
10601 <RESULT IF_PASS COUNT 1>
10602 (?im)error.+?subset.+?match.+?cannot.+?used
10604 <RESULT IF_PASS COUNT 1>
10611 .*---------------------------------------------------------------------*
10612 :h4.Allowed matching mechanisms - template subset (enumerated in control part)
10613 .*---------------------------------------------------------------------*
10616 <TC - Allowed matching mechanisms - template subset (enumerated in control part)>
10619 <VERDICT_LEAF PASS>
10620 <MODULE TTCN x x.ttcn>
10623 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
10625 const enumT c1:= ONE;
10626 const enumT c2:= TWO;
10629 var template enumT r:= subset (c1, c2);
10634 <RESULT IF_PASS COUNT 1>
10635 (?im)error.+?subset.+?match.+?cannot.+?used
10637 <RESULT IF_PASS COUNT 1>
10644 .*---------------------------------------------------------------------*
10645 :h4.Allowed matching mechanisms - template subset (enumerated in function)
10646 .*---------------------------------------------------------------------*
10649 <TC - Allowed matching mechanisms - template subset (enumerated in function)>
10652 <VERDICT_LEAF PASS>
10653 <MODULE TTCN x x.ttcn>
10656 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
10658 const enumT c1:= ONE;
10659 const enumT c2:= TWO;
10661 function myFunct(){
10662 var template enumT r:= subset (c1, c2);
10667 <RESULT IF_PASS COUNT 1>
10668 (?im)error.+?subset.+?match.+?cannot.+?used
10670 <RESULT IF_PASS COUNT 1>
10677 .*---------------------------------------------------------------------*
10678 :h4.Allowed matching mechanisms - template subset (union in def.part)
10679 .*---------------------------------------------------------------------*
10682 <TC - Allowed matching mechanisms - template subset (union in def.part)>
10685 <VERDICT_LEAF PASS>
10686 <MODULE TTCN x x.ttcn>
10695 const uniT c1:= { f1:= 1 };
10696 const uniT c2:= { f2:= 7.0 };
10698 template uniT r:= subset (c1, c2);
10702 <RESULT IF_PASS COUNT 1>
10703 (?im)error.+?subset.+?match.+?cannot.+?used
10705 <RESULT IF_PASS COUNT 1>
10712 .*---------------------------------------------------------------------*
10713 :h4.Allowed matching mechanisms - template subset (union in control part)
10714 .*---------------------------------------------------------------------*
10717 <TC - Allowed matching mechanisms - template subset (union in control part)>
10720 <VERDICT_LEAF PASS>
10721 <MODULE TTCN x x.ttcn>
10730 const uniT c1:= { f1:= 1 };
10731 const uniT c2:= { f2:= 7.0 };
10734 var template uniT r:= subset (c1, c2);
10739 <RESULT IF_PASS COUNT 1>
10740 (?im)error.+?subset.+?match.+?cannot.+?used
10742 <RESULT IF_PASS COUNT 1>
10749 .*---------------------------------------------------------------------*
10750 :h4.Allowed matching mechanisms - template subset (union in function)
10751 .*---------------------------------------------------------------------*
10754 <TC - Allowed matching mechanisms - template subset (union in function)>
10757 <VERDICT_LEAF PASS>
10758 <MODULE TTCN x x.ttcn>
10767 const uniT c1:= { f1:= 1 };
10768 const uniT c2:= { f2:= 7.0 };
10770 function myFunct(){
10771 var template uniT r:= subset (c1, c2);
10776 <RESULT IF_PASS COUNT 1>
10777 (?im)error.+?subset.+?match.+?cannot.+?used
10779 <RESULT IF_PASS COUNT 1>
10786 .*---------------------------------------------------------------------*
10787 :h4.Allowed matching mechanisms - template subset (array in def. part)
10788 .*---------------------------------------------------------------------*
10791 <TC - Allowed matching mechanisms - template subset (array in def.part)>
10794 <VERDICT_LEAF PASS>
10795 <MODULE TTCN x x.ttcn>
10798 type integer myint[1];
10800 const myint c1:={1};
10801 const myint c2 :={3};
10803 template myint r := subset(c1,c2);
10807 <RESULT IF_PASS COUNT 1>
10808 (?im)error.+?subset.+?match.+?cannot.+?used
10810 <RESULT IF_PASS COUNT 1>
10817 .*---------------------------------------------------------------------*
10818 :h4.Allowed matching mechanisms - template subset (array in control part)
10819 .*---------------------------------------------------------------------*
10822 <TC - Allowed matching mechanisms - template subset (array in control part)>
10825 <VERDICT_LEAF PASS>
10826 <MODULE TTCN x x.ttcn>
10829 type integer myint[1];
10831 const myint c1:={1};
10832 const myint c2 :={3};
10835 template myint r := subset(c1,c2);
10839 <RESULT IF_PASS COUNT 1>
10840 (?im)error.+?subset.+?match.+?cannot.+?used
10842 <RESULT IF_PASS COUNT 1>
10849 .*---------------------------------------------------------------------*
10850 :h4.Allowed matching mechanisms - template subset (array in function)
10851 .*---------------------------------------------------------------------*
10854 <TC - Allowed matching mechanisms - template subset (array in function)>
10857 <VERDICT_LEAF PASS>
10858 <MODULE TTCN x x.ttcn>
10861 type integer myint[1];
10863 const myint c1:={1};
10864 const myint c2 :={3};
10866 function myFunct(){
10867 template myint r := subset(c1,c2);
10871 <RESULT IF_PASS COUNT 1>
10872 (?im)error.+?subset.+?match.+?cannot.+?used
10874 <RESULT IF_PASS COUNT 1>
10881 .*---------------------------------------------------------------------*
10882 :h4.Allowed matching mechanisms - template length-restriction (boolean in def.part)
10883 .*---------------------------------------------------------------------*
10886 <TC - Allowed matching mechanisms - template length-restriction (boolean in def.part)>
10889 <VERDICT_LEAF PASS>
10890 <MODULE TTCN x x.ttcn>
10893 template boolean r:= ? length(1);
10897 <RESULT IF_PASS COUNT 1>
10898 (?im)error.+?Length.+?restriction.+?cannot.+?used
10900 <RESULT IF_PASS COUNT 1>
10907 .*---------------------------------------------------------------------*
10908 :h4.Allowed matching mechanisms - template length-restriction (boolean in control part)
10909 .*---------------------------------------------------------------------*
10912 <TC - Allowed matching mechanisms - template length-restriction (boolean in control part)>
10915 <VERDICT_LEAF PASS>
10916 <MODULE TTCN x x.ttcn>
10920 var template boolean r:= ? length(1);
10925 <RESULT IF_PASS COUNT 1>
10926 (?im)error.+?Length.+?restriction.+?cannot.+?used
10928 <RESULT IF_PASS COUNT 1>
10935 .*---------------------------------------------------------------------*
10936 :h4.Allowed matching mechanisms - template length-restriction (boolean in function)
10937 .*---------------------------------------------------------------------*
10940 <TC - Allowed matching mechanisms - template length-restriction (boolean in function)>
10943 <VERDICT_LEAF PASS>
10944 <MODULE TTCN x x.ttcn>
10947 function myFunct(){
10948 var template boolean r:= ? length(1);
10953 <RESULT IF_PASS COUNT 1>
10954 (?im)error.+?Length.+?restriction.+?cannot.+?used
10956 <RESULT IF_PASS COUNT 1>
10963 .*---------------------------------------------------------------------*
10964 :h4.Allowed matching mechanisms - template length-restriction (integer in def.part)
10965 .*---------------------------------------------------------------------*
10968 <TC - Allowed matching mechanisms - template length-restriction (integer in def.part)>
10971 <VERDICT_LEAF PASS>
10972 <MODULE TTCN x x.ttcn>
10975 template integer r:= ? length(1);
10979 <RESULT IF_PASS COUNT 1>
10980 (?im)error.+?Length.+?restriction.+?cannot.+?used
10982 <RESULT IF_PASS COUNT 1>
10989 .*---------------------------------------------------------------------*
10990 :h4.Allowed matching mechanisms - template length-restriction (integer in control part)
10991 .*---------------------------------------------------------------------*
10994 <TC - Allowed matching mechanisms - template length-restriction (integer in control part)>
10997 <VERDICT_LEAF PASS>
10998 <MODULE TTCN x x.ttcn>
11002 var template integer r:= ? length(1);
11007 <RESULT IF_PASS COUNT 1>
11008 (?im)error.+?Length.+?restriction.+?cannot.+?used
11010 <RESULT IF_PASS COUNT 1>
11017 .*---------------------------------------------------------------------*
11018 :h4.Allowed matching mechanisms - template length-restriction (integer in function)
11019 .*---------------------------------------------------------------------*
11022 <TC - Allowed matching mechanisms - template length-restriction (integer in function)>
11025 <VERDICT_LEAF PASS>
11026 <MODULE TTCN x x.ttcn>
11029 function myFunct(){
11030 var template integer r:= ? length(1);
11035 <RESULT IF_PASS COUNT 1>
11036 (?im)error.+?Length.+?restriction.+?cannot.+?used
11038 <RESULT IF_PASS COUNT 1>
11045 .*---------------------------------------------------------------------*
11046 :h4.Allowed matching mechanisms - template length-restriction (float in def.part)
11047 .*---------------------------------------------------------------------*
11050 <TC - Allowed matching mechanisms - template length-restriction (float in def.part)>
11053 <VERDICT_LEAF PASS>
11054 <MODULE TTCN x x.ttcn>
11057 template float r:= ? length(1);
11061 <RESULT IF_PASS COUNT 1>
11062 (?im)error.+?Length.+?restriction.+?cannot.+?used
11064 <RESULT IF_PASS COUNT 1>
11071 .*---------------------------------------------------------------------*
11072 :h4.Allowed matching mechanisms - template length-restriction (float in control part)
11073 .*---------------------------------------------------------------------*
11076 <TC - Allowed matching mechanisms - template length-restriction (float in control part)>
11079 <VERDICT_LEAF PASS>
11080 <MODULE TTCN x x.ttcn>
11084 var template float r:= ? length(1);
11089 <RESULT IF_PASS COUNT 1>
11090 (?im)error.+?Length.+?restriction.+?cannot.+?used
11092 <RESULT IF_PASS COUNT 1>
11099 .*---------------------------------------------------------------------*
11100 :h4.Allowed matching mechanisms - template length-restriction (float in function)
11101 .*---------------------------------------------------------------------*
11104 <TC - Allowed matching mechanisms - template length-restriction (float in function)>
11107 <VERDICT_LEAF PASS>
11108 <MODULE TTCN x x.ttcn>
11111 function myFunct(){
11112 var template float r:= ? length(1);
11117 <RESULT IF_PASS COUNT 1>
11118 (?im)error.+?Length.+?restriction.+?cannot.+?used
11120 <RESULT IF_PASS COUNT 1>
11127 .*---------------------------------------------------------------------*
11128 :h4.Allowed matching mechanisms - template length-restriction (record in def.part)
11129 .*---------------------------------------------------------------------*
11132 <TC - Allowed matching mechanisms - template length-restriction (record in def.part)>
11135 <VERDICT_LEAF PASS>
11136 <MODULE TTCN x x.ttcn>
11145 template recT r:= ? length(1);
11149 <RESULT IF_PASS COUNT 1>
11150 (?im)error.+?Length.+?restriction.+?cannot.+?used
11152 <RESULT IF_PASS COUNT 1>
11159 .*---------------------------------------------------------------------*
11160 :h4.Allowed matching mechanisms - template length-restriction (record in control part)
11161 .*---------------------------------------------------------------------*
11164 <TC - Allowed matching mechanisms - template length-restriction (record in control part)>
11167 <VERDICT_LEAF PASS>
11168 <MODULE TTCN x x.ttcn>
11178 var template recT r:= ? length(1);
11183 <RESULT IF_PASS COUNT 1>
11184 (?im)error.+?Length.+?restriction.+?cannot.+?used
11186 <RESULT IF_PASS COUNT 1>
11193 .*---------------------------------------------------------------------*
11194 :h4.Allowed matching mechanisms - template length-restriction (record in function)
11195 .*---------------------------------------------------------------------*
11198 <TC - Allowed matching mechanisms - template length-restriction (record in function)>
11201 <VERDICT_LEAF PASS>
11202 <MODULE TTCN x x.ttcn>
11211 function myFunct(){
11212 var template recT r:= ? length(1);
11217 <RESULT IF_PASS COUNT 1>
11218 (?im)error.+?Length.+?restriction.+?cannot.+?used
11220 <RESULT IF_PASS COUNT 1>
11227 .*---------------------------------------------------------------------*
11228 :h4.Allowed matching mechanisms - template length-restriction (set in def.part)
11229 .*---------------------------------------------------------------------*
11232 <TC - Allowed matching mechanisms - template length-restriction (set in def.part)>
11235 <VERDICT_LEAF PASS>
11236 <MODULE TTCN x x.ttcn>
11245 template setT r:= ? length(1);
11249 <RESULT IF_PASS COUNT 1>
11250 (?im)error.+?Length.+?restriction.+?cannot.+?used
11252 <RESULT IF_PASS COUNT 1>
11259 .*---------------------------------------------------------------------*
11260 :h4.Allowed matching mechanisms - template length-restriction (set in control part)
11261 .*---------------------------------------------------------------------*
11264 <TC - Allowed matching mechanisms - template length-restriction (set in control part)>
11267 <VERDICT_LEAF PASS>
11268 <MODULE TTCN x x.ttcn>
11278 var template setT r:= ? length(1);
11283 <RESULT IF_PASS COUNT 1>
11284 (?im)error.+?Length.+?restriction.+?cannot.+?used
11286 <RESULT IF_PASS COUNT 1>
11293 .*---------------------------------------------------------------------*
11294 :h4.Allowed matching mechanisms - template length-restriction (set in function)
11295 .*---------------------------------------------------------------------*
11298 <TC - Allowed matching mechanisms - template length-restriction (set in function)>
11301 <VERDICT_LEAF PASS>
11302 <MODULE TTCN x x.ttcn>
11311 function myFunct(){
11312 var template setT r:= ? length(1);
11317 <RESULT IF_PASS COUNT 1>
11318 (?im)error.+?Length.+?restriction.+?cannot.+?used
11320 <RESULT IF_PASS COUNT 1>
11327 .*---------------------------------------------------------------------*
11328 :h4.Allowed matching mechanisms - template length-restriction (enumerated in def.part)
11329 .*---------------------------------------------------------------------*
11332 <TC - Allowed matching mechanisms - template length-restriction (enumerated in def.part)>
11335 <VERDICT_LEAF PASS>
11336 <MODULE TTCN x x.ttcn>
11339 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
11341 template enumT r:= ? length(1);
11345 <RESULT IF_PASS COUNT 1>
11346 (?im)error.+?Length.+?restriction.+?cannot.+?used
11348 <RESULT IF_PASS COUNT 1>
11355 .*---------------------------------------------------------------------*
11356 :h4.Allowed matching mechanisms - template length-restriction (enumerated in control part)
11357 .*---------------------------------------------------------------------*
11360 <TC - Allowed matching mechanisms - template length-restriction (enumerated in control part)>
11363 <VERDICT_LEAF PASS>
11364 <MODULE TTCN x x.ttcn>
11367 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
11370 var template enumT r:= ? length(1);
11375 <RESULT IF_PASS COUNT 1>
11376 (?im)error.+?Length.+?restriction.+?cannot.+?used
11378 <RESULT IF_PASS COUNT 1>
11385 .*---------------------------------------------------------------------*
11386 :h4.Allowed matching mechanisms - template length-restriction (enumerated in function)
11387 .*---------------------------------------------------------------------*
11390 <TC - Allowed matching mechanisms - template length-restriction (enumerated in function)>
11393 <VERDICT_LEAF PASS>
11394 <MODULE TTCN x x.ttcn>
11397 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
11399 function myFunct(){
11400 var template enumT r:= ? length(1);
11405 <RESULT IF_PASS COUNT 1>
11406 (?im)error.+?Length.+?restriction.+?cannot.+?used
11408 <RESULT IF_PASS COUNT 1>
11415 .*---------------------------------------------------------------------*
11416 :h4.Allowed matching mechanisms - template length-restriction (union in def.part)
11417 .*---------------------------------------------------------------------*
11420 <TC - Allowed matching mechanisms - template length-restriction (union in def.part)>
11423 <VERDICT_LEAF PASS>
11424 <MODULE TTCN x x.ttcn>
11433 template uniT r:= ? length(1);
11437 <RESULT IF_PASS COUNT 1>
11438 (?im)error.+?Length.+?restriction.+?cannot.+?used
11440 <RESULT IF_PASS COUNT 1>
11447 .*---------------------------------------------------------------------*
11448 :h4.Allowed matching mechanisms - template length-restriction (union in control part)
11449 .*---------------------------------------------------------------------*
11452 <TC - Allowed matching mechanisms - template length-restriction (union in control part)>
11455 <VERDICT_LEAF PASS>
11456 <MODULE TTCN x x.ttcn>
11466 var template uniT r:= ? length(1);
11471 <RESULT IF_PASS COUNT 1>
11472 (?im)error.+?Length.+?restriction.+?cannot.+?used
11474 <RESULT IF_PASS COUNT 1>
11481 .*---------------------------------------------------------------------*
11482 :h4.Allowed matching mechanisms - template length-restriction (union in function)
11483 .*---------------------------------------------------------------------*
11486 <TC - Allowed matching mechanisms - template length-restriction (union in function)>
11489 <VERDICT_LEAF PASS>
11490 <MODULE TTCN x x.ttcn>
11499 function myFunct(){
11500 var template uniT r:= ? length(1);
11505 <RESULT IF_PASS COUNT 1>
11506 (?im)error.+?Length.+?restriction.+?cannot.+?used
11508 <RESULT IF_PASS COUNT 1>
11515 .*---------------------------------------------------------------------*
11516 :h4.Allowed matching mechanisms - template length-restriction (array in def.part)
11517 .*---------------------------------------------------------------------*
11520 <TC - Allowed matching mechanisms - template length-restriction (array in def.part)>
11523 <VERDICT_LEAF PASS>
11524 <MODULE TTCN x x.ttcn>
11527 type integer arrint[1];
11529 template arrint r:= ? length(10);
11533 <RESULT IF_PASS COUNT 1>
11534 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
11536 <RESULT IF_PASS COUNT 1>
11543 .*---------------------------------------------------------------------*
11544 :h4.Allowed matching mechanisms - template length-restriction (array in control part)
11545 .*---------------------------------------------------------------------*
11548 <TC - Allowed matching mechanisms - template length-restriction (array in control part)>
11551 <VERDICT_LEAF PASS>
11552 <MODULE TTCN x x.ttcn>
11555 type integer arrint[1];
11559 template arrint r:= ? length(10);
11563 <RESULT IF_PASS COUNT 1>
11564 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
11566 <RESULT IF_PASS COUNT 1>
11573 .*---------------------------------------------------------------------*
11574 :h4.Allowed matching mechanisms - template length-restriction (array in function)
11575 .*---------------------------------------------------------------------*
11578 <TC - Allowed matching mechanisms - template length-restriction (array in function)>
11581 <VERDICT_LEAF PASS>
11582 <MODULE TTCN x x.ttcn>
11585 type integer arrint[1];
11587 function myFunct(){
11589 template arrint r:= ? length(10);
11593 <RESULT IF_PASS COUNT 1>
11594 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
11596 <RESULT IF_PASS COUNT 1>
11603 .*---------------------------------------------------------------------*
11604 :h4.Allowed matching mechanisms - template ifpresent (boolean in def.part)
11605 .*---------------------------------------------------------------------*
11608 <TC - Allowed matching mechanisms - template ifpresent (boolean in def.part)>
11611 <VERDICT_LEAF PASS>
11612 <MODULE TTCN x x.ttcn>
11615 template boolean f:= ? ifpresent;
11619 <RESULT IF_PASS NEGATIVE>
11626 .*---------------------------------------------------------------------*
11627 :h4.Allowed matching mechanisms - template ifpresent (boolean in control part)
11628 .*---------------------------------------------------------------------*
11631 <TC - Allowed matching mechanisms - template ifpresent (boolean in control part)>
11634 <VERDICT_LEAF PASS>
11635 <MODULE TTCN x x.ttcn>
11639 var template boolean f:= ? ifpresent;
11644 <RESULT IF_PASS NEGATIVE>
11651 .*---------------------------------------------------------------------*
11652 :h4.Allowed matching mechanisms - template ifpresent (boolean in function)
11653 .*---------------------------------------------------------------------*
11656 <TC - Allowed matching mechanisms - template ifpresent (boolean in function)>
11659 <VERDICT_LEAF PASS>
11660 <MODULE TTCN x x.ttcn>
11663 function myFunct(){
11664 var template boolean f:= ? ifpresent;
11669 <RESULT IF_PASS NEGATIVE>
11676 .*---------------------------------------------------------------------*
11677 :h4.Allowed matching mechanisms - template ifpresent (integer in def.part)
11678 .*---------------------------------------------------------------------*
11681 <TC - Allowed matching mechanisms - template ifpresent (integer in def.part)>
11684 <VERDICT_LEAF PASS>
11685 <MODULE TTCN x x.ttcn>
11688 template integer f:= ? ifpresent;
11692 <RESULT IF_PASS NEGATIVE>
11699 .*---------------------------------------------------------------------*
11700 :h4.Allowed matching mechanisms - template ifpresent (integer in control part)
11701 .*---------------------------------------------------------------------*
11704 <TC - Allowed matching mechanisms - template ifpresent (integer in control part)>
11707 <VERDICT_LEAF PASS>
11708 <MODULE TTCN x x.ttcn>
11712 var template integer f:= ? ifpresent;
11717 <RESULT IF_PASS NEGATIVE>
11724 .*---------------------------------------------------------------------*
11725 :h4.Allowed matching mechanisms - template ifpresent (integer in function)
11726 .*---------------------------------------------------------------------*
11729 <TC - Allowed matching mechanisms - template ifpresent (integer in function)>
11732 <VERDICT_LEAF PASS>
11733 <MODULE TTCN x x.ttcn>
11736 function myFunct(){
11737 var template integer f:= ? ifpresent;
11742 <RESULT IF_PASS NEGATIVE>
11749 .*---------------------------------------------------------------------*
11750 :h4.Allowed matching mechanisms - template ifpresent (float in def.part)
11751 .*---------------------------------------------------------------------*
11754 <TC - Allowed matching mechanisms - template ifpresent (float in def.part)>
11757 <VERDICT_LEAF PASS>
11758 <MODULE TTCN x x.ttcn>
11761 template float f:= ? ifpresent;
11765 <RESULT IF_PASS NEGATIVE>
11772 .*---------------------------------------------------------------------*
11773 :h4.Allowed matching mechanisms - template ifpresent (float in control part)
11774 .*---------------------------------------------------------------------*
11777 <TC - Allowed matching mechanisms - template ifpresent (float in control part)>
11780 <VERDICT_LEAF PASS>
11781 <MODULE TTCN x x.ttcn>
11785 var template float f:= ? ifpresent;
11790 <RESULT IF_PASS NEGATIVE>
11797 .*---------------------------------------------------------------------*
11798 :h4.Allowed matching mechanisms - template ifpresent (float in function)
11799 .*---------------------------------------------------------------------*
11802 <TC - Allowed matching mechanisms - template ifpresent (float in function)>
11805 <VERDICT_LEAF PASS>
11806 <MODULE TTCN x x.ttcn>
11809 function myFunct(){
11810 var template float f:= ? ifpresent;
11815 <RESULT IF_PASS NEGATIVE>
11822 .*---------------------------------------------------------------------*
11823 :h4.Allowed matching mechanisms - template ifpresent (bitstring in def.part)
11824 .*---------------------------------------------------------------------*
11827 <TC - Allowed matching mechanisms - template ifpresent (bitstring in def.part)>
11830 <VERDICT_LEAF PASS>
11831 <MODULE TTCN x x.ttcn>
11834 template bitstring f:= ? ifpresent;
11838 <RESULT IF_PASS NEGATIVE>
11845 .*---------------------------------------------------------------------*
11846 :h4.Allowed matching mechanisms - template ifpresent (bitstring in control part)
11847 .*---------------------------------------------------------------------*
11850 <TC - Allowed matching mechanisms - template ifpresent (bitstring in control part)>
11853 <VERDICT_LEAF PASS>
11854 <MODULE TTCN x x.ttcn>
11858 var template bitstring f:= ? ifpresent;
11863 <RESULT IF_PASS NEGATIVE>
11870 .*---------------------------------------------------------------------*
11871 :h4.Allowed matching mechanisms - template ifpresent (bitstring in function)
11872 .*---------------------------------------------------------------------*
11875 <TC - Allowed matching mechanisms - template ifpresent (bitstring in function)>
11878 <VERDICT_LEAF PASS>
11879 <MODULE TTCN x x.ttcn>
11882 function myFunct(){
11883 var template bitstring f:= ? ifpresent;
11888 <RESULT IF_PASS NEGATIVE>
11895 .*---------------------------------------------------------------------*
11896 :h4.Allowed matching mechanisms - template ifpresent (octetstring in def.part)
11897 .*---------------------------------------------------------------------*
11900 <TC - Allowed matching mechanisms - template ifpresent (octetstring in def.part)>
11903 <VERDICT_LEAF PASS>
11904 <MODULE TTCN x x.ttcn>
11907 template octetstring f:= ? ifpresent;
11911 <RESULT IF_PASS NEGATIVE>
11918 .*---------------------------------------------------------------------*
11919 :h4.Allowed matching mechanisms - template ifpresent (octetstring in control part)
11920 .*---------------------------------------------------------------------*
11923 <TC - Allowed matching mechanisms - template ifpresent (octetstring in control part)>
11926 <VERDICT_LEAF PASS>
11927 <MODULE TTCN x x.ttcn>
11931 var template octetstring f:= ? ifpresent;
11936 <RESULT IF_PASS NEGATIVE>
11943 .*---------------------------------------------------------------------*
11944 :h4.Allowed matching mechanisms - template ifpresent (octetstring in function)
11945 .*---------------------------------------------------------------------*
11948 <TC - Allowed matching mechanisms - template ifpresent (octetstring in function)>
11951 <VERDICT_LEAF PASS>
11952 <MODULE TTCN x x.ttcn>
11955 function myFunct(){
11956 var template octetstring f:= ? ifpresent;
11961 <RESULT IF_PASS NEGATIVE>
11968 .*---------------------------------------------------------------------*
11969 :h4.Allowed matching mechanisms - template ifpresent (hexstring in def.part)
11970 .*---------------------------------------------------------------------*
11973 <TC - Allowed matching mechanisms - template ifpresent (hexstring in def.part)>
11976 <VERDICT_LEAF PASS>
11977 <MODULE TTCN x x.ttcn>
11980 template hexstring f:= ? ifpresent;
11984 <RESULT IF_PASS NEGATIVE>
11991 .*---------------------------------------------------------------------*
11992 :h4.Allowed matching mechanisms - template ifpresent (hexstring in control part)
11993 .*---------------------------------------------------------------------*
11996 <TC - Allowed matching mechanisms - template ifpresent (hexstring in control part)>
11999 <VERDICT_LEAF PASS>
12000 <MODULE TTCN x x.ttcn>
12004 var template hexstring f:= ? ifpresent;
12009 <RESULT IF_PASS NEGATIVE>
12016 .*---------------------------------------------------------------------*
12017 :h4.Allowed matching mechanisms - template ifpresent (hexstring in function)
12018 .*---------------------------------------------------------------------*
12021 <TC - Allowed matching mechanisms - template ifpresent (hexstring in function)>
12024 <VERDICT_LEAF PASS>
12025 <MODULE TTCN x x.ttcn>
12028 function myFunct(){
12029 var template hexstring f:= ? ifpresent;
12034 <RESULT IF_PASS NEGATIVE>
12041 .*---------------------------------------------------------------------*
12042 :h4.Allowed matching mechanisms - template ifpresent (charstring in def.part)
12043 .*---------------------------------------------------------------------*
12046 <TC - Allowed matching mechanisms - template ifpresent (charstring in def.part)>
12049 <VERDICT_LEAF PASS>
12050 <MODULE TTCN x x.ttcn>
12053 template charstring f:= ? ifpresent;
12057 <RESULT IF_PASS NEGATIVE>
12064 .*---------------------------------------------------------------------*
12065 :h4.Allowed matching mechanisms - template ifpresent (charstring in control part)
12066 .*---------------------------------------------------------------------*
12069 <TC - Allowed matching mechanisms - template ifpresent (charstring in control part)>
12072 <VERDICT_LEAF PASS>
12073 <MODULE TTCN x x.ttcn>
12077 var template charstring f:= ? ifpresent;
12082 <RESULT IF_PASS NEGATIVE>
12089 .*---------------------------------------------------------------------*
12090 :h4.Allowed matching mechanisms - template ifpresent (charstring in function)
12091 .*---------------------------------------------------------------------*
12094 <TC - Allowed matching mechanisms - template ifpresent (charstring in function)>
12097 <VERDICT_LEAF PASS>
12098 <MODULE TTCN x x.ttcn>
12101 function myFunct(){
12102 var template charstring f:= ? ifpresent;
12107 <RESULT IF_PASS NEGATIVE>
12114 .*---------------------------------------------------------------------*
12115 :h4.Allowed matching mechanisms - template ifpresent (record of in def.part)
12116 .*---------------------------------------------------------------------*
12119 <TC - Allowed matching mechanisms - template ifpresent (record of in def.part)>
12122 <VERDICT_LEAF PASS>
12123 <MODULE TTCN x x.ttcn>
12126 type record of integer rofT;
12128 template rofT f:= ? ifpresent;
12132 <RESULT IF_PASS NEGATIVE>
12139 .*---------------------------------------------------------------------*
12140 :h4.Allowed matching mechanisms - template ifpresent (record of in control part)
12141 .*---------------------------------------------------------------------*
12144 <TC - Allowed matching mechanisms - template ifpresent (record of in control part)>
12147 <VERDICT_LEAF PASS>
12148 <MODULE TTCN x x.ttcn>
12151 type record of integer rofT;
12154 var template rofT f:= ? ifpresent;
12159 <RESULT IF_PASS NEGATIVE>
12166 .*---------------------------------------------------------------------*
12167 :h4.Allowed matching mechanisms - template ifpresent (record of in function)
12168 .*---------------------------------------------------------------------*
12171 <TC - Allowed matching mechanisms - template ifpresent (record of in function)>
12174 <VERDICT_LEAF PASS>
12175 <MODULE TTCN x x.ttcn>
12178 type record of integer rofT;
12180 function myFunct(){
12181 var template rofT f:= ? ifpresent;
12186 <RESULT IF_PASS NEGATIVE>
12193 .*---------------------------------------------------------------------*
12194 :h4.Allowed matching mechanisms - template ifpresent (set of in def.part)
12195 .*---------------------------------------------------------------------*
12198 <TC - Allowed matching mechanisms - template ifpresent (set of in def.part)>
12201 <VERDICT_LEAF PASS>
12202 <MODULE TTCN x x.ttcn>
12205 type set of integer sofT;
12207 template sofT f:= ? ifpresent;
12211 <RESULT IF_PASS NEGATIVE>
12218 .*---------------------------------------------------------------------*
12219 :h4.Allowed matching mechanisms - template ifpresent (set of in control part)
12220 .*---------------------------------------------------------------------*
12223 <TC - Allowed matching mechanisms - template ifpresent (set of in control part)>
12226 <VERDICT_LEAF PASS>
12227 <MODULE TTCN x x.ttcn>
12230 type set of integer sofT;
12233 var template sofT f:= ? ifpresent;
12238 <RESULT IF_PASS NEGATIVE>
12245 .*---------------------------------------------------------------------*
12246 :h4.Allowed matching mechanisms - template ifpresent (set of in function)
12247 .*---------------------------------------------------------------------*
12250 <TC - Allowed matching mechanisms - template ifpresent (set of in function)>
12253 <VERDICT_LEAF PASS>
12254 <MODULE TTCN x x.ttcn>
12257 type set of integer sofT;
12259 function myFunct(){
12260 var template sofT f:= ? ifpresent;
12265 <RESULT IF_PASS NEGATIVE>
12272 .*---------------------------------------------------------------------*
12273 :h4.Allowed matching mechanisms - template ifpresent (enumerated in def.part)
12274 .*---------------------------------------------------------------------*
12277 <TC - Allowed matching mechanisms - template ifpresent (enumerated in def.part)>
12280 <VERDICT_LEAF PASS>
12281 <MODULE TTCN x x.ttcn>
12284 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12286 template enumT f:= ? ifpresent;
12290 <RESULT IF_PASS NEGATIVE>
12297 .*---------------------------------------------------------------------*
12298 :h4.Allowed matching mechanisms - template ifpresent (enumerated in control part)
12299 .*---------------------------------------------------------------------*
12302 <TC - Allowed matching mechanisms - template ifpresent (enumerated in control part)>
12305 <VERDICT_LEAF PASS>
12306 <MODULE TTCN x x.ttcn>
12309 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12312 var template enumT f:= ? ifpresent;
12317 <RESULT IF_PASS NEGATIVE>
12324 .*---------------------------------------------------------------------*
12325 :h4.Allowed matching mechanisms - template ifpresent (enumerated in function)
12326 .*---------------------------------------------------------------------*
12329 <TC - Allowed matching mechanisms - template ifpresent (enumerated in function)>
12332 <VERDICT_LEAF PASS>
12333 <MODULE TTCN x x.ttcn>
12336 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12338 function myFunct(){
12339 var template enumT f:= ? ifpresent;
12344 <RESULT IF_PASS NEGATIVE>
12351 .*---------------------------------------------------------------------*
12352 :h4.Allowed matching mechanisms - template ifpresent (union in def.part)
12353 .*---------------------------------------------------------------------*
12356 <TC - Allowed matching mechanisms - template ifpresent (union in def.part)>
12359 <VERDICT_LEAF PASS>
12360 <MODULE TTCN x x.ttcn>
12369 template uniT f:= ? ifpresent;
12373 <RESULT IF_PASS NEGATIVE>
12380 .*---------------------------------------------------------------------*
12381 :h4.Allowed matching mechanisms - template ifpresent (union in control part)
12382 .*---------------------------------------------------------------------*
12385 <TC - Allowed matching mechanisms - template ifpresent (union in control part)>
12388 <VERDICT_LEAF PASS>
12389 <MODULE TTCN x x.ttcn>
12399 var template uniT f:= ? ifpresent;
12404 <RESULT IF_PASS NEGATIVE>
12411 .*---------------------------------------------------------------------*
12412 :h4.Allowed matching mechanisms - template ifpresent (union in function)
12413 .*---------------------------------------------------------------------*
12416 <TC - Allowed matching mechanisms - template ifpresent (union in function)>
12419 <VERDICT_LEAF PASS>
12420 <MODULE TTCN x x.ttcn>
12429 function myFunct(){
12430 var template uniT f:= ? ifpresent;
12435 <RESULT IF_PASS NEGATIVE>
12442 .*---------------------------------------------------------------------*
12443 :h4.Allowed matching mechanisms - template ifpresent (array in def.part)
12444 .*---------------------------------------------------------------------*
12447 <TC - Allowed matching mechanisms - template ifpresent (array in def.part)>
12450 <VERDICT_LEAF PASS>
12451 <MODULE TTCN x x.ttcn>
12454 type integer arrint[1];
12456 template arrint f:= ? ifpresent;
12460 <RESULT IF_PASS NEGATIVE>
12467 .*---------------------------------------------------------------------*
12468 :h4.Allowed matching mechanisms - template ifpresent (array in control part)
12469 .*---------------------------------------------------------------------*
12472 <TC - Allowed matching mechanisms - template ifpresent (array in control part)>
12475 <VERDICT_LEAF PASS>
12476 <MODULE TTCN x x.ttcn>
12479 type integer arrint[1];
12482 template arrint f:= ? ifpresent;
12487 <RESULT IF_PASS NEGATIVE>
12494 .*---------------------------------------------------------------------*
12495 :h4.Allowed matching mechanisms - template ifpresent (array in function)
12496 .*---------------------------------------------------------------------*
12499 <TC - Allowed matching mechanisms - template ifpresent (array in function)>
12502 <VERDICT_LEAF PASS>
12503 <MODULE TTCN x x.ttcn>
12506 type integer arrint[1];
12508 function myFunct(){
12509 template arrint f:= ? ifpresent;
12514 <RESULT IF_PASS NEGATIVE>
12521 .*---------------------------------------------------------------------*
12522 :h4.Allowed matching mechanisms - inline-template range (boolean in function)
12523 .*---------------------------------------------------------------------*
12526 <TC - Allowed matching mechanisms - inline-template range (boolean in function)>
12529 <VERDICT_LEAF PASS>
12530 <MODULE TTCN x x.ttcn>
12533 type port portT message {
12535 } with {extension "internal"}
12541 function myFunct() runs on c {
12543 const boolean c1:= false;
12544 const boolean c2:= true;
12547 [] myPort.receive( (c1..c2) )
12554 <RESULT IF_PASS COUNT 1>
12555 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12557 <RESULT IF_PASS COUNT 1>
12563 .*---------------------------------------------------------------------*
12564 :h4.Allowed matching mechanisms - inline-template range (bitstring in function)
12565 .*---------------------------------------------------------------------*
12568 <TC - Allowed matching mechanisms - inline-template range (bitstring in function)>
12571 <VERDICT_LEAF PASS>
12572 <MODULE TTCN x x.ttcn>
12575 type port portT message {
12577 } with {extension "internal"}
12583 function myFunct() runs on c {
12585 const bitstring c1:= '000'B;
12586 const bitstring c2:= '111'B;
12589 [] myPort.receive( (c1..c2) )
12596 <RESULT IF_PASS COUNT 1>
12597 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12599 <RESULT IF_PASS COUNT 1>
12606 .*---------------------------------------------------------------------*
12607 :h4.Allowed matching mechanisms - inline-template range (octetstring in function)
12608 .*---------------------------------------------------------------------*
12611 <TC - Allowed matching mechanisms - inline-template range (octetstring in function)>
12614 <VERDICT_LEAF PASS>
12615 <MODULE TTCN x x.ttcn>
12618 type port portT message {
12620 } with {extension "internal"}
12626 function myFunct() runs on c {
12628 const octetstring c1:= '0000'O;
12629 const octetstring c2:= '1111'O;
12632 [] myPort.receive( (c1..c2) )
12639 <RESULT IF_PASS COUNT 1>
12640 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12642 <RESULT IF_PASS COUNT 1>
12649 .*---------------------------------------------------------------------*
12650 :h4.Allowed matching mechanisms - inline-template range (hexstring in function)
12651 .*---------------------------------------------------------------------*
12654 <TC - Allowed matching mechanisms - inline-template range (hexstring in function)>
12657 <VERDICT_LEAF PASS>
12658 <MODULE TTCN x x.ttcn>
12661 type port portT message {
12663 } with {extension "internal"}
12669 function myFunct() runs on c {
12671 const hexstring c1:= '0000'H;
12672 const hexstring c2:= '1111'H;
12675 [] myPort.receive( (c1..c2) )
12682 <RESULT IF_PASS COUNT 1>
12683 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12685 <RESULT IF_PASS COUNT 1>
12692 .*---------------------------------------------------------------------*
12693 :h4.Allowed matching mechanisms - inline-template range (record in function)
12694 .*---------------------------------------------------------------------*
12697 <TC - Allowed matching mechanisms - inline-template range (record in function)>
12700 <VERDICT_LEAF PASS>
12701 <MODULE TTCN x x.ttcn>
12710 type port portT message {
12712 } with {extension "internal"}
12718 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
12719 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
12721 function myFunct() runs on c {
12724 [] myPort.receive( (c1..c2) )
12731 <RESULT IF_PASS COUNT 1>
12732 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12734 <RESULT IF_PASS COUNT 1>
12741 .*---------------------------------------------------------------------*
12742 :h4.Allowed matching mechanisms - inline-template range (record of in function)
12743 .*---------------------------------------------------------------------*
12746 <TC - Allowed matching mechanisms - inline-template range (record of in function)>
12749 <VERDICT_LEAF PASS>
12750 <MODULE TTCN x x.ttcn>
12753 type record of integer rofT;
12755 const rofT c1:= { 1, 2, 3 };
12756 const rofT c2:= { 4, 5, 6 };
12758 type port portT message {
12760 } with {extension "internal"}
12766 function myFunct() runs on c {
12769 [] myPort.receive( (c1..c2) )
12776 <RESULT IF_PASS COUNT 1>
12777 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12779 <RESULT IF_PASS COUNT 1>
12786 .*---------------------------------------------------------------------*
12787 :h4.Allowed matching mechanisms - inline-template range (set in function)
12788 .*---------------------------------------------------------------------*
12791 <TC - Allowed matching mechanisms - inline-template range (set in function)>
12794 <VERDICT_LEAF PASS>
12795 <MODULE TTCN x x.ttcn>
12804 type port portT message {
12806 } with {extension "internal"}
12812 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
12813 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
12815 function myFunct() runs on c {
12818 [] myPort.receive( (c1..c2) )
12825 <RESULT IF_PASS COUNT 1>
12826 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12828 <RESULT IF_PASS COUNT 1>
12835 .*---------------------------------------------------------------------*
12836 :h4.Allowed matching mechanisms - inline-template range (set of in function)
12837 .*---------------------------------------------------------------------*
12840 <TC - Allowed matching mechanisms - inline-template range (set of in function)>
12843 <VERDICT_LEAF PASS>
12844 <MODULE TTCN x x.ttcn>
12847 type set of integer sofT;
12849 const sofT c1:= { 1, 2, 3 };
12850 const sofT c2:= { 4, 5, 6 };
12852 type port portT message {
12854 } with {extension "internal"}
12860 function myFunct() runs on c {
12863 [] myPort.receive( (c1..c2) )
12870 <RESULT IF_PASS COUNT 1>
12871 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12873 <RESULT IF_PASS COUNT 1>
12880 .*---------------------------------------------------------------------*
12881 :h4.Allowed matching mechanisms - inline-template range (enumerated in function)
12882 .*---------------------------------------------------------------------*
12885 <TC - Allowed matching mechanisms - inline-template range (enumerated in function)>
12888 <VERDICT_LEAF PASS>
12889 <MODULE TTCN x x.ttcn>
12892 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
12894 const enumT c1:= ONE;
12895 const enumT c2:= TWO;
12897 type port portT message {
12899 } with {extension "internal"}
12905 function myFunct() runs on c {
12908 [] myPort.receive( (c1..c2) )
12915 <RESULT IF_PASS COUNT 1>
12916 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12918 <RESULT IF_PASS COUNT 1>
12925 .*---------------------------------------------------------------------*
12926 :h4.Allowed matching mechanisms - inline-template range (union in function)
12927 .*---------------------------------------------------------------------*
12930 <TC - Allowed matching mechanisms - inline-template range (union in function)>
12933 <VERDICT_LEAF PASS>
12934 <MODULE TTCN x x.ttcn>
12943 const uniT c1:= { f1:= 1 };
12944 const uniT c2:= { f1:= 5 };
12946 type port portT message {
12948 } with {extension "internal"}
12954 function myFunct() runs on c {
12957 [] myPort.receive( (c1..c2) )
12964 <RESULT IF_PASS COUNT 1>
12965 (?im)error.+?value.+?range.+?match.+?cannot.+?used
12967 <RESULT IF_PASS COUNT 1>
12974 .*---------------------------------------------------------------------*
12975 :h4.Allowed matching mechanisms - inline-template range (array in function)
12976 .*---------------------------------------------------------------------*
12979 <TC - Allowed matching mechanisms - inline-template range (array in function)>
12982 <VERDICT_LEAF PASS>
12983 <MODULE TTCN x x.ttcn>
12986 type integer arrint[1];
12988 const arrint c1:= { 1 };
12989 const arrint c2:= { 5 };
12991 type port portT message {
12993 } with {extension "internal"}
12999 function myFunct() runs on c {
13002 [] myPort.receive( (c1..c2) )
13009 <RESULT IF_PASS COUNT 1>
13010 (?im)error.+?value.+?range.+?match.+?cannot.+?used
13012 <RESULT IF_PASS COUNT 1>
13020 .*---------------------------------------------------------------------*
13021 :h4.Allowed matching mechanisms - inline-template superset (boolean in function)
13022 .*---------------------------------------------------------------------*
13025 <TC - Allowed matching mechanisms - inline-template superset (boolean in function)>
13028 <VERDICT_LEAF PASS>
13029 <MODULE TTCN x x.ttcn>
13032 const boolean c1:= false;
13033 const boolean c2:= true;
13035 type port portT message {
13037 } with {extension "internal"}
13043 function myFunct() runs on c {
13046 [] myPort.receive( superset(c1,c2) )
13053 <RESULT IF_PASS COUNT 1>
13054 (?im)error.+?superset.+?match.+?cannot.+?used
13056 <RESULT IF_PASS COUNT 1>
13063 .*---------------------------------------------------------------------*
13064 :h4.Allowed matching mechanisms - inline-template superset (integer in function)
13065 .*---------------------------------------------------------------------*
13068 <TC - Allowed matching mechanisms - inline-template superset (integer in function)>
13071 <VERDICT_LEAF PASS>
13072 <MODULE TTCN x x.ttcn>
13075 const integer c1:= 1;
13076 const integer c2:= 5;
13078 type port portT message {
13080 } with {extension "internal"}
13086 function myFunct() runs on c {
13089 [] myPort.receive( superset(c1,c2) )
13096 <RESULT IF_PASS COUNT 1>
13097 (?im)error.+?superset.+?match.+?cannot.+?used
13099 <RESULT IF_PASS COUNT 1>
13106 .*---------------------------------------------------------------------*
13107 :h4.Allowed matching mechanisms - inline-template superset (float in function)
13108 .*---------------------------------------------------------------------*
13111 <TC - Allowed matching mechanisms - inline-template superset (float in function)>
13114 <VERDICT_LEAF PASS>
13115 <MODULE TTCN x x.ttcn>
13118 const float c1:= 1.0;
13119 const float c2:= 5.0;
13121 type port portT message {
13123 } with {extension "internal"}
13129 function myFunct() runs on c {
13132 [] myPort.receive( superset(c1,c2) )
13139 <RESULT IF_PASS COUNT 1>
13140 (?im)error.+?superset.+?match.+?cannot.+?used
13142 <RESULT IF_PASS COUNT 1>
13149 .*---------------------------------------------------------------------*
13150 :h4.Allowed matching mechanisms - inline-template superset (bitstring in function)
13151 .*---------------------------------------------------------------------*
13154 <TC - Allowed matching mechanisms - inline-template superset (bitstring in function)>
13157 <VERDICT_LEAF PASS>
13158 <MODULE TTCN x x.ttcn>
13161 const bitstring c1:= '0000'B;
13162 const bitstring c2:= '1111'B;
13164 type port portT message {
13166 } with {extension "internal"}
13172 function myFunct() runs on c {
13175 [] myPort.receive( superset(c1,c2) )
13182 <RESULT IF_PASS COUNT 1>
13183 (?im)error.+?superset.+?match.+?cannot.+?used
13185 <RESULT IF_PASS COUNT 1>
13192 .*---------------------------------------------------------------------*
13193 :h4.Allowed matching mechanisms - inline-template superset (octetstring in function)
13194 .*---------------------------------------------------------------------*
13197 <TC - Allowed matching mechanisms - inline-template superset (octetstring in function)>
13200 <VERDICT_LEAF PASS>
13201 <MODULE TTCN x x.ttcn>
13204 const octetstring c1:= '0000'O;
13205 const octetstring c2:= '1111'O;
13207 type port portT message {
13209 } with {extension "internal"}
13215 function myFunct() runs on c {
13218 [] myPort.receive( superset(c1,c2) )
13225 <RESULT IF_PASS COUNT 1>
13226 (?im)error.+?superset.+?match.+?cannot.+?used
13228 <RESULT IF_PASS COUNT 1>
13235 .*---------------------------------------------------------------------*
13236 :h4.Allowed matching mechanisms - inline-template superset (hexstring in function)
13237 .*---------------------------------------------------------------------*
13240 <TC - Allowed matching mechanisms - inline-template superset (hexstring in function)>
13243 <VERDICT_LEAF PASS>
13244 <MODULE TTCN x x.ttcn>
13247 const hexstring c1:= '0000'H;
13248 const hexstring c2:= '1111'H;
13250 type port portT message {
13252 } with {extension "internal"}
13258 function myFunct() runs on c {
13261 [] myPort.receive( superset(c1,c2) )
13268 <RESULT IF_PASS COUNT 1>
13269 (?im)error.+?superset.+?match.+?cannot.+?used
13271 <RESULT IF_PASS COUNT 1>
13278 .*---------------------------------------------------------------------*
13279 :h4.Allowed matching mechanisms - inline-template superset (charstring in function)
13280 .*---------------------------------------------------------------------*
13283 <TC - Allowed matching mechanisms - inline-template superset (charstring in function)>
13286 <VERDICT_LEAF PASS>
13287 <MODULE TTCN x x.ttcn>
13290 const charstring c1:= "a";
13291 const charstring c2:= "z";
13293 type port portT message {
13295 } with {extension "internal"}
13301 function myFunct() runs on c {
13304 [] myPort.receive( superset(c1,c2) )
13311 <RESULT IF_PASS COUNT 1>
13312 (?im)error.+?superset.+?match.+?cannot.+?used
13314 <RESULT IF_PASS COUNT 1>
13321 .*---------------------------------------------------------------------*
13322 :h4.Allowed matching mechanisms - inline-template superset (record in function)
13323 .*---------------------------------------------------------------------*
13326 <TC - Allowed matching mechanisms - inline-template superset (record in function)>
13329 <VERDICT_LEAF PASS>
13330 <MODULE TTCN x x.ttcn>
13339 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
13340 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
13342 type port portT message {
13344 } with {extension "internal"}
13350 function myFunct() runs on c {
13353 [] myPort.receive( superset(c1,c2) )
13360 <RESULT IF_PASS COUNT 1>
13361 (?im)error.+?superset.+?match.+?cannot.+?used
13363 <RESULT IF_PASS COUNT 1>
13370 .*---------------------------------------------------------------------*
13371 :h4.Allowed matching mechanisms - inline-template superset (record of in function)
13372 .*---------------------------------------------------------------------*
13375 <TC - Allowed matching mechanisms - inline-template superset (record of in function)>
13378 <VERDICT_LEAF PASS>
13379 <MODULE TTCN x x.ttcn>
13382 type record of integer rofT;
13384 const rofT c1:= { 1, 2, 3 };
13385 const rofT c2:= { 4, 5, 6 };
13387 type port portT message {
13389 } with {extension "internal"}
13395 function myFunct() runs on c {
13398 [] myPort.receive( superset(c1,c2) )
13405 <RESULT IF_PASS COUNT 1>
13406 (?im)error.+?superset.+?match.+?cannot.+?used
13408 <RESULT IF_PASS COUNT 1>
13415 .*---------------------------------------------------------------------*
13416 :h4.Allowed matching mechanisms - inline-template superset (set in function)
13417 .*---------------------------------------------------------------------*
13420 <TC - Allowed matching mechanisms - inline-template superset (set in function)>
13423 <VERDICT_LEAF PASS>
13424 <MODULE TTCN x x.ttcn>
13433 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
13434 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
13436 type port portT message {
13438 } with {extension "internal"}
13444 function myFunct() runs on c {
13447 [] myPort.receive( superset(c1,c2) )
13454 <RESULT IF_PASS COUNT 1>
13455 (?im)error.+?superset.+?match.+?cannot.+?used
13457 <RESULT IF_PASS COUNT 1>
13464 .*---------------------------------------------------------------------*
13465 :h4.Allowed matching mechanisms - inline-template superset (enumerated in function)
13466 .*---------------------------------------------------------------------*
13469 <TC - Allowed matching mechanisms - inline-template superset (enumerated in function)>
13472 <VERDICT_LEAF PASS>
13473 <MODULE TTCN x x.ttcn>
13476 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
13478 const enumT c1:= ONE;
13479 const enumT c2:= TWO;
13481 type port portT message {
13483 } with {extension "internal"}
13489 function myFunct() runs on c {
13492 [] myPort.receive( superset(c1,c2) )
13499 <RESULT IF_PASS COUNT 1>
13500 (?im)error.+?superset.+?match.+?cannot.+?used
13502 <RESULT IF_PASS COUNT 1>
13509 .*---------------------------------------------------------------------*
13510 :h4.Allowed matching mechanisms - inline-template superset (union in function)
13511 .*---------------------------------------------------------------------*
13514 <TC - Allowed matching mechanisms - inline-template superset (union in function)>
13517 <VERDICT_LEAF PASS>
13518 <MODULE TTCN x x.ttcn>
13527 const uniT c1:= { f3:= "a"};
13528 const uniT c2:= { f3:= "z"};
13530 type port portT message {
13532 } with {extension "internal"}
13538 function myFunct() runs on c {
13541 [] myPort.receive( superset(c1,c2) )
13548 <RESULT IF_PASS COUNT 1>
13549 (?im)error.+?superset.+?match.+?cannot.+?used
13551 <RESULT IF_PASS COUNT 1>
13558 .*---------------------------------------------------------------------*
13559 :h4.Allowed matching mechanisms - inline-template superset (array in function)
13560 .*---------------------------------------------------------------------*
13563 <TC - Allowed matching mechanisms - inline-template superset (array in function)>
13566 <VERDICT_LEAF PASS>
13567 <MODULE TTCN x x.ttcn>
13570 type integer arrint[1];
13572 const arrint c1:= { 1 };
13573 const arrint c2:= { 5 };
13575 type port portT message {
13577 } with {extension "internal"}
13583 function myFunct() runs on c {
13586 [] myPort.receive( superset(c1,c2) )
13593 <RESULT IF_PASS COUNT 1>
13594 (?im)error.+?superset.+?match.+?cannot.+?used
13596 <RESULT IF_PASS COUNT 1>
13603 .*---------------------------------------------------------------------*
13604 :h4.Allowed matching mechanisms - inline-template subset (boolean in function)
13605 .*---------------------------------------------------------------------*
13608 <TC - Allowed matching mechanisms - inline-template subset (boolean in function)>
13611 <VERDICT_LEAF PASS>
13612 <MODULE TTCN x x.ttcn>
13615 const boolean c1:= false;
13616 const boolean c2:= true;
13618 type port portT message {
13620 } with {extension "internal"}
13626 function myFunct() runs on c {
13629 [] myPort.receive( subset(c1,c2) )
13636 <RESULT IF_PASS COUNT 1>
13637 (?im)error.+?subset.+?match.+?cannot.+?used
13639 <RESULT IF_PASS COUNT 1>
13646 .*---------------------------------------------------------------------*
13647 :h4.Allowed matching mechanisms - inline-template subset (integer in function)
13648 .*---------------------------------------------------------------------*
13651 <TC - Allowed matching mechanisms - inline-template subset (integer in function)>
13654 <VERDICT_LEAF PASS>
13655 <MODULE TTCN x x.ttcn>
13658 const integer c1:= 1;
13659 const integer c2:= 5;
13661 type port portT message {
13663 } with {extension "internal"}
13669 function myFunct() runs on c {
13672 [] myPort.receive( subset(c1,c2) )
13679 <RESULT IF_PASS COUNT 1>
13680 (?im)error.+?subset.+?match.+?cannot.+?used
13682 <RESULT IF_PASS COUNT 1>
13689 .*---------------------------------------------------------------------*
13690 :h4.Allowed matching mechanisms - inline-template subset (float in function)
13691 .*---------------------------------------------------------------------*
13694 <TC - Allowed matching mechanisms - inline-template subset (float in function)>
13697 <VERDICT_LEAF PASS>
13698 <MODULE TTCN x x.ttcn>
13701 const float c1:= 1.0;
13702 const float c2:= 5.0;
13704 type port portT message {
13706 } with {extension "internal"}
13712 function myFunct() runs on c {
13715 [] myPort.receive( subset(c1,c2) )
13722 <RESULT IF_PASS COUNT 1>
13723 (?im)error.+?subset.+?match.+?cannot.+?used
13725 <RESULT IF_PASS COUNT 1>
13732 .*---------------------------------------------------------------------*
13733 :h4.Allowed matching mechanisms - inline-template subset (bitstring in function)
13734 .*---------------------------------------------------------------------*
13737 <TC - Allowed matching mechanisms - inline-template subset (bitstring in function)>
13740 <VERDICT_LEAF PASS>
13741 <MODULE TTCN x x.ttcn>
13744 const bitstring c1:= '0000'B;
13745 const bitstring c2:= '1111'B;
13747 type port portT message {
13749 } with {extension "internal"}
13755 function myFunct() runs on c {
13758 [] myPort.receive( subset(c1,c2) )
13765 <RESULT IF_PASS COUNT 1>
13766 (?im)error.+?subset.+?match.+?cannot.+?used
13768 <RESULT IF_PASS COUNT 1>
13775 .*---------------------------------------------------------------------*
13776 :h4.Allowed matching mechanisms - inline-template subset (octetstring in function)
13777 .*---------------------------------------------------------------------*
13780 <TC - Allowed matching mechanisms - inline-template subset (octetstring in function)>
13783 <VERDICT_LEAF PASS>
13784 <MODULE TTCN x x.ttcn>
13787 const octetstring c1:= '0000'O;
13788 const octetstring c2:= '1111'O;
13790 type port portT message {
13792 } with {extension "internal"}
13798 function myFunct() runs on c {
13801 [] myPort.receive( subset(c1,c2) )
13808 <RESULT IF_PASS COUNT 1>
13809 (?im)error.+?subset.+?match.+?cannot.+?used
13811 <RESULT IF_PASS COUNT 1>
13818 .*---------------------------------------------------------------------*
13819 :h4.Allowed matching mechanisms - inline-template subset (hexstring in function)
13820 .*---------------------------------------------------------------------*
13823 <TC - Allowed matching mechanisms - inline-template subset (hexstring in function)>
13826 <VERDICT_LEAF PASS>
13827 <MODULE TTCN x x.ttcn>
13830 const hexstring c1:= '0000'H;
13831 const hexstring c2:= '1111'H;
13833 type port portT message {
13835 } with {extension "internal"}
13841 function myFunct() runs on c {
13844 [] myPort.receive( subset(c1,c2) )
13851 <RESULT IF_PASS COUNT 1>
13852 (?im)error.+?subset.+?match.+?cannot.+?used
13854 <RESULT IF_PASS COUNT 1>
13861 .*---------------------------------------------------------------------*
13862 :h4.Allowed matching mechanisms - inline-template subset (charstring in function)
13863 .*---------------------------------------------------------------------*
13866 <TC - Allowed matching mechanisms - inline-template subset (charstring in function)>
13869 <VERDICT_LEAF PASS>
13870 <MODULE TTCN x x.ttcn>
13873 const charstring c1:= "a";
13874 const charstring c2:= "z";
13876 type port portT message {
13878 } with {extension "internal"}
13884 function myFunct() runs on c {
13887 [] myPort.receive( subset(c1,c2) )
13894 <RESULT IF_PASS COUNT 1>
13895 (?im)error.+?subset.+?match.+?cannot.+?used
13897 <RESULT IF_PASS COUNT 1>
13904 .*---------------------------------------------------------------------*
13905 :h4.Allowed matching mechanisms - inline-template subset (record in function)
13906 .*---------------------------------------------------------------------*
13909 <TC - Allowed matching mechanisms - inline-template subset (record in function)>
13912 <VERDICT_LEAF PASS>
13913 <MODULE TTCN x x.ttcn>
13922 const recT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
13923 const recT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
13925 type port portT message {
13927 } with {extension "internal"}
13933 function myFunct() runs on c {
13936 [] myPort.receive( subset(c1,c2) )
13943 <RESULT IF_PASS COUNT 1>
13944 (?im)error.+?subset.+?match.+?cannot.+?used
13946 <RESULT IF_PASS COUNT 1>
13953 .*---------------------------------------------------------------------*
13954 :h4.Allowed matching mechanisms - inline-template subset (record of in function)
13955 .*---------------------------------------------------------------------*
13958 <TC - Allowed matching mechanisms - inline-template subset (record of in function)>
13961 <VERDICT_LEAF PASS>
13962 <MODULE TTCN x x.ttcn>
13965 type record of integer rofT;
13967 const rofT c1:= { 1, 2, 3 };
13968 const rofT c2:= { 4, 5, 6 };
13970 type port portT message {
13972 } with {extension "internal"}
13978 function myFunct() runs on c {
13981 [] myPort.receive( subset(c1,c2) )
13988 <RESULT IF_PASS COUNT 1>
13989 (?im)error.+?subset.+?match.+?cannot.+?used
13991 <RESULT IF_PASS COUNT 1>
13998 .*---------------------------------------------------------------------*
13999 :h4.Allowed matching mechanisms - inline-template subset (set in function)
14000 .*---------------------------------------------------------------------*
14003 <TC - Allowed matching mechanisms - inline-template subset (set in function)>
14006 <VERDICT_LEAF PASS>
14007 <MODULE TTCN x x.ttcn>
14016 const setT c1:= { f1:= 1, f2:= 2.0, f3:= "a"};
14017 const setT c2:= { f1:= 5, f2:= 7.0, f3:= "z"};
14019 type port portT message {
14021 } with {extension "internal"}
14027 function myFunct() runs on c {
14030 [] myPort.receive( subset(c1,c2) )
14037 <RESULT IF_PASS COUNT 1>
14038 (?im)error.+?subset.+?match.+?cannot.+?used
14040 <RESULT IF_PASS COUNT 1>
14047 .*---------------------------------------------------------------------*
14048 :h4.Allowed matching mechanisms - inline-template subset (enumerated in function)
14049 .*---------------------------------------------------------------------*
14052 <TC - Allowed matching mechanisms - inline-template subset (enumerated in function)>
14055 <VERDICT_LEAF PASS>
14056 <MODULE TTCN x x.ttcn>
14059 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
14061 const enumT c1:= ONE;
14062 const enumT c2:= TWO;
14064 type port portT message {
14066 } with {extension "internal"}
14072 function myFunct() runs on c {
14075 [] myPort.receive( subset(c1,c2) )
14082 <RESULT IF_PASS COUNT 1>
14083 (?im)error.+?subset.+?match.+?cannot.+?used
14085 <RESULT IF_PASS COUNT 1>
14092 .*---------------------------------------------------------------------*
14093 :h4.Allowed matching mechanisms - inline-template subset (union in function)
14094 .*---------------------------------------------------------------------*
14097 <TC - Allowed matching mechanisms - inline-template subset (union in function)>
14100 <VERDICT_LEAF PASS>
14101 <MODULE TTCN x x.ttcn>
14110 const uniT c1:= { f3:= "a"};
14111 const uniT c2:= { f3:= "z"};
14113 type port portT message {
14115 } with {extension "internal"}
14121 function myFunct() runs on c {
14124 [] myPort.receive( subset(c1,c2) )
14131 <RESULT IF_PASS COUNT 1>
14132 (?im)error.+?subset.+?match.+?cannot.+?used
14134 <RESULT IF_PASS COUNT 1>
14141 .*---------------------------------------------------------------------*
14142 :h4.Allowed matching mechanisms - inline-template subset (array in function)
14143 .*---------------------------------------------------------------------*
14146 <TC - Allowed matching mechanisms - inline-template subset (array in function)>
14149 <VERDICT_LEAF PASS>
14150 <MODULE TTCN x x.ttcn>
14153 type integer arrint[1];
14155 const arrint c1:= { 1 };
14156 const arrint c2:= { 5 };
14158 type port portT message {
14160 } with {extension "internal"}
14166 function myFunct() runs on c {
14169 [] myPort.receive( subset(c1,c2) )
14176 <RESULT IF_PASS COUNT 1>
14177 (?im)error.+?subset.+?match.+?cannot.+?used
14179 <RESULT IF_PASS COUNT 1>
14186 .*---------------------------------------------------------------------*
14187 :h4.Allowed matching mechanisms - inline-template length-restriction (boolean in function)
14188 .*---------------------------------------------------------------------*
14191 <TC - Allowed matching mechanisms - inline-template length-restriction (boolean in function)>
14194 <VERDICT_LEAF PASS>
14195 <MODULE TTCN x x.ttcn>
14198 type port portT message {
14200 } with {extension "internal"}
14206 function myFunct() runs on c {
14209 [] myPort.receive( ? length(1) )
14216 <RESULT IF_PASS COUNT 1>
14217 (?im)error.+?Length.+?restriction.+?cannot.+?used
14219 <RESULT IF_PASS COUNT 1>
14226 .*---------------------------------------------------------------------*
14227 :h4.Allowed matching mechanisms - inline-template length-restriction (integer in function)
14228 .*---------------------------------------------------------------------*
14231 <TC - Allowed matching mechanisms - inline-template length-restriction (integer in function)>
14234 <VERDICT_LEAF PASS>
14235 <MODULE TTCN x x.ttcn>
14238 type port portT message {
14240 } with {extension "internal"}
14246 function myFunct() runs on c {
14249 [] myPort.receive( ? length(1) )
14256 <RESULT IF_PASS COUNT 1>
14257 (?im)error.+?Length.+?restriction.+?cannot.+?used
14259 <RESULT IF_PASS COUNT 1>
14266 .*---------------------------------------------------------------------*
14267 :h4.Allowed matching mechanisms - inline-template length-restriction (float in function)
14268 .*---------------------------------------------------------------------*
14271 <TC - Allowed matching mechanisms - inline-template length-restriction (float in function)>
14274 <VERDICT_LEAF PASS>
14275 <MODULE TTCN x x.ttcn>
14278 type port portT message {
14280 } with {extension "internal"}
14286 function myFunct() runs on c {
14289 [] myPort.receive( ? length(1) )
14296 <RESULT IF_PASS COUNT 1>
14297 (?im)error.+?Length.+?restriction.+?cannot.+?used
14299 <RESULT IF_PASS COUNT 1>
14306 .*---------------------------------------------------------------------*
14307 :h4.Allowed matching mechanisms - inline-template length-restriction (record in function)
14308 .*---------------------------------------------------------------------*
14311 <TC - Allowed matching mechanisms - inline-template length-restriction (record in function)>
14314 <VERDICT_LEAF PASS>
14315 <MODULE TTCN x x.ttcn>
14324 type port portT message {
14326 } with {extension "internal"}
14332 function myFunct() runs on c {
14335 [] myPort.receive( ? length(1) )
14342 <RESULT IF_PASS COUNT 1>
14343 (?im)error.+?Length.+?restriction.+?cannot.+?used
14345 <RESULT IF_PASS COUNT 1>
14352 .*---------------------------------------------------------------------*
14353 :h4.Allowed matching mechanisms - inline-template length-restriction (set in function)
14354 .*---------------------------------------------------------------------*
14357 <TC - Allowed matching mechanisms - inline-template length-restriction (set in function)>
14360 <VERDICT_LEAF PASS>
14361 <MODULE TTCN x x.ttcn>
14370 type port portT message {
14372 } with {extension "internal"}
14378 function myFunct() runs on c {
14381 [] myPort.receive( ? length(1) )
14388 <RESULT IF_PASS COUNT 1>
14389 (?im)error.+?Length.+?restriction.+?cannot.+?used
14391 <RESULT IF_PASS COUNT 1>
14398 .*---------------------------------------------------------------------*
14399 :h4.Allowed matching mechanisms - inline-template length-restriction (enumerated in function)
14400 .*---------------------------------------------------------------------*
14403 <TC - Allowed matching mechanisms - inline-template length-restriction (enumerated in function)>
14406 <VERDICT_LEAF PASS>
14407 <MODULE TTCN x x.ttcn>
14410 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
14412 type port portT message {
14414 } with {extension "internal"}
14420 function myFunct() runs on c {
14423 [] myPort.receive( ? length(1) )
14430 <RESULT IF_PASS COUNT 1>
14431 (?im)error.+?Length.+?restriction.+?cannot.+?used
14433 <RESULT IF_PASS COUNT 1>
14440 .*---------------------------------------------------------------------*
14441 :h4.Allowed matching mechanisms - inline-template length-restriction (union in function)
14442 .*---------------------------------------------------------------------*
14445 <TC - Allowed matching mechanisms - inline-template length-restriction (union in function)>
14448 <VERDICT_LEAF PASS>
14449 <MODULE TTCN x x.ttcn>
14458 type port portT message {
14460 } with {extension "internal"}
14466 function myFunct() runs on c {
14469 [] myPort.receive( ? length(1) )
14476 <RESULT IF_PASS COUNT 1>
14477 (?im)error.+?Length.+?restriction.+?cannot.+?used
14479 <RESULT IF_PASS COUNT 1>
14486 .*---------------------------------------------------------------------*
14487 :h4.Allowed matching mechanisms - inline-template length-restriction (array in function)
14488 .*---------------------------------------------------------------------*
14491 <TC - Allowed matching mechanisms - inline-template length-restriction (array in function)>
14494 <VERDICT_LEAF PASS>
14495 <MODULE TTCN x x.ttcn>
14498 type integer arrint[1];
14500 const arrint c1:= { 1 };
14501 const arrint c2:= { 5 };
14503 type port portT message {
14505 } with {extension "internal"}
14511 function myFunct() runs on c {
14514 [] myPort.receive( ? length(10) )
14521 <RESULT IF_PASS COUNT 1>
14522 (?im)error.+?number.+?elements.+?allowed.+?length.+?restriction.+?contradicts.+?array.+?size
14524 <RESULT IF_PASS COUNT 1>
14531 .*---------------------------------------------------------------------*
14532 :h4.Allowed matching mechanisms - inline-template ifpresent (boolean in function)
14533 .*---------------------------------------------------------------------*
14536 <TC - Allowed matching mechanisms - inline-template ifpresent (boolean in function)>
14539 <VERDICT_LEAF PASS>
14540 <MODULE TTCN x x.ttcn>
14543 type port portT message {
14545 } with {extension "internal"}
14551 function myFunct() runs on c {
14554 [] myPort.receive( ? ifpresent )
14561 <RESULT IF_PASS NEGATIVE>
14568 .*---------------------------------------------------------------------*
14569 :h4.Allowed matching mechanisms - inline-template ifpresent (integer in function)
14570 .*---------------------------------------------------------------------*
14573 <TC - Allowed matching mechanisms - inline-template ifpresent (integer in function)>
14576 <VERDICT_LEAF PASS>
14577 <MODULE TTCN x x.ttcn>
14580 type port portT message {
14582 } with {extension "internal"}
14588 function myFunct() runs on c {
14591 [] myPort.receive( ? ifpresent )
14598 <RESULT IF_PASS NEGATIVE>
14605 .*---------------------------------------------------------------------*
14606 :h4.Allowed matching mechanisms - inline-template ifpresent (float in function)
14607 .*---------------------------------------------------------------------*
14610 <TC - Allowed matching mechanisms - inline-template ifpresent (float in function)>
14613 <VERDICT_LEAF PASS>
14614 <MODULE TTCN x x.ttcn>
14617 type port portT message {
14619 } with {extension "internal"}
14625 function myFunct() runs on c {
14628 [] myPort.receive( ? ifpresent )
14635 <RESULT IF_PASS NEGATIVE>
14642 .*---------------------------------------------------------------------*
14643 :h4.Allowed matching mechanisms - inline-template ifpresent (bitstring in function)
14644 .*---------------------------------------------------------------------*
14647 <TC - Allowed matching mechanisms - inline-template ifpresent (bitstring in function)>
14650 <VERDICT_LEAF PASS>
14651 <MODULE TTCN x x.ttcn>
14654 type port portT message {
14656 } with {extension "internal"}
14662 function myFunct() runs on c {
14665 [] myPort.receive( ? ifpresent )
14672 <RESULT IF_PASS NEGATIVE>
14679 .*---------------------------------------------------------------------*
14680 :h4.Allowed matching mechanisms - inline-template ifpresent (octetstring in function)
14681 .*---------------------------------------------------------------------*
14684 <TC - Allowed matching mechanisms - inline-template ifpresent (octetstring in function)>
14687 <VERDICT_LEAF PASS>
14688 <MODULE TTCN x x.ttcn>
14691 type port portT message {
14693 } with {extension "internal"}
14699 function myFunct() runs on c {
14702 [] myPort.receive( ? ifpresent )
14709 <RESULT IF_PASS NEGATIVE>
14716 .*---------------------------------------------------------------------*
14717 :h4.Allowed matching mechanisms - inline-template ifpresent (hexstring in function)
14718 .*---------------------------------------------------------------------*
14721 <TC - Allowed matching mechanisms - inline-template ifpresent (hexstring in function)>
14724 <VERDICT_LEAF PASS>
14725 <MODULE TTCN x x.ttcn>
14728 type port portT message {
14730 } with {extension "internal"}
14736 function myFunct() runs on c {
14739 [] myPort.receive( ? ifpresent )
14746 <RESULT IF_PASS NEGATIVE>
14753 .*---------------------------------------------------------------------*
14754 :h4.Allowed matching mechanisms - inline-template ifpresent (charstring in function)
14755 .*---------------------------------------------------------------------*
14758 <TC - Allowed matching mechanisms - inline-template ifpresent (charstring in function)>
14761 <VERDICT_LEAF PASS>
14762 <MODULE TTCN x x.ttcn>
14765 type port portT message {
14767 } with {extension "internal"}
14773 function myFunct() runs on c {
14776 [] myPort.receive( ? ifpresent )
14783 <RESULT IF_PASS NEGATIVE>
14790 .*---------------------------------------------------------------------*
14791 :h4.Allowed matching mechanisms - inline-template ifpresent (record of in function)
14792 .*---------------------------------------------------------------------*
14795 <TC - Allowed matching mechanisms - inline-template ifpresent (record of in function)>
14798 <VERDICT_LEAF PASS>
14799 <MODULE TTCN x x.ttcn>
14802 type record of integer myT;
14804 type port portT message {
14806 } with {extension "internal"}
14812 function myFunct() runs on c {
14815 [] myPort.receive( ? ifpresent )
14822 <RESULT IF_PASS NEGATIVE>
14829 .*---------------------------------------------------------------------*
14830 :h4.Allowed matching mechanisms - inline-template ifpresent (set of in function)
14831 .*---------------------------------------------------------------------*
14834 <TC - Allowed matching mechanisms - inline-template ifpresent (set of in function)>
14837 <VERDICT_LEAF PASS>
14838 <MODULE TTCN x x.ttcn>
14841 type set of integer myT;
14843 type port portT message {
14845 } with {extension "internal"}
14851 function myFunct() runs on c {
14854 [] myPort.receive( ? ifpresent )
14861 <RESULT IF_PASS NEGATIVE>
14868 .*---------------------------------------------------------------------*
14869 :h4.Allowed matching mechanisms - inline-template ifpresent (enumerated in function)
14870 .*---------------------------------------------------------------------*
14873 <TC - Allowed matching mechanisms - inline-template ifpresent (enumerated in function)>
14876 <VERDICT_LEAF PASS>
14877 <MODULE TTCN x x.ttcn>
14880 type enumerated enumT { ONE(1), TWO(2), THREE(3) };
14882 type port portT message {
14884 } with {extension "internal"}
14890 function myFunct() runs on c {
14893 [] myPort.receive( ? ifpresent )
14900 <RESULT IF_PASS NEGATIVE>
14907 .*---------------------------------------------------------------------*
14908 :h4.Allowed matching mechanisms - inline-template ifpresent (union in function)
14909 .*---------------------------------------------------------------------*
14912 <TC - Allowed matching mechanisms - inline-template ifpresent (union in function)>
14915 <VERDICT_LEAF PASS>
14916 <MODULE TTCN x x.ttcn>
14925 type port portT message {
14927 } with {extension "internal"}
14933 function myFunct() runs on c {
14936 [] myPort.receive( ? ifpresent )
14943 <RESULT IF_PASS NEGATIVE>
14950 .*---------------------------------------------------------------------*
14951 :h4.Allowed matching mechanisms - inline-template ifpresent (array in function)
14952 .*---------------------------------------------------------------------*
14955 <TC - Allowed matching mechanisms - inline-template ifpresent (array in function)>
14958 <VERDICT_LEAF PASS>
14959 <MODULE TTCN x x.ttcn>
14962 type integer arrint[1];
14964 const arrint c1:= { 1 };
14965 const arrint c2:= { 5 };
14967 type port portT message {
14969 } with {extension "internal"}
14975 function myFunct() runs on c {
14978 [] myPort.receive( ? ifpresent)
14985 <RESULT IF_PASS NEGATIVE>
14992 .*---------------------------------------------------------------------*
14993 :h2.Infinite recursive loops
14994 .*---------------------------------------------------------------------*
14996 NOTE: In case of non-constant ele
14998 template mytype t := { f := t } s
15000 var mytype v := { f := v } is not
15002 .*---------------------------------------------------------------------*
15003 :h3.Infinite recursive loops in templates/values
15004 .*---------------------------------------------------------------------*
15006 This test case group covers the requirement SA-6/21.
15008 Strategy: SA shall detect the infinite recursive loops in templates/values.
15009 Two types of infinite loops are existing:
15015 All occurances shall be tested, where such a notation can be used.
15019 :li D='-'.1, 2 and 3 steps long circles in definition part
15020 :li D='-'.2, 3 and 4 steps long cross circles in definition part
15021 :li D='-'.3 steps long double cross circles in definition part
15024 .*---------------------------------------------------------------------*
15025 :h4.Infinite recursive loops in templates/values - one step long (in def.part)
15026 .*---------------------------------------------------------------------*
15029 <TC - Infinite recursive loops in templates/values - one step long (in def.part)>
15032 <VERDICT_LEAF PASS>
15033 <MODULE TTCN x x.ttcn>
15043 template recT temp1:= { f1:= temp1.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1 };
15047 <RESULT IF_PASS COUNT 1>
15048 (?im)error.+?Circular.+?reference
15050 <RESULT IF_PASS COUNT 1>
15057 .*---------------------------------------------------------------------*
15058 :h4.Infinite recursive loops in templates/values - one steps long (in def.part)
15059 .*---------------------------------------------------------------------*
15062 <TC - Infinite recursive loops in templates/values - one steps long (in def.part)>
15065 <VERDICT_LEAF FAIL>
15066 <MODULE TTCN x x.ttcn>
15069 type integer myint[2];
15071 template myint t := {0,t[1]};
15076 <RESULT IF_PASS COUNT 1>
15077 (?im)error.+?Circular.+?reference
15079 <RESULT IF_PASS COUNT 1>
15082 <RESULT IF_FAIL POSITIVE>
15083 (?im)error.+?Circular.+?reference
15089 .*---------------------------------------------------------------------*
15090 :h4.Infinite recursive loops in templates/values - two steps long (in def.part)
15091 .*---------------------------------------------------------------------*
15094 <TC - Infinite recursive loops in templates/values - two steps long (in def.part)>
15097 <VERDICT_LEAF FAIL>
15098 <MODULE TTCN x x.ttcn>
15109 template recT temp1:= { f1:= temp1.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f1 };
15113 <RESULT IF_PASS COUNT 1>
15114 (?im)error.+?Circular.+?reference
15116 <RESULT IF_PASS COUNT 1>
15119 <RESULT IF_FAIL POSITIVE>
15120 (?im)error.+?Circular.+?reference
15126 .*---------------------------------------------------------------------*
15127 :h4.Infinite recursive loops in templates/values - three steps long (in def.part)
15128 .*---------------------------------------------------------------------*
15131 <TC - Infinite recursive loops in templates/values - three steps long (in def.part)>
15134 <VERDICT_LEAF FAIL>
15135 <MODULE TTCN x x.ttcn>
15147 template recT temp1:= { f1:= temp1.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f5, f5:= temp1.f1 };
15151 <RESULT IF_PASS COUNT 1>
15152 (?im)error.+?Circular.+?reference
15154 <RESULT IF_PASS COUNT 1>
15157 <RESULT IF_FAIL POSITIVE>
15158 (?im)error.+?Circular.+?reference
15164 .*---------------------------------------------------------------------*
15165 :h4.Infinite recursive loops in templates/values - cross two steps long (in def.part)
15166 .*---------------------------------------------------------------------*
15169 <TC - Infinite recursive loops in templates/values - cross two steps long (in def.part)>
15172 <VERDICT_LEAF PASS>
15173 <MODULE TTCN x x.ttcn>
15184 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 2 };
15185 template recT temp2:= { f1:= temp1.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 2 };
15189 <RESULT IF_PASS COUNT 1>
15190 (?im)error.+?Circular.+?reference
15192 <RESULT IF_PASS COUNT 1>
15199 .*---------------------------------------------------------------------*
15200 :h4.Infinite recursive loops in templates/values - cross three steps long (in def.part)
15201 .*---------------------------------------------------------------------*
15204 <TC - Infinite recursive loops in templates/values - cross three steps long (in def.part)>
15207 <VERDICT_LEAF FAIL>
15208 <MODULE TTCN x x.ttcn>
15220 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 2 };
15221 template recT temp2:= { f1:= temp2.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f1, f5:= 2 };
15225 <RESULT IF_PASS COUNT 1>
15226 (?im)error.+?Circular.+?reference
15228 <RESULT IF_PASS COUNT 1>
15231 <RESULT IF_FAIL POSITIVE>
15232 (?im)error.+?Circular.+?reference
15238 .*---------------------------------------------------------------------*
15239 :h4.Infinite recursive loops in templates/values - cross four steps long (in def.part)
15240 .*---------------------------------------------------------------------*
15243 <TC - Infinite recursive loops in templates/values - cross four steps long (in def.part)>
15246 <VERDICT_LEAF FAIL>
15247 <MODULE TTCN x x.ttcn>
15259 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= temp1.f1 };
15260 template recT temp2:= { f1:= temp2.f4, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f5, f5:= 2 };
15264 <RESULT IF_PASS COUNT 1>
15265 (?im)error.+?Circular.+?reference
15267 <RESULT IF_PASS COUNT 1>
15270 <RESULT IF_FAIL POSITIVE>
15277 .*---------------------------------------------------------------------*
15278 :h4.Infinite recursive loops in templates/values - double cross four steps long (in def.part)
15279 .*---------------------------------------------------------------------*
15282 <TC - Infinite recursive loops in templates/values - double cross four steps long (in def.part)>
15285 <VERDICT_LEAF PASS>
15286 <MODULE TTCN x x.ttcn>
15297 template recT temp1:= { f1:= temp2.f1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15298 template recT temp2:= { f1:= temp3.f4, f2:= 1.1, f3:= "ERIXON", f4:= 2, f5:= 2 };
15299 template recT temp3:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= temp1.f1, f5:= 2 };
15303 <RESULT IF_PASS COUNT 1>
15304 (?im)error.+?Circular.+?reference
15306 <RESULT IF_PASS COUNT 1>
15313 .*---------------------------------------------------------------------*
15314 :h3.Recursive loops in modified template chains
15315 .*---------------------------------------------------------------------*
15317 This test case group covers the requirement SA-6/22.
15319 Strategy: a modified template shall not refer to itself, either directly or indirectly, that is recursive derivation is not allowed.
15320 All occurances shall be tested, where such a notation can be used.
15322 Tested: - 1, 2 and 3 steps long modified templates in definition part
15324 .*---------------------------------------------------------------------*
15325 :h4.Recursive loops in modified template chains - one step long (in def.part)
15326 .*---------------------------------------------------------------------*
15329 <TC - Recursive loops in modified template chains - one step long (in def.part)>
15332 <VERDICT_LEAF PASS>
15333 <MODULE TTCN x x.ttcn>
15344 template recT temp1:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15346 template recT temp2 modifies temp1:= { f1:= temp2.f1, f4:= 6};
15350 <RESULT IF_PASS COUNT 1>
15351 (?im)error.+?Circular.+?reference
15353 <RESULT IF_PASS COUNT 1>
15360 .*---------------------------------------------------------------------*
15361 :h4.Recursive loops in modified template chains - two steps long (in def.part)
15362 .*---------------------------------------------------------------------*
15365 <TC - Recursive loops in modified template chains - two steps long (in def.part)>
15368 <VERDICT_LEAF FAIL>
15369 <MODULE TTCN x x.ttcn>
15380 template recT temp1:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15383 template recT temp2 modifies temp1:= { f1:= temp2.f4, f4:= temp2.f1};
15387 <RESULT IF_PASS COUNT 1>
15388 (?im)error.+?Circular.+?reference
15390 <RESULT IF_PASS COUNT 1>
15393 <RESULT IF_FAIL POSITIVE>
15394 (?im)error.+?Circular.+?reference
15400 .*---------------------------------------------------------------------*
15401 :h4.Recursive loops in modified template chains - three steps long (in def.part)
15402 .*---------------------------------------------------------------------*
15405 <TC - Recursive loops in modified template chains - three steps long (in def.part)>
15408 <VERDICT_LEAF FAIL>
15409 <MODULE TTCN x x.ttcn>
15421 template recT temp1:= { f1:= 1, f2:= 1.1, f3:= "ERIXON", f4:= 1, f5:= 7 };
15422 template recT temp2 modifies temp1:= { f1:= temp2.f4, f4:= temp2.f5, f5:= temp2.f1};
15426 <RESULT IF_PASS COUNT 1>
15427 (?im)error.+?Circular.+?reference
15429 <RESULT IF_PASS COUNT 1>
15432 <RESULT IF_FAIL POSITIVE>
15433 (?im)error.+?Circular.+?reference
15439 .*---------------------------------------------------------------------*
15440 :h3.Value Overflows shall be detected if possible in compile time
15441 .*---------------------------------------------------------------------*
15443 This test case group covers the requirement SA-6/23.
15445 Strategy: SA shall detect any value overflow caused by implementation (for example integer value overflow, assigned number of an enumerated
15446 identifier is greater than the MAX_INT)
15447 All occurances shall be tested, where such a notation can be used.
15451 :li D='-'.simple integer constant and float constant overflows in definition part, control part and function
15452 :li D='-'.simple integer variables and float variables overflows in control part and function
15453 :li D='-'.integer overflowing in definition of an enumerated type
15454 :li D='-'.float overflowing when redefines a timer at start (in control part and function)
15457 .*---------------------------------------------------------------------*
15458 :h4.Value Overflows shall be detected if possible in compile time - integer Overflow (enumerated in def.part)
15459 .*---------------------------------------------------------------------*
15462 <TC - Value Overflows shall be detected if possible in compile time - integer Overflow (enumerated in def.part)>
15465 <VERDICT_LEAF PASS>
15466 <MODULE TTCN x x.ttcn>
15469 type enumerated enumT { ONE(1), TWO(2), HUGE(99999999999999999999999999999)};
15474 (?is)\berror: The numeric value of enumeration `HUGE' \(99999999999999999999999999999\) is too large for being represented in memory
15480 .*---------------------------------------------------------------------*
15481 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (const in def.part)
15482 .*---------------------------------------------------------------------*
15485 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (const in def.part)>
15488 <VERDICT_LEAF PASS>
15489 <MODULE TTCN x x.ttcn>
15492 // TR 673: fatal error on value overflows
15493 const float f:= 9.1E+999;
15497 <RESULT IF_PASS COUNT 1>
15498 (?im)error.+?Overflow
15500 <RESULT IF_PASS COUNT 1>
15507 .*---------------------------------------------------------------------*
15508 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (const in control part)
15509 TR 673: fatal error on value overflows
15510 .*---------------------------------------------------------------------*
15513 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (const in control part)>
15516 <VERDICT_LEAF PASS>
15517 <MODULE TTCN x x.ttcn>
15521 const float f:= 9.1E+999;
15525 <RESULT IF_PASS COUNT 1>
15526 (?im)error.+?Overflow
15528 <RESULT IF_PASS COUNT 1>
15535 .*---------------------------------------------------------------------*
15536 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (const in function)
15537 TR 673: fatal error on value overflows
15538 .*---------------------------------------------------------------------*
15541 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (const in function)>
15544 <VERDICT_LEAF PASS>
15545 <MODULE TTCN x x.ttcn>
15548 function myFunct(){
15549 const float f:= 9.1E+999;
15553 <RESULT IF_PASS COUNT 1>
15554 (?im)error.+?Overflow
15556 <RESULT IF_PASS COUNT 1>
15563 .*---------------------------------------------------------------------*
15564 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in control part)
15565 TR 673: fatal error on value overflows
15566 .*---------------------------------------------------------------------*
15569 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in control part)>
15572 <VERDICT_LEAF PASS>
15573 <MODULE TTCN x x.ttcn>
15577 var float f:= 9.1E+999;
15581 <RESULT IF_PASS COUNT 1>
15582 (?im)error.+?Overflow
15584 <RESULT IF_PASS COUNT 1>
15591 .*---------------------------------------------------------------------*
15592 :h4.Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in function)
15593 TR 673: fatal error on value overflows
15594 .*---------------------------------------------------------------------*
15597 <TC - Value Overflows shall be detected if possible in compile time - simple float Overflow (variable in function)>
15600 <VERDICT_LEAF PASS>
15601 <MODULE TTCN x x.ttcn>
15604 function myFunct(){
15605 var float f:= 9.1E+999;
15609 <RESULT IF_PASS COUNT 1>
15610 (?im)error.+?Overflow
15612 <RESULT IF_PASS COUNT 1>
15619 .*---------------------------------------------------------------------*
15620 :h4.Value Overflows shall be detected if possible in compile time - float Overflow (timer start in control part)
15621 TR 673: fatal error on value overflows
15622 .*---------------------------------------------------------------------*
15625 <TC - Value Overflows shall be detected if possible in compile time - float Overflow (timer start in control part)>
15628 <VERDICT_LEAF PASS>
15629 <MODULE TTCN x x.ttcn>
15634 T1.start( 9.1E+999);
15638 <RESULT IF_PASS COUNT 1>
15639 (?im)error.+?Overflow
15641 <RESULT IF_PASS COUNT 1>
15648 .*---------------------------------------------------------------------*
15649 :h4.Value Overflows shall be detected if possible in compile time - float Overflow (timer start in function)
15650 TR 673: fatal error on value overflows
15651 .*---------------------------------------------------------------------*
15654 <TC - Value Overflows shall be detected if possible in compile time - float Overflow (timer start in function)>
15657 <VERDICT_LEAF PASS>
15658 <MODULE TTCN x x.ttcn>
15661 function myFunct(){
15663 T1.start( 9.1E+999);
15667 <RESULT IF_PASS COUNT 1>
15668 (?im)error.+?Overflow
15670 <RESULT IF_PASS COUNT 1>
15677 .*---------------------------------------------------------------------*
15678 :h4.Constant folding - indexed arrays
15679 .*---------------------------------------------------------------------*
15682 <TC - Constant folding - indexed arrays>
15685 <VERDICT_LEAF PASS>
15686 <MODULE TTCN x x.ttcn>
15689 const integer c_array1[4] := { 1,2,3,4};
15690 const integer c_array2[4] := { 1,2,3,4};
15691 const integer c_array3[4] := { 4,3,2,1};
15692 const integer c_array4_ind[4] := { [0] := 1, [1] := 2, [2] := 3, [3] := 4};
15693 const integer c_array5_ind[4] := { [3] := 4, [1] := 2, [2] := 3, [0] := 1};
15696 var integer vl_array5[4] := { 1,2,3,4};
15697 var boolean b := false;
15699 if(c_array1 == c_array1) {b:= true;}
15702 if({1,2,3,4} == c_array1) {b:= true;}
15704 if(c_array1 == {1,2,3,4}) {b:= true;}
15707 if(c_array1 == c_array2) {b:= true;}
15710 if(c_array4_ind == c_array4_ind) {b:= true;}
15713 if(c_array1 == c_array4_ind) {b:= true;}
15715 if(c_array4_ind == c_array1) {b:= true;}
15718 if({ [0] := 1, [1] := 2, [2] := 3, [3] := 4} == c_array4_ind) {b:= true;}
15720 if(c_array4_ind == { [0] := 1, [1] := 2, [2] := 3, [3] := 4}) {b:= true;}
15723 if(c_array4_ind == c_array5_ind) {b:= true;}
15726 if(vl_array5 == c_array1) {b:= true;}
15732 <RESULT IF_PASS COUNT 10>
15733 (?im)warning: Control never reaches this code because of previous effective condition\(s\)
15739 .*---------------------------------------------------------------------*
15740 :h4.Constant folding - indexed record of
15741 .*---------------------------------------------------------------------*
15744 <TC - Constant folding - indexed record of>
15747 <VERDICT_LEAF PASS>
15748 <MODULE TTCN x x.ttcn>
15750 type record of integer recof;
15753 const recof c_r1 := { 1,2,3,4};
15754 const recof c_r2 := { 1,2,3,4};
15755 const recof c_r3 := { 4,3,2,1};
15756 const recof c_r4_ind := { [0] := 1, [1] := 2, [2] := 3, [3] := 4};
15757 const recof c_r5_ind := { [3] := 1, [1] := 2, [2] := 3, [0] := 4};
15758 const recof c_r6_ind := { [3] := 4, [1] := 2, [2] := 3, [0] := 1};
15759 const recof c_r8_ind := { [0] := 1, [1] := 2, [2] := 3, [3] := 4};
15762 var recof vl_r7_ind := { [3] := 4, [1] := 2};
15764 var recof vl_r10 := { 1,2,3,4};
15765 var recof vl_r11 := { 1,2,3,4};
15767 var boolean b := false;
15769 if(c_r1 == c_r1) {b:= true;}
15772 if(c_r1 == c_r2) {b:= true;}
15775 if(c_r4_ind == c_r4_ind) {b:= true;}
15778 if(c_r1 == c_r4_ind) {b:= true;}
15780 if(c_r4_ind == c_r1) {b:= true;}
15783 if(c_r1 == c_r6_ind) {b:= true;}
15786 if(c_r1 != vl_r7_ind) {b:= true;}
15789 if(c_r4_ind == c_r8_ind) {b:= true;}
15792 if(vl_r10 == vl_r11) {b:= true;}
15798 <RESULT IF_PASS COUNT 7>
15799 (?im)warning: Control never reaches this code because of previous effective condition\(s\)
15805 .*---------------------------------------------------------------------*
15806 :h4.Constant folding - indexed set of
15807 .*---------------------------------------------------------------------*
15810 <TC - Constant folding - indexed set of>
15812 <VERDICT_LEAF PASS>
15813 <MODULE TTCN x x.ttcn>
15815 type set of integer mysetof;
15818 const mysetof c_s1 := {1,2,3,4};
15819 const mysetof c_s2 := {4,3,2,1};
15820 const mysetof c_s3 := {1,3,2,4};
15821 const mysetof c_s4 := {1,2,3,4,5};
15822 const mysetof c_s5 := {0,1,2,3,4};
15823 const mysetof c_s6 := {0,1,2,3,4,5}
15825 const mysetof c_s1_ind := {[0] := 1,[1] := 2,[2] := 3, [3] := 4};
15826 const mysetof c_s2_ind := {[0] := 1,[3] := 4,[2] := 3, [1] := 2};
15827 const mysetof c_s3_ind := {[0] := 2,[3] := 1,[2] := 3, [1] := 4};
15829 var mysetof vl_s1 := {1,2,3,4};
15831 var boolean b := false;
15833 if(c_s1 == c_s1) {b:= true;}
15836 if(c_s1 == {1,2,3,4}) {b:= true;}
15838 if({1,2,3,4} == c_s1) {b:= true;}
15841 if(c_s1 == {[0] := 1,[1] := 2,[2] := 3, [3] := 4}) {b:= true;}
15843 if({[0] := 1,[1] := 2,[2] := 3, [3] := 4} == c_s1) {b:= true;}
15846 if(c_s1 == c_s1_ind) {b:= true;}
15848 if(c_s1_ind == c_s1) {b:= true;}
15851 if(c_s1_ind == c_s2_ind) {b:= true;}
15854 if(c_s1_ind == c_s3_ind) {b:= true;}
15857 if(c_s1 == c_s3_ind) {b:= true;}
15860 if(c_s2_ind == c_s3_ind) {b:= true;}
15863 if(c_s1 == vl_s1) {b:= true;}
15865 if(vl_s1 == c_s1) {b:= true;}
15868 if(c_s1 == c_s2) {b:= true;}
15871 if(c_s1 == c_s3) {b:= true;}
15874 if(c_s1 != c_s4) {b:= true;}
15877 if(c_s1 != c_s5) {b:= true;}
15880 if(c_s1 != c_s6) {b:= true;}
15883 if(c_s5 != c_s6) {b:= true;}
15889 <RESULT IF_PASS COUNT 17>
15890 (?im)warning: Control never reaches this code because of previous effective condition\(s\)
15896 .*---------------------------------------------------------------------*
15897 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 1
15898 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
15899 .*---------------------------------------------------------------------*
15902 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 1>
15904 <VERDICT_LEAF PASS>
15905 <MODULE TTCN Temp Temp.ttcn>
15907 type union UnionType1{
15911 type union UnionType2{
15916 type record Emma { charstring name}
15917 type record Eszter { charstring name}
15919 type component dummy_CT {}
15920 testcase tc_UnboundUnion () runs on dummy_CT{
15921 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
15922 log(log2str("numero: ",vl_e.numero));
15927 execute(tc_UnboundUnion());
15931 <MODULE CFG Temp Temp.cfg>
15932 [MODULE_PARAMETERS]
15934 LogSourceInfo := Yes
15935 Logfile := "Temp%i.log"
15937 LogFileNumber := 10
15938 DiskFullAction := error
15939 FileMask := LOG_ALL
15940 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
15944 <RESULT IF_PASS COUNT 1>
15945 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
15951 .*---------------------------------------------------------------------*
15952 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 2
15953 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
15954 .*---------------------------------------------------------------------*
15957 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 2>
15959 <VERDICT_LEAF PASS>
15960 <MODULE TTCN Temp Temp.ttcn>
15962 type union UnionType1{
15966 type union UnionType2{
15971 type record Emma { charstring name}
15972 type record Eszter { charstring name}
15974 type component dummy_CT {}
15975 testcase tc_UnboundUnion () runs on dummy_CT{
15976 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
15977 var integer temp := vl_e.numero;
15982 execute(tc_UnboundUnion());
15986 <MODULE CFG Temp Temp.cfg>
15987 [MODULE_PARAMETERS]
15989 LogSourceInfo := Yes
15990 Logfile := "Temp%i.log"
15992 LogFileNumber := 10
15993 DiskFullAction := error
15994 FileMask := LOG_ALL
15995 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
15999 <RESULT IF_PASS COUNT 1>
16000 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
16006 .*---------------------------------------------------------------------*
16007 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 3
16008 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
16009 .*---------------------------------------------------------------------*
16012 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 3>
16014 <VERDICT_LEAF PASS>
16015 <MODULE TTCN Temp Temp.ttcn>
16017 type union UnionType1{
16021 type union UnionType2{
16026 type record Emma { charstring name}
16027 type record Eszter { charstring name}
16029 type component dummy_CT {}
16030 testcase tc_UnboundUnion () runs on dummy_CT{
16031 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
16033 temp := vl_e.numero;
16038 execute(tc_UnboundUnion());
16042 <MODULE CFG Temp Temp.cfg>
16043 [MODULE_PARAMETERS]
16045 LogSourceInfo := Yes
16046 Logfile := "Temp%i.log"
16048 LogFileNumber := 10
16049 DiskFullAction := error
16050 FileMask := LOG_ALL
16051 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16055 <RESULT IF_PASS COUNT 1>
16056 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
16062 .*---------------------------------------------------------------------*
16063 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 4
16064 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
16065 .*---------------------------------------------------------------------*
16068 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 4>
16070 <VERDICT_LEAF PASS>
16071 <MODULE TTCN Temp Temp.ttcn>
16073 type union UnionType1{
16077 type union UnionType2{
16082 type record Emma { charstring name}
16083 type record Eszter { charstring name}
16085 function dummy(integer par) {
16088 type component dummy_CT {}
16089 testcase tc_UnboundUnion () runs on dummy_CT{
16090 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
16091 dummy(vl_e.numero);
16096 execute(tc_UnboundUnion());
16100 <MODULE CFG Temp Temp.cfg>
16101 [MODULE_PARAMETERS]
16103 LogSourceInfo := Yes
16104 Logfile := "Temp%i.log"
16106 LogFileNumber := 10
16107 DiskFullAction := error
16108 FileMask := LOG_ALL
16109 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16113 <RESULT IF_PASS COUNT 1>
16114 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
16120 .*---------------------------------------------------------------------*
16121 :h4.Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 5
16122 TR HN30230: Value of union is set to unbount if other union possibilities are tried to be accessed.
16123 .*---------------------------------------------------------------------*
16126 <TC - Invalid access to not-selected union field shall cause dyanimc testcase error - access to non-actual union element 5>
16128 <VERDICT_LEAF PASS>
16129 <MODULE TTCN Temp Temp.ttcn>
16131 type union UnionType1{
16135 type union UnionType2{
16140 type record Emma { charstring name}
16141 type record Eszter { charstring name}
16143 type component dummy_CT {}
16144 testcase tc_UnboundUnion () runs on dummy_CT{
16145 var UnionType1 vl_e := {girl := {emma := {name := "Emma"}}};
16147 v[vl_e.numero] := 1;
16152 execute(tc_UnboundUnion());
16156 <MODULE CFG Temp Temp.cfg>
16157 [MODULE_PARAMETERS]
16159 LogSourceInfo := Yes
16160 Logfile := "Temp%i.log"
16162 LogFileNumber := 10
16163 DiskFullAction := error
16164 FileMask := LOG_ALL
16165 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16169 <RESULT IF_PASS COUNT 1>
16170 (?im)Dynamic test case error: Using non-selected field numero in a value of union type @Temp.UnionType1.
16176 .*---------------------------------------------------------------------*
16177 :h3.TTCN-3::Referencing a unbound field
16178 .*---------------------------------------------------------------------*
16180 <TC - TTCN-3::Referencing a unbound field>
16183 <VERDICT_LEAF PASS>
16184 <MODULE TTCN ModuleA ModuleA.ttcn>
16186 type record recordInner {integer f1, integer f2};
16187 type record recordOuter {recordInner f1, integer f2};
16189 function problem() {
16190 template recordOuter vt_temp := {f2 := 5};
16191 template integer t_temp := vt_temp.f1.f1;
16195 <RESULT IF_PASS COUNT 1>
16196 (?im)\berror\b.+?Reference.+?unbound.*?field.+?f1
16201 .*---------------------------------------------------------------------*
16202 :h3.TTCN-3::Referencing a unbound component variable (TR no. HO24162, HO23581)
16203 .*---------------------------------------------------------------------*
16205 <TC - TTCN-3::Referencing a unbound component variable (TR no. HO24162, HO23581)>
16208 <VERDICT_LEAF PASS>
16209 <MODULE TTCN ModuleA ModuleA.ttcn>
16211 type record of integer IList;
16218 function problem() runs on C {
16219 action(isbound(i), " i: ", i);
16223 <MODULE TTCN ModuleB ModuleB.ttcn>
16225 import from ModuleA all;
16227 function problem() runs on C {
16228 action(isbound(i), " i: ", i);
16229 action(isbound(ilist[i]), " ilist[i]: ", ilist[i]);
16233 <RESULT IF_PASS NEGATIVE>
16239 .*---------------------------------------------------------------------*
16240 :h3.TTCN-3::Referencing a unbound field (TR no. HN91136)
16241 .*---------------------------------------------------------------------*
16243 <TC - TTCN-3::Referencing a unbound field (TR no. HN91136)>
16246 <VERDICT_LEAF PASS>
16247 <MODULE TTCN ModuleA ModuleA.ttcn>
16254 type record of integer intrec;
16257 var bubu i := { a:= 2};
16258 action(isbound(i.b));
16259 var intrec vl_rec := {};
16260 action(isbound(vl_rec[2]));
16264 <MODULE CFG Temp Temp.cfg>
16265 [MODULE_PARAMETERS]
16267 LogSourceInfo := Yes
16268 Logfile := "Temp%i.log"
16270 LogFileNumber := 10
16271 DiskFullAction := error
16272 FileMask := LOG_ALL
16273 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16277 <RESULT IF_PASS POSITIVE>
16278 (?im)Test execution summary: 0 test case was executed. Overall verdict: none
16283 .*---------------------------------------------------------------------*
16284 :h3.TTCN-3::Referencing a unbound bitstring bit
16285 .*---------------------------------------------------------------------*
16287 <TC - TTCN-3::Referencing a unbound bitstring bit>
16290 <VERDICT_LEAF PASS>
16291 <MODULE TTCN ModuleA ModuleA.ttcn>
16293 type component dummy_CT {}
16294 testcase tc_temp () runs on dummy_CT{
16295 var bitstring bstr;
16296 log(isvalue(bstr[0]));
16299 execute(tc_temp());
16303 <MODULE CFG Temp Temp.cfg>
16304 [MODULE_PARAMETERS]
16306 LogSourceInfo := Yes
16307 Logfile := "Temp%i.log"
16309 LogFileNumber := 10
16310 DiskFullAction := error
16311 FileMask := LOG_ALL
16312 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16316 <RESULT IF_FAIL POSITIVE>
16317 (?im)Dynamic test case error: Accessing an element of an unbound bitstring value.
16322 .*---------------------------------------------------------------------*
16323 :h3.TTCN-3::Referencing a unbound charstring bit
16324 .*---------------------------------------------------------------------*
16326 <TC - TTCN-3::Referencing a unbound charstring bit>
16329 <VERDICT_LEAF PASS>
16330 <MODULE TTCN ModuleA ModuleA.ttcn>
16332 type component dummy_CT {}
16333 testcase tc_temp () runs on dummy_CT{
16334 var charstring cstr;
16335 log(isvalue(cstr[0]));
16338 execute(tc_temp());
16342 <MODULE CFG Temp Temp.cfg>
16343 [MODULE_PARAMETERS]
16345 LogSourceInfo := Yes
16346 Logfile := "Temp%i.log"
16348 LogFileNumber := 10
16349 DiskFullAction := error
16350 FileMask := LOG_ALL
16351 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16355 <RESULT IF_FAIL POSITIVE>
16356 (?im)Dynamic test case error: Accessing an element of an unbound charstring value.
16361 .*---------------------------------------------------------------------*
16362 :h3.TTCN-3::Referencing a unbound hexstring octet
16363 .*---------------------------------------------------------------------*
16365 <TC - TTCN-3::Referencing a unbound hexstring octet>
16368 <VERDICT_LEAF PASS>
16369 <MODULE TTCN ModuleA ModuleA.ttcn>
16371 type component dummy_CT {}
16372 testcase tc_temp () runs on dummy_CT{
16373 var hexstring hstr;
16374 log(isvalue(hstr[0]));
16377 execute(tc_temp());
16381 <MODULE CFG Temp Temp.cfg>
16382 [MODULE_PARAMETERS]
16384 LogSourceInfo := Yes
16385 Logfile := "Temp%i.log"
16387 LogFileNumber := 10
16388 DiskFullAction := error
16389 FileMask := LOG_ALL
16390 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16394 <RESULT IF_FAIL POSITIVE>
16395 (?im)Dynamic test case error: Accessing an element of an unbound hexstring value.
16400 .*---------------------------------------------------------------------*
16401 :h3.TTCN-3::Referencing a unbound octetstring octet
16402 .*---------------------------------------------------------------------*
16404 <TC - TTCN-3::Referencing a unbound octetstring octet>
16407 <VERDICT_LEAF PASS>
16408 <MODULE TTCN ModuleA ModuleA.ttcn>
16410 type component dummy_CT {}
16411 testcase tc_temp () runs on dummy_CT{
16412 var octetstring ostr;
16413 log(isvalue(ostr[0]));
16416 execute(tc_temp());
16420 <MODULE CFG Temp Temp.cfg>
16421 [MODULE_PARAMETERS]
16423 LogSourceInfo := Yes
16424 Logfile := "Temp%i.log"
16426 LogFileNumber := 10
16427 DiskFullAction := error
16428 FileMask := LOG_ALL
16429 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16433 <RESULT IF_FAIL POSITIVE>
16434 (?im)Dynamic test case error: Accessing an element of an unbound octetstring value.
16439 .*---------------------------------------------------------------------*
16440 :h3.TTCN-3::Referencing a unbound universal charstring bit
16441 .*---------------------------------------------------------------------*
16443 <TC - TTCN-3::Referencing a unbound universal charstring bit>
16446 <VERDICT_LEAF PASS>
16447 <MODULE TTCN ModuleA ModuleA.ttcn>
16449 type component dummy_CT {}
16450 testcase tc_temp () runs on dummy_CT{
16451 var universal charstring cstr;
16452 log(isvalue(cstr[0]));
16455 execute(tc_temp());
16459 <MODULE CFG Temp Temp.cfg>
16460 [MODULE_PARAMETERS]
16462 LogSourceInfo := Yes
16463 Logfile := "Temp%i.log"
16465 LogFileNumber := 10
16466 DiskFullAction := error
16467 FileMask := LOG_ALL
16468 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16472 <RESULT IF_PASS COUNT 1>
16473 (?im)Dynamic test case error: Accessing an element of an unbound universal charstring value.
16478 .*---------------------------------------------------------------------*
16479 :h3.TTCN-3::Referencing a unbound union field
16480 .*---------------------------------------------------------------------*
16482 <TC - TTCN-3::Referencing a unbound union field>
16485 <VERDICT_LEAF PASS>
16486 <MODULE TTCN ModuleA ModuleA.ttcn>
16488 type union tunion {
16492 type component dummy_CT {}
16493 testcase tc_temp () runs on dummy_CT{
16494 var tunion temp := {x1 := 1};
16495 log(isvalue(temp.x2));
16498 execute(tc_temp());
16502 <MODULE CFG Temp Temp.cfg>
16503 [MODULE_PARAMETERS]
16505 LogSourceInfo := Yes
16506 Logfile := "Temp%i.log"
16508 LogFileNumber := 10
16509 DiskFullAction := error
16510 FileMask := LOG_ALL
16511 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16515 <RESULT IF_PASS COUNT 1>
16516 (?im)Dynamic test case error: Using non-selected field x2 in a value of union type @ModuleA.tunion.
16521 .*---------------------------------------------------------------------*
16522 :h3.TTCN-3::Referencing a unbound record of element
16523 .*---------------------------------------------------------------------*
16525 <TC - TTCN-3::Referencing a unbound record of element>
16528 <VERDICT_LEAF PASS>
16529 <MODULE TTCN ModuleA ModuleA.ttcn>
16531 type record of integer t_recof;
16532 type component dummy_CT {}
16533 testcase tc_temp () runs on dummy_CT{
16535 log(isvalue(temp[0]));
16538 execute(tc_temp());
16542 <MODULE CFG Temp Temp.cfg>
16543 [MODULE_PARAMETERS]
16545 LogSourceInfo := Yes
16546 Logfile := "Temp%i.log"
16548 LogFileNumber := 10
16549 DiskFullAction := error
16550 FileMask := LOG_ALL
16551 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16555 <RESULT IF_PASS COUNT 1>
16556 (?im)Dynamic test case error: Accessing an element in an unbound value of type @PreGenRecordOf.PREGEN_RECORD_OF_INTEGER.
16561 .*---------------------------------------------------------------------*
16562 :h3.TTCN-3::Referencing a unbound record of element (overflow)
16563 .*---------------------------------------------------------------------*
16565 <TC - TTCN-3::Referencing a unbound record of element (overflow)>
16568 <VERDICT_LEAF PASS>
16569 <MODULE TTCN ModuleA ModuleA.ttcn>
16571 type record of integer t_recof;
16572 type component dummy_CT {}
16573 testcase tc_temp () runs on dummy_CT{
16574 var t_recof temp := {[1] := 1};
16575 log(isvalue(temp[10]));
16578 execute(tc_temp());
16582 <MODULE CFG Temp Temp.cfg>
16583 [MODULE_PARAMETERS]
16585 LogSourceInfo := Yes
16586 Logfile := "Temp%i.log"
16588 LogFileNumber := 10
16589 DiskFullAction := error
16590 FileMask := LOG_ALL
16591 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16595 <RESULT IF_PASS COUNT 1>
16596 (?im)Dynamic test case error: Index overflow in a value of type @PreGenRecordOf.PREGEN_RECORD_OF_INTEGER: The index is 10, but the value has only 2 elements.
16601 .*---------------------------------------------------------------------*
16602 :h3.TTCN-3::Referencing a unbound set of element
16603 .*---------------------------------------------------------------------*
16605 <TC - TTCN-3::Referencing a unbound set of element>
16608 <VERDICT_LEAF PASS>
16609 <MODULE TTCN ModuleA ModuleA.ttcn>
16611 type set of integer t_setof;
16612 type component dummy_CT {}
16613 testcase tc_temp () runs on dummy_CT{
16615 log(isvalue(temp[0]));
16618 execute(tc_temp());
16622 <MODULE CFG Temp Temp.cfg>
16623 [MODULE_PARAMETERS]
16625 LogSourceInfo := Yes
16626 Logfile := "Temp%i.log"
16628 LogFileNumber := 10
16629 DiskFullAction := error
16630 FileMask := LOG_ALL
16631 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16635 <RESULT IF_PASS COUNT 1>
16636 (?im)Dynamic test case error: Accessing an element in an unbound value of type @PreGenRecordOf.PREGEN_SET_OF_INTEGER.
16641 .*---------------------------------------------------------------------*
16642 :h3.TTCN-3::Referencing a unbound set of element (overflow)
16643 .*---------------------------------------------------------------------*
16645 <TC - TTCN-3::Referencing a unbound set of element (overflow)>
16648 <VERDICT_LEAF PASS>
16649 <MODULE TTCN ModuleA ModuleA.ttcn>
16651 type set of integer t_setof;
16652 type component dummy_CT {}
16653 testcase tc_temp () runs on dummy_CT{
16654 var t_setof temp := {[1] := 1};
16655 log(isvalue(temp[10]));
16658 execute(tc_temp());
16662 <MODULE CFG Temp Temp.cfg>
16663 [MODULE_PARAMETERS]
16665 LogSourceInfo := Yes
16666 Logfile := "Temp%i.log"
16668 LogFileNumber := 10
16669 DiskFullAction := error
16670 FileMask := LOG_ALL
16671 ConsoleMask := WARNING | ERROR | TESTCASE | STATISTICS
16675 <RESULT IF_PASS COUNT 1>
16676 (?im)Dynamic test case error: Index overflow in a value of type @PreGenRecordOf.PREGEN_SET_OF_INTEGER: The index is 10, but the value has only 2 elements.
16681 .*---------------------------------------------------------------------*
16682 :h3.Adhoc:: ispresent() isbound() DTEs
16683 .*---------------------------------------------------------------------*
16685 <TC - ispresent() isbound() DTEs>
16687 <VERDICT_LEAF PASS>
16688 <MODULE TTCN Temp Temp.ttcn>
16690 type component MyComp {}
16692 type record of charstring ROC;
16693 type record of integer ROI;
16694 type record MyRecord1 {
16695 integer i optional,
16700 type union MyUnion1 {
16707 const MyUnion1 c_myunion2:= { i:= 5 }
16709 testcase tc_runtimeDivisionByZero_ispresent() runs on MyComp {
16710 var MyUnion1 vl_u:= c_myunion2;
16711 if(ispresent(vl_u)) {setverdict(pass)} else {setverdict(fail)}
16712 if(ispresent(vl_u.i)){setverdict(pass)}else {setverdict(fail)}
16713 if(ispresent(vl_u.i/2)){setverdict(pass)}else {setverdict(fail)}
16714 if(ispresent(vl_u.i*0)){setverdict(pass)}else {setverdict(fail)}
16715 if(ispresent(vl_u.i/(vl_u.i-5))){setverdict(fail)}else {setverdict(pass)} //DTE - OK
16718 testcase tc_runtimeDivisionByZero() runs on MyComp {
16719 var MyUnion1 vl_u:= c_myunion2;
16720 if(isbound(vl_u)) {setverdict(pass)} else {setverdict(fail)}
16721 if(isbound(vl_u.i)){setverdict(pass)}else {setverdict(fail)}
16722 if(isbound(vl_u.i/2)){setverdict(pass)}else {setverdict(fail)}
16723 if(isbound(vl_u.i*0)){setverdict(pass)}else {setverdict(fail)}
16724 if(isbound(vl_u.i/(vl_u.i-5))){setverdict(fail)}else {setverdict(pass)} //DTE - OK
16729 execute(tc_runtimeDivisionByZero());
16730 execute(tc_runtimeDivisionByZero_ispresent());
16734 <MODULE CFG Temp Temp.cfg>
16736 LogSourceInfo := Yes
16737 Logfile := "Temp%i.log"
16738 FileMask := LOG_ALL
16739 ConsoleMask := LOG_ALL
16743 <RESULT IF_PASS COUNT 2>
16744 (?im)Dynamic test case error: Integer division by zero.
16749 .*---------------------------------------------------------------------*
16751 .*---------------------------------------------------------------------*
16753 :li D='ASN.1'.Abstract Syntax Notation 1
16754 :li D='EDML'.Ericsson Document Markup Language
16755 :li D='SA'.Semantic Analyser
16756 :li D='TTCN-3'.Test and Test Control Notation version 3
16759 .*---------------------------------------------------------------------*
16761 .*---------------------------------------------------------------------*
16763 :li D='[1]'.3/ETH/RUS-2003:0087 Uen
16764 :nl.Requirement Specification for TITAN's TTCN-3 Semantic Analyser
16765 :li D='[2]'.1/174 02-FCPCA 101 22 Uen
16766 :nl.Statement of Compliance for TITAN project
16767 :li D='[3]'.ETSI ES 201 873-1, v3.0.0 Mockup v1 (2004-03):
16768 :nl.Testing and Test Control Notation version 3.,
16769 :nl.Part 1: TTCN-3 Core Language
16772 .*---------------------------------------------------------------------*
16774 .*---------------------------------------------------------------------*
16776 :li D='TITAN'.Ericsson's TTCN-3 Test Environment