1 .******************************************************************************
2 .* Copyright (c) 2000-2015 Ericsson Telecom AB
3 .* All rights reserved. This program and the accompanying materials
4 .* are made available under the terms of the Eclipse Public License v1.0
5 .* which accompanies this distribution, and is available at
6 .* http://www.eclipse.org/legal/epl-v10.html
7 .******************************************************************************/
11 .* EDML webpage: http://cpi.ericsson.se/dwaxe/
12 .* EDML2PDF converter: http://dwaxe.ericsson.se/x2pdf
13 .* EDML user guide: http://www.lmc.ericsson.se/~lmcmarg/isit/edml_ug.html
15 .* Document header information
16 :docname.Test Description
17 :docno.16/152 91-CRL 113 200/5 Uen
21 :prep.ETH/XZ Jeno Balasko
22 :appr.ETH/XZ (Gyula Koos)
25 :title.Test description of the TTCN-3 Semantic Analyzer: Type compatibility
27 .*---------------------------------------------------------------------*
29 .*---------------------------------------------------------------------*
30 .*---------------------------------------------------------------------*
32 .*---------------------------------------------------------------------*
34 REV DATE PREPARED CHANGE
35 __________________________________________________
36 PA1 2005-02-15 EGBOTAT New document for TITAN R6
37 A 2005-03-18 EGBOTAT Approved after review
38 B 2005-12-16 EKRISZA Updates for TITAN R6D
39 C 2006-07-31 EKRISZA Updates for TITAN R6E
40 D 2007-03-06 EJNOSZA Updates for TITAN R7A (expected error messages)
41 E 2009-06-11 EKRISZA Name correction
42 F 2010-01-19 EKRISZA Updated version number for TITAN R8C
43 A 2011-12-12 EKRISZA Updated for release
44 A 2012-06-27 EFERKOV Updated for release
45 A 2013-01-17 EKRIPND Updated for release
47 .*---------------------------------------------------------------------*
49 .*---------------------------------------------------------------------*
50 The purpose of this Test Description is to define and describe the function
51 test activity for the Semantic Analyser functionality of the TTCN-3 compiler:
52 :nl.SA-5/x: Type compatibility.
53 :p.The specification of the test cases can be found in this document.
54 .*---------------------------------------------------------------------*
56 .*---------------------------------------------------------------------*
57 .*---------------------------------------------------------------------*
59 .*---------------------------------------------------------------------*
60 No specific hardware requirement.
61 .*---------------------------------------------------------------------*
63 .*---------------------------------------------------------------------*
64 Tests shall be carried out on the following platforms:
66 :li D='1.'.Solaris 8 (Sun OS 5.8) (gcc 3.0.4)
67 :li D='2.'.SUSE Linux Enterprise server 8 (2.4.19-4GB) (gcc 3.2)
68 :li D='3.'.CYGWIN_NT-5.0 (Cygwin DLL: 1.5.12) on Windows 2000 (gcc 3.3.3)
70 .*---------------------------------------------------------------------*
72 .*---------------------------------------------------------------------*
73 The test environment had been setup in CVS. The tester program is stored in:
74 :nl.TTCNv3/function_test/Tools/SAtester.pl
75 :nl.Test cases are stored with extension .script in the directory:
76 :nl.TTCNv3/function_test/Semantic_Analyser/
77 .*---------------------------------------------------------------------*
79 .*---------------------------------------------------------------------*
80 Install proper TITAN binaries on the used platforms and make sure that
81 your environment settings are correct:
83 :li D='1.'.TTCN3_DIR is set
84 :li D='2.'.$TTCN3_DIR/bin is added to the PATH variable
85 :li D='3.'.$TTCN3_DIR/lib is added to the LD_LIBRARY_PATH variable
86 :li D='4.'.Perl 5.6.0 or higher is available on the platform
87 :li D='5.'.Create a symlink to your Perl binary into the directory where the
88 test cases are stored:
89 :nl.ln -s <your Perl> perl
91 .*---------------------------------------------------------------------*
93 .*---------------------------------------------------------------------*
94 A tester program had been written in Perl especially for the Semantic Analyser
95 tests. For the list of command line parameters, type 'SAtester.pl -help', for the
96 complete documentation, type 'SAtester.pl -doc'.
97 :p.Test cases are specified in the Test Description documents in EDML format.
98 The tester program parses these files and generates the TTCN-3/ASN.1 modules, then
99 calls the compiler to compile them. The result printout is then matched against
100 different patterns to be able to set the verdict. Test cases contain not only
101 the source modules, but the patterns as well.
102 :p.The tester program allows one-by-one execution of test cases and batched
104 :p.NOTE: the tester program requires Perl 5.6.0 or higher.
105 .*---------------------------------------------------------------------*
107 .*---------------------------------------------------------------------*
108 Ref [1]: SA-5/x: Type compatibility
110 .*---------------------------------------------------------------------*
111 :h2.Type id. is omitted when the value unambigously identifies the type
112 .*---------------------------------------------------------------------*
113 This test case group covers the requirement SA-5/1.
115 The first few testcases below test each possible port operation with an
116 ambiguous type. Then several other possible ambiguous types are tested
117 with one seleced port operation. The last few testcases test other
118 possibilities of omitted type identifiers.
120 Type is unambiguous with the port operations call, getcall, reply and
121 getreply because the signature should be present if an inline template
122 is used. If the signature is not present in these cases and the testport
123 has more than one signature in the corresponding type list then the
124 compiler will always print errors when omitting the signature with
127 Omitting the signature in port operations raise and catch will cause
128 parser errors. Ambiguous types can be tested with these port operations
129 regarding the types listed in the exception list of a specific signature.
131 .*---------------------------------------------------------------------*
132 :h3.Omitted type id - send port operation
133 .*---------------------------------------------------------------------*
136 <TC - Omitted type id - send port operation>
140 <MODULE TTCN Temp Temp.ttcn>
143 type port MyPort message {
144 inout charstring, universal charstring
147 type component MyComponent {
151 testcase TC() runs on MyComponent {
158 (?im)type.+?is.+?ambiguous
164 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
170 .*---------------------------------------------------------------------*
171 :h3.Omitted type id - receive port operation
172 .*---------------------------------------------------------------------*
175 <TC - Omitted type id - receive port operation>
179 <MODULE TTCN Temp Temp.ttcn>
182 type port MyPort message {
183 inout charstring, universal charstring
186 type component MyComponent {
190 testcase TC() runs on MyComponent {
191 myPort.receive("ABC");
193 []myPort.receive("ABC") { }
200 (?im)type.+?is.+?ambiguous
206 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
212 .*---------------------------------------------------------------------*
213 :h3.Omitted type id - raise port operation
214 .*---------------------------------------------------------------------*
217 <TC - Omitted type id - raise port operation>
221 <MODULE TTCN Temp Temp.ttcn>
224 signature Sig() exception (charstring, universal charstring);
226 type port MyPort procedure {
230 type component MyComponent {
234 testcase TC() runs on MyComponent {
235 myPort.raise(Sig, "abc");
241 (?im)type.+?is.+?ambiguous
247 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
253 .*---------------------------------------------------------------------*
254 :h3.Omitted type id - catch port operation
255 .*---------------------------------------------------------------------*
258 <TC - Omitted type id - catch port operation>
262 <MODULE TTCN Temp Temp.ttcn>
265 signature Sig() exception (charstring, universal charstring);
267 type port MyPort procedure {
271 type component MyComponent {
275 testcase TC() runs on MyComponent {
277 []myPort.catch(Sig, "abc") { }
284 (?im)type.+?is.+?ambiguous
290 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
296 .*---------------------------------------------------------------------*
297 :h3.Omitted type id - identical structured types
298 .*---------------------------------------------------------------------*
301 <TC - Omitted type id - identical structured types>
305 <MODULE TTCN Temp Temp.ttcn>
308 type record MyRecord1 {
313 type record MyRecord2 {
318 type port MyPort message {
319 inout MyRecord1, MyRecord2
322 type component MyComponent {
326 testcase TC() runs on MyComponent {
327 myPort.send({ "abc", 1 });
328 // myPort.receive({ "def", 2 });
334 (?im)cannot.+?determine.+?type
340 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
346 .*---------------------------------------------------------------------*
347 :h3.Omitted type id - ambiguous structured types
348 .*---------------------------------------------------------------------*
351 <TC - Omitted type id - ambiguous structured types>
355 <MODULE TTCN Temp Temp.ttcn>
358 type record MyRecord1 {
363 type record MyRecord2 {
364 universal charstring f_ucs,
368 type port MyPort message {
369 inout MyRecord1, MyRecord2
372 type component MyComponent {
376 testcase TC() runs on MyComponent {
377 myPort.send({ "abc", 1 });
378 // myPort.receive({ "def", 2 });
384 (?im)cannot.+?determine.+?type
390 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
396 .*---------------------------------------------------------------------*
397 :h3.Omitted type id - set type
398 .*---------------------------------------------------------------------*
401 <TC - Omitted type id - set type>
405 <MODULE TTCN Temp Temp.ttcn>
415 universal charstring f_ucs
418 type port MyPort message {
422 type component MyComponent {
426 testcase TC() runs on MyComponent {
427 myPort.send({ "abc", 1 });
428 // myPort.receive({ "def", 2 });
434 (?im)cannot.+?determine.+?type
440 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
446 .*---------------------------------------------------------------------*
447 :h3.Omitted type id - enumerated type
448 .*---------------------------------------------------------------------*
451 <TC - Omitted type id - enumerated type>
455 <MODULE TTCN Temp Temp.ttcn>
458 type enumerated MyEnum1 { ONE(1), TWO(2), THREE(3) }
459 type enumerated MyEnum2 { ONE(1), THREE(3), FIVE(5) }
461 type port MyPort message {
462 inout MyEnum1, MyEnum2
465 type component MyComponent {
469 testcase TC() runs on MyComponent {
471 // myPort.receive(THREE);
477 (?im)\bno\b.+?definition.+?ONE
483 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
489 .*---------------------------------------------------------------------*
490 :h3.Omitted type id - record of
491 .*---------------------------------------------------------------------*
494 <TC - Omitted type id - record of>
498 <MODULE TTCN Temp Temp.ttcn>
501 type record length(3) of integer RI3;
502 type record length(2..4) of integer RI2_4;
504 type port MyPort message {
508 type component MyComponent {
512 testcase TC() runs on MyComponent {
513 myPort.send({1,2,3});
514 // myPort.receive({1,2,3});
520 (?im)cannot.+?determine.+?type
526 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
532 .*---------------------------------------------------------------------*
533 :h3.Omitted type id - empty record of
534 .*---------------------------------------------------------------------*
537 <TC - Omitted type id - empty record of>
541 <MODULE TTCN Temp Temp.ttcn>
544 type record of integer RI;
545 type record of float RF;
547 type port MyPort message {
551 type component MyComponent {
555 testcase TC() runs on MyComponent {
557 // myPort.receive({});
563 (?im)cannot.+?determine.+?type
569 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
575 .*---------------------------------------------------------------------*
576 :h3.Omitted type id - record of and set of
577 .*---------------------------------------------------------------------*
580 <TC - Omitted type id - record of and set of>
584 <MODULE TTCN Temp Temp.ttcn>
587 type record of integer RI;
588 type set of integer SI;
590 type port MyPort message {
594 type component MyComponent {
598 testcase TC() runs on MyComponent {
599 myPort.send({1,2,3});
600 // myPort.receive({1,2,3});
606 (?im)cannot.+?determine.+?type
612 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
618 .*---------------------------------------------------------------------*
619 :h3.Omitted type id - subtyping
620 .*---------------------------------------------------------------------*
623 <TC - Omitted type id - subtyping>
627 <MODULE TTCN Temp Temp.ttcn>
630 type integer UInt4 (0..15);
631 type integer UInt8 (0..255);
633 type record MyRecord1 {
638 type record MyRecord2 {
643 type port MyPort message {
644 inout MyRecord1, MyRecord2;
647 type component MyComponent {
651 testcase TC() runs on MyComponent {
653 // myPort.receive({8,8});
659 (?im)cannot.+?determine.+?type
665 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
671 .*---------------------------------------------------------------------*
672 :h3.Omitted type id - matching identical structured types
673 .*---------------------------------------------------------------------*
676 <TC - Omitted type id - matching identical structured types>
680 <MODULE TTCN Temp Temp.ttcn>
683 type record MyRecord1 {
688 type record MyRecord2 {
694 if(match({"foobar", 1}, {*, ?})) { }
700 (?im)cannot.+?determine.+?type
706 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
712 .*---------------------------------------------------------------------*
713 :h3.Omitted type id - comparing enumerations in if statement
714 .*---------------------------------------------------------------------*
717 <TC - Omitted type id - comparing enumerations>
721 <MODULE TTCN Temp Temp.ttcn>
724 type enumerated MyEnum1 { ONE(1), TWO(2) }
725 type enumerated MyEnum2 { ONE(1), THREE(3) }
734 (?im)cannot.+?determine.+?type
740 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
746 .*---------------------------------------------------------------------*
747 :h3.Omitted type id - comparing enumerations in while loop
748 .*---------------------------------------------------------------------*
751 <TC - Omitted type id - comparing enumerations in while loop>
755 <MODULE TTCN Temp Temp.ttcn>
758 type enumerated MyEnum1 { ONE(1), TWO(2), THREE(3) }
759 type enumerated MyEnum2 { ONE(1), THREE(3), FIVE(5) }
762 while(ONE != THREE) { }
768 (?im)cannot.+?determine.+?type
774 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
780 .*---------------------------------------------------------------------*
781 :h3.Omitted type id - comparing enumerations in for loop
782 .*---------------------------------------------------------------------*
785 <TC - Omitted type id - comparing enumerations in for loop>
789 <MODULE TTCN Temp Temp.ttcn>
792 type enumerated MyEnum1 { ONE(1), TWO(2), THREE(3) }
793 type enumerated MyEnum2 { ONE(1), THREE(3), FIVE(5) }
796 for(var integer dummy:=0; ONE < THREE; dummy:=dummy+1) { }
802 (?im)cannot.+?determine.+?type
805 (?im)operand.+?should.+?\bbe\b.+?integer.+?float.+?\bor\b.+?enumerated.+?value
811 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
817 .*---------------------------------------------------------------------*
818 :h3.Omitted type id - comparing enumerations in do-while loop
819 .*---------------------------------------------------------------------*
822 <TC - Omitted type id - comparing enumerations in do-while loop>
826 <MODULE TTCN Temp Temp.ttcn>
829 type enumerated MyEnum1 { ONE(1), TWO(2), THREE(3) }
830 type enumerated MyEnum2 { ONE(1), THREE(3), FIVE(5) }
833 do { } while(THREE >= ONE);
839 (?im)cannot.+?determine.+?type
842 (?im)operand.+?should.+?\bbe\b.+?integer.+?float.+?\bor\b.+?enumerated.+?value
848 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
855 .*---------------------------------------------------------------------*
856 :h2.Type compatibility with evaluated expressions
857 .*---------------------------------------------------------------------*
858 This test case group covers the requirement SA-5/2.
859 All evaluated expressions shall be compatible with the type that is
860 expected in the place of the expression.
862 Not all of the type/expression combinations were tested, but the
863 testcases try to involve possible TTCN-3 types and expressions.
865 .*---------------------------------------------------------------------*
866 :h3.Evaluated expression - addition
867 .*---------------------------------------------------------------------*
870 <TC - Evaluated expression - addition>
874 <MODULE TTCN Temp Temp.ttcn>
878 var integer FaultyInt := 3.0 + 4.0;
879 var float FaultyFloat := 3 + 4;
881 FaultyTimer.start(1+1);
887 (?im)integer.+?value.+?expected
890 (?im)float.+?value.+?expected
893 (?im)value.+?float.+?expected
899 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
905 .*---------------------------------------------------------------------*
906 :h3.Evaluated expression - subtraction
907 .*---------------------------------------------------------------------*
910 <TC - Evaluated expression - subtraction>
914 <MODULE TTCN Temp Temp.ttcn>
918 var integer FaultyInt := 3.0 - 4.0;
919 var objid FaultyObjid := 3 - 4;
926 (?im)integer.+?value.+?expected
929 (?im)objid.+?value.+?expected
932 (?im)boolean.+?expected
938 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
944 .*---------------------------------------------------------------------*
945 :h3.Evaluated expression - multiplication
946 .*---------------------------------------------------------------------*
949 <TC - Evaluated expression - multiplication>
953 <MODULE TTCN Temp Temp.ttcn>
957 var integer FaultyInt := 3.14 * 2.2;
958 var float FaultyFloat := 2 * 2;
962 [9.0*1.1]T.timeout { }
969 (?im)integer.+?value.+?expected
972 (?im)float.+?value.+?expected
975 (?im)boolean.+?expected
981 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
987 .*---------------------------------------------------------------------*
988 :h3.Evaluated expression - division
989 .*---------------------------------------------------------------------*
992 <TC - Evaluated expression - division>
996 <MODULE TTCN Temp Temp.ttcn>
1000 var integer FaultyInt := 4.0 / 4.0;
1001 var float FaultyFloat := 4 / 2;
1008 (?im)integer.+?value.+?expected
1011 (?im)float.+?value.+?expected
1014 (?im)verdict.+?expected
1020 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1026 .*---------------------------------------------------------------------*
1027 :h3.Evaluated expression - modulo
1028 .*---------------------------------------------------------------------*
1031 <TC - Evaluated expression - modulo>
1035 <MODULE TTCN Temp Temp.ttcn>
1039 var float FaultyFloat := 4 mod 3;
1046 (?im)float.+?value.+?expected
1049 (?im)boolean.+?expected
1055 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1061 .*---------------------------------------------------------------------*
1062 :h3.Evaluated expression - remainder
1063 .*---------------------------------------------------------------------*
1066 <TC - Evaluated expression - remainder>
1070 <MODULE TTCN Temp Temp.ttcn>
1074 var float FaultyFloat := 4 rem 3;
1081 (?im)float.+?value.+?expected
1084 (?im)boolean.+?expected
1090 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1096 .*---------------------------------------------------------------------*
1097 :h3.Evaluated expression - string concatenation
1098 .*---------------------------------------------------------------------*
1101 <TC - Evaluated expression - string concatenation>
1105 <MODULE TTCN Temp Temp.ttcn>
1109 var charstring FaultyCS := '0011'B & '1100'B;
1110 var universal charstring FaultyUCS := 'A5'H & 'C3A'H;
1111 var bitstring FaultyBS := "abc" & "def";
1112 var hexstring FaultyHS := 'ABCD'O & 'CDEF'O;
1113 var octetstring FaultyOS := "abc" & "def";
1120 (?im)character string.+?value.+?expected
1123 (?im)bitstring.+?value.+?expected
1126 (?im)hexstring.+?value.+?expected
1129 (?im)octetstring.+?value.+?expected
1132 (?im)boolean.+?expected
1138 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1144 .*---------------------------------------------------------------------*
1145 :h3.Evaluated expression - less then operator
1146 .*---------------------------------------------------------------------*
1149 <TC - Evaluated expression - less then operator>
1153 <MODULE TTCN Temp Temp.ttcn>
1157 var integer FaultyInt := 3 < 3;
1158 var float FaultyFloat := 3.14 < 4.0;
1164 (?im)integer.+?value.+?expected
1167 (?im)float.+?value.+?expected
1173 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1179 .*---------------------------------------------------------------------*
1180 :h3.Evaluated expression - greater then operator
1181 .*---------------------------------------------------------------------*
1184 <TC - Evaluated expression - greater then operator>
1188 <MODULE TTCN Temp Temp.ttcn>
1192 var integer FaultyInt := 3 > 3;
1193 var float FaultyFloat := 2.2 > 1.7;
1199 (?im)integer.+?value.+?expected
1202 (?im)float.+?value.+?expected
1208 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1214 .*---------------------------------------------------------------------*
1215 :h3.Evaluated expression - not equal operator
1216 .*---------------------------------------------------------------------*
1219 <TC - Evaluated expression - not equal operator>
1223 <MODULE TTCN Temp Temp.ttcn>
1227 var integer FaultyInt := 3.3 != 3.3;
1228 var float FaultyFloat := 2e2 != 200.0;
1234 (?im)integer.+?value.+?expected
1237 (?im)float.+?value.+?expected
1243 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1249 .*---------------------------------------------------------------------*
1250 :h3.Evaluated expression - less then or equal operator
1251 .*---------------------------------------------------------------------*
1254 <TC - Evaluated expression - less then or equal operator>
1258 <MODULE TTCN Temp Temp.ttcn>
1262 var integer FaultyInt := 3.3 <= 3.3;
1263 var float FaultyFloat := 3.33 <= 3.333;
1269 (?im)integer.+?value.+?expected
1272 (?im)float.+?value.+?expected
1278 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1284 .*---------------------------------------------------------------------*
1285 :h3.Evaluated expression - greater then or equal operator
1286 .*---------------------------------------------------------------------*
1289 <TC - Evaluated expression - greater then or equal operator>
1293 <MODULE TTCN Temp Temp.ttcn>
1297 var integer FaultyInt := 3.3 >= 3.3;
1298 var float FaultyFloat := 3.333 >= 3.33;
1304 (?im)integer.+?value.+?expected
1307 (?im)float.+?value.+?expected
1313 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1319 .*---------------------------------------------------------------------*
1320 :h3.Evaluated expression - logical not operator
1321 .*---------------------------------------------------------------------*
1324 <TC - Evaluated expression - logical not operator>
1328 <MODULE TTCN Temp Temp.ttcn>
1332 var boolean Bool := false;
1333 var integer FaultyInt := not true;
1334 var bitstring FaultyBS := not Bool;
1340 (?im)integer.+?value.+?expected
1343 (?im)bitstring.+?value.+?expected
1349 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1355 .*---------------------------------------------------------------------*
1356 :h3.Evaluated expression - logical and operator
1357 .*---------------------------------------------------------------------*
1360 <TC - Evaluated expression - logical and operator>
1364 <MODULE TTCN Temp Temp.ttcn>
1367 type record MyRecord { integer field1 }
1370 var boolean Bool := false;
1371 var integer FaultyInt := Bool and true;
1372 var MyRecord myRec := true and true;
1378 (?im)value.+?integer.+?expected.+?instead.+?boolean
1381 (?im)record.+?value.+?expected
1387 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1393 .*---------------------------------------------------------------------*
1394 :h3.Evaluated expression - logical or operator
1395 .*---------------------------------------------------------------------*
1398 <TC - Evaluated expression - logical or operator>
1402 <MODULE TTCN Temp Temp.ttcn>
1405 type record of boolean RecOfBool;
1408 var boolean Bool := true;
1409 var integer FaultyInt := true or false;
1410 var RecOfBool FaultyRB := Bool or Bool;
1416 (?im)integer.+?value.+?expected
1419 (?im)RecOfBool.+?value.+?expected
1425 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1431 .*---------------------------------------------------------------------*
1432 :h3.Evaluated expression - logical xor operator
1433 .*---------------------------------------------------------------------*
1436 <TC - Evaluated expression - logical xor operator>
1440 <MODULE TTCN Temp Temp.ttcn>
1444 var boolean Bool := false;
1445 var integer FaultyInt := true xor true;
1446 timer FaultyTimer := Bool xor true;
1452 (?im)integer.+?value.+?expected
1455 (?im)float.+?expected
1461 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1467 .*---------------------------------------------------------------------*
1468 :h3.Evaluated expression - bitwise not operator
1469 .*---------------------------------------------------------------------*
1472 <TC - Evaluated expression - bitwise not operator>
1476 <MODULE TTCN Temp Temp.ttcn>
1479 function parF (in charstring Par) { }
1482 var octetstring FaultyOS := not4b 'AA5'H;
1483 var integer FaultyInt := not4b '1100'B;
1490 (?im)octetstring.+?value.+?expected
1493 (?im)integer.+?value.+?expected
1496 (?im)character string.+?value.+?expected
1502 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1508 .*---------------------------------------------------------------------*
1509 :h3.Evaluated expression - bitwise and operator
1510 .*---------------------------------------------------------------------*
1513 <TC - Evaluated expression - bitwise and operator>
1517 <MODULE TTCN Temp Temp.ttcn>
1520 const integer cInt[3] := { 1, 2, 3 }
1523 var integer FaultyInt1 := '5A2C'O and4b '73BC'O;
1524 timer FaultyTimer := '999'H and4b '111'H;
1525 var integer FaultyInt2 := cInt['10'B and4b '01'B];
1531 (?im)integer.+?value.+?expected
1534 (?im)float.+?expected
1537 (?im)integer.+?value.+?expected.+?index
1543 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1549 .*---------------------------------------------------------------------*
1550 :h3.Evaluated expression - bitwise or operator
1551 .*---------------------------------------------------------------------*
1554 <TC - Evaluated expression - bitwise or operator>
1558 <MODULE TTCN Temp Temp.ttcn>
1562 var integer FaultyInt := '1111'B or4b '0101'B;
1563 var hexstring FaultyHS := '1234'O or4b '5678'O;
1564 setverdict('99'O or4b 'A5'O);
1570 (?im)integer.+?value.+?expected
1573 (?im)hexstring.+?value.+?expected
1576 (?im)verdict.+?expected
1582 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1588 .*---------------------------------------------------------------------*
1589 :h3.Evaluated expression - bitwise xor operator
1590 .*---------------------------------------------------------------------*
1593 <TC - Evaluated expression - bitwise xor operator>
1597 <MODULE TTCN Temp Temp.ttcn>
1601 var integer FaultyInt := '0000'B xor4b '1000'B;
1602 var bitstring FaultyBS := '234'H xor4b '555'H;
1603 while('7'H xor4b '5'H) { }
1609 (?im)integer.+?value.+?expected
1612 (?im)bitstring.+?value.+?expected
1615 (?im)boolean.+?expected
1621 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1627 .*---------------------------------------------------------------------*
1628 :h3.Evaluated expression - shift operator
1629 .*---------------------------------------------------------------------*
1632 <TC - Evaluated expression - shift operator>
1636 <MODULE TTCN Temp Temp.ttcn>
1640 var integer FaultyInt := '1010'B << 1;
1641 var bitstring FaultyBS := '234'H >> 2;
1642 for(var integer C:=0; '1100'B << 2; C:=C+1) { }
1648 (?im)integer.+?value.+?expected
1651 (?im)bitstring.+?value.+?expected
1654 (?im)boolean.+?expected
1660 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1666 .*---------------------------------------------------------------------*
1667 :h3.Evaluated expression - rotate operator
1668 .*---------------------------------------------------------------------*
1671 <TC - Evaluated expression - rotate operator>
1675 <MODULE TTCN Temp Temp.ttcn>
1679 var integer FaultyInt := '1010'B <@ 1;
1680 var bitstring FaultyBS := '234'H @> 2;
1681 timer FaultyTimer := "abc" <@ 3;
1682 do { } while("xyz" @> 1);
1688 (?im)integer.+?value.+?expected
1691 (?im)bitstring.+?value.+?expected
1694 (?im)float.+?expected
1697 (?im)boolean.+?expected
1703 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1710 .*---------------------------------------------------------------------*
1711 :h3.Assignment of arrays with different indices
1712 .*---------------------------------------------------------------------*
1714 .*---------------------------------------------------------------------*
1715 :h4. Assignment of arrays with different indices - array range 2
1716 .*---------------------------------------------------------------------*
1719 <TC - Assignment of arrays with different indices - array range 2>
1723 <MODULE TTCN Temp Temp.ttcn>
1726 const integer i1[0 .. 2] := {1, 2, 3};
1727 const integer i2[3] := i1;
1728 const integer i3[0..2]:=i1;
1730 const integer i4[9..11] := {1,2,3};
1731 const integer i5[9..11] := i4;
1734 <RESULT IF_PASS NEGATIVE>
1741 .*---------------------------------------------------------------------*
1742 :h4. Assignment of arrays with different indices - array of array range 2
1743 .*---------------------------------------------------------------------*
1746 <TC - Assignment of arrays with different indices - array of array range 2>
1750 <MODULE TTCN Temp Temp.ttcn>
1753 const integer i1[2][0 .. 2] := {{1, 2, 3},{4,5,6}};
1754 const integer i2[2][3] := i1;
1755 const integer i3[2][0..2]:=i1;
1757 const integer i4[3][9..11] := {{1,2,3},{4,5,6},{7,8,9}};
1758 const integer i5[3][9..11] := i4;
1761 <RESULT IF_PASS NEGATIVE>
1768 .*---------------------------------------------------------------------*
1769 :h3.Type compatibility of non-structured types
1770 .*---------------------------------------------------------------------*
1772 .*---------------------------------------------------------------------*
1773 :h4. Type compatibility of non-structured types - integer
1774 .*---------------------------------------------------------------------*
1777 <TC - Type compatibility of non-structured types - integer>
1780 <MODULE TTCN Temp Temp.ttcn>
1784 type integer itype1 (0 .. infinity)
1785 type integer itype2 (-infinity .. 0)
1786 type integer itype3 (1,2,4,5, 8 .. 10)
1787 type integer itype4 (6 .. 7)
1789 const integer i1 := -5;
1790 const itype1 i2 := i1;
1792 const integer i3 := 5;
1793 const itype2 i4 := i3;
1795 const integer i5 := 6;
1796 const itype3 i6 := i5;
1798 const itype3 i7 := 5;
1799 const itype4 i8 := i7;
1804 (?im)not.+?valid.+?value.+?for.+?subtype
1807 (?is)\berror: Subtype mismatch: subtype \(6..7\) has no common value with subtype \(1..2,4..5,8..10\)
1813 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1819 .*---------------------------------------------------------------------*
1820 :h4. Type compatibility of non-structured types - float
1821 .*---------------------------------------------------------------------*
1824 <TC - Type compatibility of non-structured types - float>
1827 <MODULE TTCN Temp Temp.ttcn>
1831 type float ftype1 (0.0 .. infinity)
1832 type float ftype2 (-infinity .. 0.0)
1833 type float ftype3 (1.0, 2E0, 4.1E-1, 8.0 .. 10.0)
1834 type float ftype4 (6.0 .. 7.0)
1836 const float f1 := -5.0;
1837 const ftype1 f2 := f1;
1839 const float f3 := 5.0;
1840 const ftype2 f4 := f3;
1842 const float f5 := 6.0;
1843 const ftype3 f6 := f5;
1845 const ftype3 f7 := 4.1E-1;
1846 const ftype4 f8 := f7;
1851 (?im)not.+?valid.+?value.+?for.+?subtype
1854 (?is)\berror: Subtype mismatch: subtype \(6(\.0)?e0\.\.7(\.0)?e0\) has no common value with subtype \(4\.1e-1,1(\.0)?e0,2(\.0)?e0,8.0e0\.\.1(\.0)?e1\)
1860 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1866 .*---------------------------------------------------------------------*
1867 :h4. Type compatibility of non-structured types - char
1868 .*---------------------------------------------------------------------*
1871 <TC - Type compatibility of non-structured types - char>
1874 <MODULE TTCN Temp Temp.ttcn>
1878 type char ctype1 ("b", "d", "f", "h")
1879 type char ctype2 ("B", "D", "F", "H")
1881 const char c1 := "a";
1882 const ctype1 c2 := c1;
1884 const char c3 := "A";
1885 const ctype1 c4 := c3;
1890 (?im)not.+?valid.+?value.+?for.+?subtype
1896 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1902 .*---------------------------------------------------------------------*
1903 :h4. Type compatibility of non-structured types - charstring
1904 .*---------------------------------------------------------------------*
1907 <TC - Type compatibility of non-structured types - charstring>
1910 <MODULE TTCN Temp Temp.ttcn>
1914 type charstring ctype1 ("b", "d", "f")
1915 type charstring ctype2 ("B", "D", "F")
1917 const charstring c1 := "a";
1918 const ctype1 c2 := c1;
1920 const charstring c3 := "A";
1921 const ctype2 c4 := c3;
1923 const ctype1 c5 := "f"
1924 const ctype2 c6 := c5;
1929 (?im)not.+?valid.+?value.+?for.+?subtype
1935 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1941 .*---------------------------------------------------------------------*
1942 :h4. Type compatibility of non-structured types - boolean
1943 .*---------------------------------------------------------------------*
1946 <TC - Type compatibility of non-structured types - boolean>
1949 <MODULE TTCN Temp Temp.ttcn>
1953 type boolean btype1 (true)
1954 type boolean btype2 (false)
1956 const boolean b1 := false;
1957 const btype1 b2 := b1;
1959 const boolean b3 := true;
1960 const btype2 b4 := b3;
1962 const btype1 b5 := true;
1963 const btype2 b6 := b5;
1968 (?im)not.+?valid.+?value.+?for.+?subtype
1971 (?is)\berror: Subtype mismatch: subtype \(false\) has no common value with subtype \(true\)
1977 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
1983 .*---------------------------------------------------------------------*
1984 :h4. Type compatibility of non-structured types - bitstring
1985 .*---------------------------------------------------------------------*
1988 <TC - Type compatibility of non-structured types - bitstring>
1991 <MODULE TTCN Temp Temp.ttcn>
1995 type bitstring btype1 ('00'B,'01'B,'10'B)
1996 type bitstring btype2 length(3)
1997 type bitstring btype3 ('000111'B)
1998 type bitstring btype4 length(3 ..5)
2000 const bitstring b1 := '11'B
2001 const btype1 b2 := b1
2003 const bitstring b3 := '1101'B
2004 const btype2 b4 := b3
2006 const btype1 b5 := '01'B
2007 const btype2 b6 := b5
2009 const btype3 b7 := '000111'B
2010 const btype1 b8 := b7
2011 const btype2 b9 := b7
2012 const btype4 b10 := b7
2018 (?is)\berror: '11'B is not a valid value for type `bitstring' which has subtype length\(2\) except \('11'B\)
2021 (?is)\berror: '1101'B is not a valid value for type `bitstring' which has subtype length\(3\)
2024 (?is)\berror: Subtype mismatch: subtype length\(3\) has no common value with subtype length\(2\) except \('11'B\)
2027 (?im)error:.+?has no common value with subtype \('000111'B\)
2033 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2039 .*---------------------------------------------------------------------*
2040 :h4. Type compatibility of non-structured types - hexstring
2041 .*---------------------------------------------------------------------*
2044 <TC - Type compatibility of non-structured types - hexstring>
2047 <MODULE TTCN Temp Temp.ttcn>
2051 type hexstring htype1 ('00'H,'01'H,'10'H)
2052 type hexstring htype2 length(3)
2053 type hexstring htype3 ('000111'H)
2054 type hexstring htype4 length(3 ..5)
2056 const hexstring h1 := '11'H
2057 const htype1 h2 := h1
2059 const hexstring h3 := '1101'H
2060 const htype2 h4 := h3
2062 const htype1 h5 := '01'H
2063 const htype2 h6 := h5
2065 const htype3 h7 := '000111'H
2066 const htype1 h8 := h7
2067 const htype2 h9 := h7
2068 const htype4 h10 := h7
2074 (?is)\berror: '11'H is not a valid value for type `hexstring' which has subtype \('00'H,'01'H,'10'H\)
2077 (?is)\berror: '1101'H is not a valid value for type `hexstring' which has subtype length\(3\)
2080 (?is)\berror: Subtype mismatch: subtype length\(3\) has no common value with subtype \('00'H,'01'H,'10'H\)
2083 (?im)error:.+?has no common value with subtype \('000111'H\)
2089 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2095 .*---------------------------------------------------------------------*
2096 :h4. Type compatibility of non-structured types - octetstring
2097 .*---------------------------------------------------------------------*
2100 <TC - Type compatibility of non-structured types - octetstring>
2103 <MODULE TTCN Temp Temp.ttcn>
2107 type octetstring otype1 ('00'O,'01'O,'10'O)
2108 type octetstring otype2 length(3)
2109 type octetstring otype3 ('000000111111'O)
2110 type octetstring otype4 length(3 ..5)
2112 const octetstring o1 := '11'O
2113 const otype1 o2 := o1
2115 const octetstring o3 := '1101'O
2116 const otype2 o4 := o3
2118 const otype1 o5 := '01'O
2119 const otype2 o6 := o5
2121 const otype3 o7 := '000000111111'O
2122 const otype1 o8 := o7
2123 const otype2 o9 := o7
2124 const otype4 o10 := o7
2130 (?is)\berror: '11'O is not a valid value for type `octetstring' which has subtype \('00'O,'01'O,'10'O\)
2133 (?is)\berror: '1101'O is not a valid value for type `octetstring' which has subtype length\(3\)
2136 (?is)\berror: Subtype mismatch: subtype length\(3\) has no common value with subtype \('00'O,'01'O,'10'O\)
2139 (?im)error:.+?has no common value with subtype \('000000111111'O\)
2145 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2150 .*---------------------------------------------------------------------*
2151 :h3. Non-float initialiser
2152 .*---------------------------------------------------------------------*
2153 .*---------------------------------------------------------------------*
2154 :h3. Template type mismatch in modified template
2155 .*---------------------------------------------------------------------*
2157 .*---------------------------------------------------------------------*
2158 :h4. Template type mismatch in modified template - set of, enum
2159 .*---------------------------------------------------------------------*
2162 <TC - Template type mismatch in modified template - set of, enum>
2165 <MODULE TTCN Temp Temp.ttcn>
2169 type set of charstring stype;
2170 type enumerated etype {a, b, c}
2172 template stype t := {"a","b"};
2173 template etype t1 modifies t := a;
2179 (?im)modified.+?template.+?has.+?different.+?type.+?than.+?base.+?template
2185 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2191 .*---------------------------------------------------------------------*
2192 :h4. Template type mismatch in modified template - enum, integer
2193 .*---------------------------------------------------------------------*
2196 <TC - Template type mismatch in modified template - enum, integer>
2199 <MODULE TTCN Temp Temp.ttcn>
2203 type enumerated etype {a, b, c}
2205 template etype t := a;
2206 template integer t1 modifies t := 2;
2212 (?im)modified.+?template.+?has.+?different.+?type.+?than.+?base.+?template
2218 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2224 .*---------------------------------------------------------------------*
2225 :h4. Template type mismatch in modified template - float, integer
2226 .*---------------------------------------------------------------------*
2229 <TC - Template type mismatch in modified template - float, integer>
2232 <MODULE TTCN Temp Temp.ttcn>
2236 template integer t := 4;
2237 template float t1 modifies t := 4.0;
2243 (?im)modified.+?template.+?has.+?different.+?type.+?than.+?base.+?template
2249 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2255 .*---------------------------------------------------------------------*
2256 :h4. Template type mismatch in modified template - octetstring, hexstring
2257 .*---------------------------------------------------------------------*
2260 <TC - Template type mismatch in modified template - octetstring, hexstring>
2263 <MODULE TTCN Temp Temp.ttcn>
2267 template octetstring t := '1A'O;
2268 template hexstring t1 modifies t := '1A'H;
2274 (?im)modified.+?template.+?has.+?different.+?type.+?than.+?base.+?template
2280 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2286 .*---------------------------------------------------------------------*
2287 :h4. Template type mismatch in modified template - bitstring, boolean
2288 .*---------------------------------------------------------------------*
2291 <TC - Template type mismatch in modified template - bitstring, boolean>
2294 <MODULE TTCN Temp Temp.ttcn>
2298 template bitstring t := '1'B;
2299 template boolean t1 modifies t := false;
2305 (?im)modified.+?template.+?has.+?different.+?type.+?than.+?base.+?template
2311 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2316 .*---------------------------------------------------------------------*
2317 :h3. Incompatible types in 'match'
2318 .*---------------------------------------------------------------------*
2320 .*---------------------------------------------------------------------*
2321 :h3. Inapplicable operator
2322 .*---------------------------------------------------------------------*
2324 .*---------------------------------------------------------------------*
2325 :h4. Inapplicable operator - concatenation on integer constant
2326 .*---------------------------------------------------------------------*
2329 <TC - Inapplicable operator - concatenation on integer constant>
2332 <MODULE TTCN Temp Temp.ttcn>
2336 const integer i1 := 1 & 2
2341 (?im)operand.+?should.+?be.+?string.+?value
2347 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2353 .*---------------------------------------------------------------------*
2354 :h4. Inapplicable operator - logical operators on integer constant
2355 .*---------------------------------------------------------------------*
2358 <TC - Inapplicable operator - logical operators on integer constant>
2361 <MODULE TTCN Temp Temp.ttcn>
2365 const integer i1 := not 1
2366 const integer i2 := 1 and 2
2367 const integer i3 := 1 or 2
2368 const integer i4 := 1 xor 2
2373 (?im)operand.+?should.+?be.+?boolean.+?value
2379 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2385 .*---------------------------------------------------------------------*
2386 :h4. Inapplicable operator - bitwise operators on integer constant
2387 .*---------------------------------------------------------------------*
2390 <TC - Inapplicable operator - bitwise operators on integer constant>
2393 <MODULE TTCN Temp Temp.ttcn>
2397 const integer i1 := not4b 1
2398 const integer i2 := 1 and4b 2
2399 const integer i3 := 1 or4b 2
2400 const integer i4 := 1 xor4b 2
2406 (?im)operand.+?should.+?be.+?binary.+?string.+?value
2412 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2419 .*---------------------------------------------------------------------*
2420 :h4. Inapplicable operator - shift operators on integer constant
2421 .*---------------------------------------------------------------------*
2424 <TC - Inapplicable operator - shift operators on integer constant>
2427 <MODULE TTCN Temp Temp.ttcn>
2431 const integer i1 := 1 << 1
2432 const integer i2 := 1 >> 1
2433 const integer i3 := 1 << -1
2434 const integer i4 := 1 >> -1
2440 (?im)operand.+?should.+?be.+?binary.+?string.+?value
2446 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2452 .*---------------------------------------------------------------------*
2453 :h4. Inapplicable operator - rotate operators on integer constant
2454 .*---------------------------------------------------------------------*
2457 <TC - Inapplicable operator - rotate operators on integer constant>
2460 <MODULE TTCN Temp Temp.ttcn>
2464 const integer i1 := 1 <@ 1
2465 const integer i2 := 1 @> 1
2466 const integer i3 := 1 <@ -1
2467 const integer i4 := 1 @> -1
2473 (?im)operand.+?should.+?be.+?string.+?value
2479 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2485 .*---------------------------------------------------------------------*
2486 :h4. Inapplicable operator - concatenation on float constant
2487 .*---------------------------------------------------------------------*
2490 <TC - Inapplicable operator - concatenation on float constant>
2493 <MODULE TTCN Temp Temp.ttcn>
2497 const float f1 := 1.0 & 2E-1
2502 (?im)operand.+?should.+?be.+?string.+?value
2508 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2514 .*---------------------------------------------------------------------*
2515 :h4. Inapplicable operator - logical operators on float constant
2516 .*---------------------------------------------------------------------*
2519 <TC - Inapplicable operator - logical operators on float constant>
2522 <MODULE TTCN Temp Temp.ttcn>
2526 const float f1 := not 1.0
2527 const float f2 := 1.0 and 2E-1
2528 const float f3 := 1.0 or 2E-1
2529 const float f4 := 1.0 xor 2E-1
2534 (?im)operand.+?should.+?be.+?boolean.+?value
2540 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2546 .*---------------------------------------------------------------------*
2547 :h4. Inapplicable operator - bitwise operators on float constant
2548 .*---------------------------------------------------------------------*
2551 <TC - Inapplicable operator - bitwise operators on float constant>
2554 <MODULE TTCN Temp Temp.ttcn>
2558 const float f1 := not4b 1.0
2559 const float f2 := 1.0 and4b 2E-1
2560 const float f3 := 1.0 or4b 2E-1
2561 const float f4 := 1.0 xor4b 2E-1
2567 (?im)operand.+?should.+?be.+?binary.+?string.+?value
2573 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2579 .*---------------------------------------------------------------------*
2580 :h4. Inapplicable operator - shift operators on float constant
2581 .*---------------------------------------------------------------------*
2584 <TC - Inapplicable operator - shift operators on float constant>
2587 <MODULE TTCN Temp Temp.ttcn>
2591 const float f1 := 1.0 << 1
2592 const float f2 := 1.0 >> 1
2593 const float f3 := 1 << 1.0
2594 const float f4 := 1 >> 1.0
2600 (?im)Left.+?operand.+?should.+?be.+?binary.+?string.+?value
2603 (?im)Right.+?operand.+?should.+?be.+?integer.+?value
2609 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2615 .*---------------------------------------------------------------------*
2616 :h4. Inapplicable operator - rotate operators on float constant
2617 .*---------------------------------------------------------------------*
2620 <TC - Inapplicable operator - rotate operators on float constant>
2623 <MODULE TTCN Temp Temp.ttcn>
2627 const float f1 := 1.0 <@ 1
2628 const float f2 := 1.0 @> 1
2629 const float f3 := 1 <@ 1.0
2630 const float f4 := 1 @> 1.0
2636 (?im)Left.+?operand.+?should.+?be.+?string.+?value
2639 (?im)Right.+?operand.+?should.+?be.+?integer.+?value
2645 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2651 .*---------------------------------------------------------------------*
2652 :h4. Inapplicable operator - arithmetic operators on boolean constant
2653 .*---------------------------------------------------------------------*
2656 <TC - Inapplicable operator - arithmetic operators on boolean constant>
2659 <MODULE TTCN Temp Temp.ttcn>
2663 const boolean b1 := true
2664 const boolean b2 := false
2666 const boolean b3 := b1 + b2
2667 const boolean b4 := b1 - b2
2668 const boolean b5 := b1 * b2
2669 const boolean b6 := b1 / b2
2670 const boolean b7 := b1 mod b2
2671 const boolean b8 := b1 rem b2
2676 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
2679 (?im)operand.+?should.+?be.+?integer value
2685 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2691 .*---------------------------------------------------------------------*
2692 :h4. Inapplicable operator - concatenation on boolean constant
2693 .*---------------------------------------------------------------------*
2696 <TC - Inapplicable operator - concatenation on boolean constant>
2699 <MODULE TTCN Temp Temp.ttcn>
2703 const boolean b1 := true & false
2708 (?im)operand.+?should.+?be.+?string.+?value
2714 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2720 .*---------------------------------------------------------------------*
2721 :h4. Inapplicable operator - bitwise operators on boolean constant
2722 .*---------------------------------------------------------------------*
2725 <TC - Inapplicable operator - bitwise operators on boolean constant>
2728 <MODULE TTCN Temp Temp.ttcn>
2732 const boolean b1 := true
2733 const boolean b2 := false
2736 const boolean b3 := not4b b1
2737 const boolean b4 := b1 and4b b2
2738 const boolean b5 := b1 or4b b2
2739 const boolean b6 := b1 xor4b b2
2744 (?im)operand.+?should.+?be.+?binary.+?string.+?value
2750 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2756 .*---------------------------------------------------------------------*
2757 :h4. Inapplicable operator - shift operators on boolean constant
2758 .*---------------------------------------------------------------------*
2761 <TC - Inapplicable operator - shift operators on boolean constant>
2764 <MODULE TTCN Temp Temp.ttcn>
2768 const boolean b1 := true
2770 const boolean b2 := b1 << 1
2771 const boolean b3 := b1 >> 1
2776 (?im)operand.+?should.+?be.+?binary.+?string.+?value
2782 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2788 .*---------------------------------------------------------------------*
2789 :h4. Inapplicable operator - rotate operators on boolean constant
2790 .*---------------------------------------------------------------------*
2793 <TC - Inapplicable operator - rotate operators on boolean constant>
2796 <MODULE TTCN Temp Temp.ttcn>
2800 const boolean b1 := true
2802 const boolean b2 := b1 <@ 1
2803 const boolean b3 := b1 @> 1
2808 (?im)operand.+?should.+?be.+?string.+?value
2814 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2820 .*---------------------------------------------------------------------*
2821 :h4. Inapplicable operator - arithmetic operators on char constant
2822 .*---------------------------------------------------------------------*
2825 <TC - Inapplicable operator - arithmetic operators on char constant>
2828 <MODULE TTCN Temp Temp.ttcn>
2832 const char c1 := "a"
2835 const char c3 := c1 + c2
2836 const char c4 := c1 - c2
2837 const char c5 := c1 * c2
2838 const char c6 := c1 / c2
2839 const char c7 := c1 mod c2
2840 const char c8 := c1 rem c2
2845 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
2848 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
2851 (?im)operand.+?should.+?be.+?integer value
2857 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2863 .*---------------------------------------------------------------------*
2864 :h4. Inapplicable operator - logical operators on char constant
2865 .*---------------------------------------------------------------------*
2868 <TC - Inapplicable operator - logical operators on char constant>
2871 <MODULE TTCN Temp Temp.ttcn>
2875 const char c1 := "a"
2879 const char c3 := not c2
2880 const char c4 := c1 and c2
2881 const char c5 := c1 or c2
2882 const char c6 := c1 xor c2
2887 (?im)operand.+?should.+?be.+?boolean.+?value
2893 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2899 .*---------------------------------------------------------------------*
2900 :h4. Inapplicable operator - bitwise operators on char constant
2901 .*---------------------------------------------------------------------*
2904 <TC - Inapplicable operator - bitwise operators on char constant>
2907 <MODULE TTCN Temp Temp.ttcn>
2911 const char c1 := "a"
2915 const char c3 := not4b c2
2916 const char c4 := c1 and4b c2
2917 const char c5 := c1 or4b c2
2918 const char c6 := c1 xor4b c2
2923 (?im)operand.+?should.+?be.+?binary.+?string.+?value
2929 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2935 .*---------------------------------------------------------------------*
2936 :h4. Inapplicable operator - shift operators on char constant
2937 .*---------------------------------------------------------------------*
2940 <TC - Inapplicable operator - shift operators on char constant>
2943 <MODULE TTCN Temp Temp.ttcn>
2947 const char b2 := "a" << 1
2948 const char b3 := "" >> 1
2953 (?im)Left.+?operand.+?should.+?be.+?binary.+?string.+?value
2959 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
2965 .*---------------------------------------------------------------------*
2966 :h4. Inapplicable operator - arithmetic operators on bitstring constant
2967 .*---------------------------------------------------------------------*
2970 <TC - Inapplicable operator - arithmetic operators on bitstring constant>
2973 <MODULE TTCN Temp Temp.ttcn>
2977 const bitstring b1 := '00001111'B
2978 const bitstring b2 := ''B
2980 const bitstring b3 := b1 + b2
2981 const bitstring b4 := b1 - b2
2982 const bitstring b5 := b1 * b2
2983 const bitstring b6 := b1 / b2
2984 const bitstring b7 := b1 mod b2
2985 const bitstring b8 := b1 rem b2
2990 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
2993 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
2996 (?im)operand.+?should.+?be.+?integer value
3002 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3008 .*---------------------------------------------------------------------*
3009 :h4. Inapplicable operator - logical operators on bitstring constant
3010 .*---------------------------------------------------------------------*
3013 <TC - Inapplicable operator - logical operators on bitstring constant>
3016 <MODULE TTCN Temp Temp.ttcn>
3020 const bitstring b1 := '00001111'B
3021 const bitstring b2 := ''B
3024 const bitstring b3 := not b2
3025 const bitstring b4 := b1 and b2
3026 const bitstring b5 := b1 or b2
3027 const bitstring b6 := b1 xor b2
3032 (?im)operand.+?should.+?be.+?boolean.+?value
3038 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3044 .*---------------------------------------------------------------------*
3045 :h4. Inapplicable operator - arithmetic operators on hexstring constant
3046 .*---------------------------------------------------------------------*
3049 <TC - Inapplicable operator - arithmetic operators on hexstring constant>
3052 <MODULE TTCN Temp Temp.ttcn>
3056 const hexstring h1 := '00001111'H
3057 const hexstring h2 := ''H
3059 const hexstring h3 := h1 + h2
3060 const hexstring h4 := h1 - h2
3061 const hexstring h5 := h1 * h2
3062 const hexstring h6 := h1 / h2
3063 const hexstring h7 := h1 mod h2
3064 const hexstring h8 := h1 rem h2
3069 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
3072 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
3075 (?im)operand.+?should.+?be.+?integer value
3081 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3087 .*---------------------------------------------------------------------*
3088 :h4. Inapplicable operator - logical operators on hexstring constant
3089 .*---------------------------------------------------------------------*
3092 <TC - Inapplicable operator - logical operators on hexstring constant>
3095 <MODULE TTCN Temp Temp.ttcn>
3099 const hexstring h1 := '00001111'H
3100 const hexstring h2 := ''H
3103 const hexstring h3 := not h2
3104 const hexstring h4 := h1 and h2
3105 const hexstring h5 := h1 or h2
3106 const hexstring h6 := h1 xor h2
3111 (?im)operand.+?should.+?be.+?boolean.+?value
3117 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3123 .*---------------------------------------------------------------------*
3124 :h4. Inapplicable operator - arithmetic operators on octetstring constant
3125 .*---------------------------------------------------------------------*
3128 <TC - Inapplicable operator - arithmetic operators on octetstring constant>
3131 <MODULE TTCN Temp Temp.ttcn>
3135 const octetstring o1 := '00001111'O
3136 const octetstring o2 := ''O
3138 const octetstring o3 := o1 + o2
3139 const octetstring o4 := o1 - o2
3140 const octetstring o5 := o1 * o2
3141 const octetstring o6 := o1 / o2
3142 const octetstring o7 := o1 mod o2
3143 const octetstring o8 := o1 rem o2
3148 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
3151 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
3154 (?im)operand.+?should.+?be.+?integer value
3160 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3166 .*---------------------------------------------------------------------*
3167 :h4. Inapplicable operator - logical operators on octetstring constant
3168 .*---------------------------------------------------------------------*
3171 <TC - Inapplicable operator - logical operators on octetstring constant>
3174 <MODULE TTCN Temp Temp.ttcn>
3178 const octetstring o1 := '00001111'O
3179 const octetstring o2 := ''O
3182 const octetstring o3 := not o2
3183 const octetstring o4 := o1 and o2
3184 const octetstring o5 := o1 or o2
3185 const octetstring o6 := o1 xor o2
3190 (?im)operand.+?should.+?be.+?boolean.+?value
3196 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3202 .*---------------------------------------------------------------------*
3203 :h4. Inapplicable operator - arithmetic operators on charstring constant
3204 .*---------------------------------------------------------------------*
3207 <TC - Inapplicable operator - arithmetic operators on charstring constant>
3210 <MODULE TTCN Temp Temp.ttcn>
3214 const charstring c1 := "ABCDEF"
3215 const charstring c2 := ""
3217 const charstring c3 := c1 + c2
3218 const charstring c4 := c1 - c2
3219 const charstring c5 := c1 * c2
3220 const charstring c6 := c1 / c2
3221 const charstring c7 := c1 mod c2
3222 const charstring c8 := c1 rem c2
3227 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
3230 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
3233 (?im)operand.+?should.+?be.+?integer value
3239 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3245 .*---------------------------------------------------------------------*
3246 :h4. Inapplicable operator - logical operators on charstring constant
3247 .*---------------------------------------------------------------------*
3250 <TC - Inapplicable operator - logical operators on charstring constant>
3253 <MODULE TTCN Temp Temp.ttcn>
3257 const charstring c1 := "ABCDEF"
3258 const charstring c2 := ""
3261 const charstring c3 := not c2
3262 const charstring c4 := c1 and c2
3263 const charstring c5 := c1 or c2
3264 const charstring c6 := c1 xor c2
3269 (?im)operand.+?should.+?be.+?boolean.+?value
3275 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3281 .*---------------------------------------------------------------------*
3282 :h4. Inapplicable operator - bitwise operators on charstring constant
3283 .*---------------------------------------------------------------------*
3286 <TC - Inapplicable operator - bitwise operators on charstring constant>
3289 <MODULE TTCN Temp Temp.ttcn>
3293 const charstring c1 := "ABCDEF"
3294 const charstring c2 := ""
3297 const charstring c3 := not4b c2
3298 const charstring c4 := c1 and4b c2
3299 const charstring c5 := c1 or4b c2
3300 const charstring c6 := c1 xor4b c2
3305 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3311 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3317 .*---------------------------------------------------------------------*
3318 :h4. Inapplicable operator - shift operators on charstring constant
3319 .*---------------------------------------------------------------------*
3322 <TC - Inapplicable operator - shift operators on charstring constant>
3325 <MODULE TTCN Temp Temp.ttcn>
3329 const charstring b2 := "ABCDEF" << 1
3330 const charstring b3 := "ABCDEF" >> 1
3335 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3341 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3347 .*---------------------------------------------------------------------*
3348 :h4. Inapplicable operator - arithmetic operators on record constant
3349 .*---------------------------------------------------------------------*
3352 <TC - Inapplicable operator - arithmetic operators on record constant>
3355 <MODULE TTCN Temp Temp.ttcn>
3358 type record rtype {integer i}
3361 const rtype r1 := {1}
3362 const rtype r2 := {2}
3364 const rtype r3 := r1 + r2
3365 const rtype r4 := r1 - r2
3366 const rtype r5 := r1 * r2
3367 const rtype r6 := r1 / r2
3368 const rtype r7 := r1 mod r2
3369 const rtype r8 := r1 rem r2
3374 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
3377 (?im)operand.+?should.+?be.+?integer value
3383 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3389 .*---------------------------------------------------------------------*
3390 :h4. Inapplicable operator - concatenation on set constant
3391 .*---------------------------------------------------------------------*
3394 <TC - Inapplicable operator - concatenation on set constant>
3397 <MODULE TTCN Temp Temp.ttcn>
3401 type set rtype {integer i}
3403 const rtype r1 := {i := 1}
3404 const rtype r2 := {i := 2}
3406 const rtype r3 := r1 & r2
3411 (?im)operand.+?should.+?be.+?string.+?value
3417 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3423 .*---------------------------------------------------------------------*
3424 :h4. Inapplicable operator - logical operators on record of constant
3425 .*---------------------------------------------------------------------*
3428 <TC - Inapplicable operator - logical operators on record of constant>
3431 <MODULE TTCN Temp Temp.ttcn>
3435 type record of integer rtype
3437 const rtype r1 := {1}
3438 const rtype r2 := {2}
3441 const rtype r3 := not r2
3442 const rtype r4 := r1 and r2
3443 const rtype r5 := r1 or r2
3444 const rtype r6 := r1 xor r2
3449 (?im)operand.+?should.+?be.+?boolean.+?value
3455 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3461 .*---------------------------------------------------------------------*
3462 :h4. Inapplicable operator - bitwise operators on set of constant
3463 .*---------------------------------------------------------------------*
3466 <TC - Inapplicable operator - bitwise operators on set of constant>
3469 <MODULE TTCN Temp Temp.ttcn>
3473 type set of integer rtype
3475 const rtype r1 := {1}
3476 const rtype r2 := {2}
3479 const rtype r3 := not4b r2
3480 const rtype r4 := r1 and4b r2
3481 const rtype r5 := r1 or4b r2
3482 const rtype r6 := r1 xor4b r2
3487 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3493 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3499 .*---------------------------------------------------------------------*
3500 :h4. Inapplicable operator - shift operators on array constant
3501 .*---------------------------------------------------------------------*
3504 <TC - Inapplicable operator - shift operators on array constant>
3507 <MODULE TTCN Temp Temp.ttcn>
3511 const bitstring b[3] := {''B,'1'B,'0'B}
3514 const bitstring b1 := b << 1
3515 const bitstring b2 := b >> 1
3521 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3527 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3533 .*---------------------------------------------------------------------*
3534 :h4. Inapplicable operator - rotate operators on union constant
3535 .*---------------------------------------------------------------------*
3538 <TC - Inapplicable operator - rotate operators on union constant>
3541 <MODULE TTCN Temp Temp.ttcn>
3545 type union utype {bitstring b, hexstring h}
3547 const utype u1 := {b := '000111'B}
3549 const utype u2 := u1 <@ 1
3550 const utype u3 := u1 @> 1
3556 (?im)operand.+?should.+?be.+?string.+?value
3562 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3568 .*---------------------------------------------------------------------*
3569 :h4. Inapplicable operator - concatenation on integer template
3570 .*---------------------------------------------------------------------*
3573 <TC - Inapplicable operator - concatenation on integer template>
3576 <MODULE TTCN Temp Temp.ttcn>
3580 template integer i1 := 1 & 2
3585 (?im)operand.+?should.+?be.+?string.+?value
3591 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3597 .*---------------------------------------------------------------------*
3598 :h4. Inapplicable operator - logical operators on integer template
3599 .*---------------------------------------------------------------------*
3602 <TC - Inapplicable operator - logical operators on integer template>
3605 <MODULE TTCN Temp Temp.ttcn>
3609 template integer i1 := not 1
3610 template integer i2 := 1 and 2
3611 template integer i3 := 1 or 2
3612 template integer i4 := 1 xor 2
3617 (?im)operand.+?should.+?be.+?boolean.+?value
3623 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3629 .*---------------------------------------------------------------------*
3630 :h4. Inapplicable operator - bitwise operators on integer template
3631 .*---------------------------------------------------------------------*
3634 <TC - Inapplicable operator - bitwise operators on integer template>
3637 <MODULE TTCN Temp Temp.ttcn>
3641 template integer i1 := not4b 1
3642 template integer i2 := 1 and4b 2
3643 template integer i3 := 1 or4b 2
3644 template integer i4 := 1 xor4b 2
3650 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3656 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3662 .*---------------------------------------------------------------------*
3663 :h4. Inapplicable operator - shift operators on integer template
3664 .*---------------------------------------------------------------------*
3667 <TC - Inapplicable operator - shift operators on integer template>
3670 <MODULE TTCN Temp Temp.ttcn>
3674 template integer i1 := 1 << 1
3675 template integer i2 := 1 >> 1
3676 template integer i3 := 1 << -1
3677 template integer i4 := 1 >> -1
3683 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3689 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3695 .*---------------------------------------------------------------------*
3696 :h4. Inapplicable operator - rotate operators on integer template
3697 .*---------------------------------------------------------------------*
3700 <TC - Inapplicable operator - rotate operators on integer template>
3703 <MODULE TTCN Temp Temp.ttcn>
3707 template integer i1 := 1 <@ 1
3708 template integer i2 := 1 @> 1
3709 template integer i3 := 1 <@ -1
3710 template integer i4 := 1 @> -1
3716 (?im)operand.+?should.+?be.+?string.+?value
3722 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3728 .*---------------------------------------------------------------------*
3729 :h4. Inapplicable operator - concatenation on float template
3730 .*---------------------------------------------------------------------*
3733 <TC - Inapplicable operator - concatenation on float template>
3736 <MODULE TTCN Temp Temp.ttcn>
3740 template float f1 := 1.0 & 2E-1
3745 (?im)operand.+?should.+?be.+?string.+?value
3751 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3757 .*---------------------------------------------------------------------*
3758 :h4. Inapplicable operator - logical operators on float template
3759 .*---------------------------------------------------------------------*
3762 <TC - Inapplicable operator - logical operators on float template>
3765 <MODULE TTCN Temp Temp.ttcn>
3769 template float f1 := not 1.0
3770 template float f2 := 1.0 and 2E-1
3771 template float f3 := 1.0 or 2E-1
3772 template float f4 := 1.0 xor 2E-1
3777 (?im)operand.+?should.+?be.+?boolean.+?value
3783 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3789 .*---------------------------------------------------------------------*
3790 :h4. Inapplicable operator - bitwise operators on float template
3791 .*---------------------------------------------------------------------*
3794 <TC - Inapplicable operator - bitwise operators on float template>
3797 <MODULE TTCN Temp Temp.ttcn>
3801 template float f1 := not4b 1.0
3802 template float f2 := 1.0 and4b 2E-1
3803 template float f3 := 1.0 or4b 2E-1
3804 template float f4 := 1.0 xor4b 2E-1
3810 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3816 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3822 .*---------------------------------------------------------------------*
3823 :h4. Inapplicable operator - shift operators on float template
3824 .*---------------------------------------------------------------------*
3827 <TC - Inapplicable operator - shift operators on float template>
3830 <MODULE TTCN Temp Temp.ttcn>
3834 template float f1 := 1.0 << 1
3835 template float f2 := 1.0 >> 1
3836 template float f3 := 1 << 1.0
3837 template float f4 := 1 >> 1.0
3843 (?im)Left.+?operand.+?should.+?be.+?binary.+?string.+?value
3846 (?im)Right.+?operand.+?should.+?be.+?integer.+?value
3852 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3858 .*---------------------------------------------------------------------*
3859 :h4. Inapplicable operator - rotate operators on float template
3860 .*---------------------------------------------------------------------*
3863 <TC - Inapplicable operator - rotate operators on float template>
3866 <MODULE TTCN Temp Temp.ttcn>
3870 template float f1 := 1.0 <@ 1
3871 template float f2 := 1.0 @> 1
3872 template float f3 := 1 <@ 1.0
3873 template float f4 := 1 @> 1.0
3879 (?im)Left.+?operand.+?should.+?be.+?string.+?value
3882 (?im)Right.+?operand.+?should.+?be.+?integer.+?value
3888 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3894 .*---------------------------------------------------------------------*
3895 :h4. Inapplicable operator - arithmetic operators on boolean template
3896 .*---------------------------------------------------------------------*
3899 <TC - Inapplicable operator - arithmetic operators on boolean template>
3902 <MODULE TTCN Temp Temp.ttcn>
3906 template boolean b1 := true
3907 template boolean b2 := false
3909 template boolean b3 := b1 + b2
3910 template boolean b4 := b1 - b2
3911 template boolean b5 := b1 * b2
3912 template boolean b6 := b1 / b2
3913 template boolean b7 := b1 mod b2
3914 template boolean b8 := b1 rem b2
3919 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
3922 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
3925 (?im)operand.+?should.+?be.+?integer value
3931 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3937 .*---------------------------------------------------------------------*
3938 :h4. Inapplicable operator - concatenation on boolean template
3939 .*---------------------------------------------------------------------*
3942 <TC - Inapplicable operator - concatenation on boolean template>
3945 <MODULE TTCN Temp Temp.ttcn>
3949 template boolean b1 := true & false
3954 (?im)operand.+?should.+?be.+?string.+?value
3960 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
3966 .*---------------------------------------------------------------------*
3967 :h4. Inapplicable operator - bitwise operators on boolean template
3968 .*---------------------------------------------------------------------*
3971 <TC - Inapplicable operator - bitwise operators on boolean template>
3974 <MODULE TTCN Temp Temp.ttcn>
3978 template boolean b1 := true
3979 template boolean b2 := false
3982 template boolean b3 := not4b b1
3983 template boolean b4 := b1 and4b b2
3984 template boolean b5 := b1 or4b b2
3985 template boolean b6 := b1 xor4b b2
3990 (?im)operand.+?should.+?be.+?binary.+?string.+?value
3993 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
3999 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4005 .*---------------------------------------------------------------------*
4006 :h4. Inapplicable operator - shift operators on boolean template
4007 .*---------------------------------------------------------------------*
4010 <TC - Inapplicable operator - shift operators on boolean template>
4013 <MODULE TTCN Temp Temp.ttcn>
4017 template boolean b1 := true
4019 template boolean b2 := b1 << 1
4020 template boolean b3 := b1 >> 1
4025 (?im)operand.+?should.+?be.+?binary.+?string.+?value
4028 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4034 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4040 .*---------------------------------------------------------------------*
4041 :h4. Inapplicable operator - rotate operators on boolean template
4042 .*---------------------------------------------------------------------*
4045 <TC - Inapplicable operator - rotate operators on boolean template>
4048 <MODULE TTCN Temp Temp.ttcn>
4052 template boolean b1 := true
4054 template boolean b2 := b1 <@ 1
4055 template boolean b3 := b1 @> 1
4060 (?im)operand.+?should.+?be.+?string.+?value
4063 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4069 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4075 .*---------------------------------------------------------------------*
4076 :h4. Inapplicable operator - arithmetic operators on char template
4077 .*---------------------------------------------------------------------*
4080 <TC - Inapplicable operator - arithmetic operators on char template>
4083 <MODULE TTCN Temp Temp.ttcn>
4087 template char c1 := "a"
4088 template char c2 := ""
4090 template char c3 := c1 + c2
4091 template char c4 := c1 - c2
4092 template char c5 := c1 * c2
4093 template char c6 := c1 / c2
4094 template char c7 := c1 mod c2
4095 template char c8 := c1 rem c2
4100 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
4103 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
4106 (?im)operand.+?should.+?be.+?integer value
4109 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4115 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4121 .*---------------------------------------------------------------------*
4122 :h4. Inapplicable operator - logical operators on char template
4123 .*---------------------------------------------------------------------*
4126 <TC - Inapplicable operator - logical operators on char template>
4129 <MODULE TTCN Temp Temp.ttcn>
4133 template char c1 := "a"
4134 template char c2 := ""
4137 template char c3 := not c2
4138 template char c4 := c1 and c2
4139 template char c5 := c1 or c2
4140 template char c6 := c1 xor c2
4145 (?im)operand.+?should.+?be.+?boolean.+?value
4148 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4154 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4160 .*---------------------------------------------------------------------*
4161 :h4. Inapplicable operator - bitwise operators on char template
4162 .*---------------------------------------------------------------------*
4165 <TC - Inapplicable operator - bitwise operators on char template>
4168 <MODULE TTCN Temp Temp.ttcn>
4172 template char c1 := "a"
4173 template char c2 := ""
4176 template char c3 := not4b c2
4177 template char c4 := c1 and4b c2
4178 template char c5 := c1 or4b c2
4179 template char c6 := c1 xor4b c2
4184 (?im)operand.+?should.+?be.+?binary.+?string.+?value
4187 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4193 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4199 .*---------------------------------------------------------------------*
4200 :h4. Inapplicable operator - shift operators on char template
4201 .*---------------------------------------------------------------------*
4204 <TC - Inapplicable operator - shift operators on char template>
4207 <MODULE TTCN Temp Temp.ttcn>
4211 template char b2 := "a" << 1
4212 template char b3 := "" >> 1
4217 (?im)operand.+?should.+?be.+?binary.+?string.+?value
4223 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4229 .*---------------------------------------------------------------------*
4230 :h4. Inapplicable operator - arithmetic operators on bitstring template
4231 .*---------------------------------------------------------------------*
4234 <TC - Inapplicable operator - arithmetic operators on bitstring template>
4237 <MODULE TTCN Temp Temp.ttcn>
4241 template bitstring b1 := '00001111'B
4242 template bitstring b2 := ''B
4244 template bitstring b3 := b1 + b2
4245 template bitstring b4 := b1 - b2
4246 template bitstring b5 := b1 * b2
4247 template bitstring b6 := b1 / b2
4248 template bitstring b7 := b1 mod b2
4249 template bitstring b8 := b1 rem b2
4254 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
4257 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
4260 (?im)operand.+?should.+?be.+?integer value
4263 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4269 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4275 .*---------------------------------------------------------------------*
4276 :h4. Inapplicable operator - logical operators on bitstring template
4277 .*---------------------------------------------------------------------*
4280 <TC - Inapplicable operator - logical operators on bitstring template>
4283 <MODULE TTCN Temp Temp.ttcn>
4287 template bitstring b1 := '00001111'B
4288 template bitstring b2 := ''B
4291 template bitstring b3 := not b2
4292 template bitstring b4 := b1 and b2
4293 template bitstring b5 := b1 or b2
4294 template bitstring b6 := b1 xor b2
4299 (?im)operand.+?should.+?be.+?boolean.+?value
4302 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4308 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4315 .*---------------------------------------------------------------------*
4316 :h4. Inapplicable operator - arithmetic operators on hexstring template
4317 .*---------------------------------------------------------------------*
4320 <TC - Inapplicable operator - arithmetic operators on hexstring template>
4323 <MODULE TTCN Temp Temp.ttcn>
4327 template hexstring h1 := '00001111'H
4328 template hexstring h2 := ''H
4330 template hexstring h3 := h1 + h2
4331 template hexstring h4 := h1 - h2
4332 template hexstring h5 := h1 * h2
4333 template hexstring h6 := h1 / h2
4334 template hexstring h7 := h1 mod h2
4335 template hexstring h8 := h1 rem h2
4340 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
4343 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
4346 (?im)operand.+?should.+?be.+?integer value
4349 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4355 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4361 .*---------------------------------------------------------------------*
4362 :h4. Inapplicable operator - logical operators on hexstring template
4363 .*---------------------------------------------------------------------*
4366 <TC - Inapplicable operator - logical operators on hexstring template>
4369 <MODULE TTCN Temp Temp.ttcn>
4373 template hexstring h1 := '00001111'H
4374 template hexstring h2 := ''H
4377 template hexstring h3 := not h2
4378 template hexstring h4 := h1 and h2
4379 template hexstring h5 := h1 or h2
4380 template hexstring h6 := h1 xor h2
4385 (?im)operand.+?should.+?be.+?boolean.+?value
4388 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4394 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4400 .*---------------------------------------------------------------------*
4401 :h4. Inapplicable operator - arithmetic operators on octetstring template
4402 .*---------------------------------------------------------------------*
4405 <TC - Inapplicable operator - arithmetic operators on octetstring template>
4408 <MODULE TTCN Temp Temp.ttcn>
4412 template octetstring o1 := '00001111'O
4413 template octetstring o2 := ''O
4415 template octetstring o3 := o1 + o2
4416 template octetstring o4 := o1 - o2
4417 template octetstring o5 := o1 * o2
4418 template octetstring o6 := o1 / o2
4419 template octetstring o7 := o1 mod o2
4420 template octetstring o8 := o1 rem o2
4425 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
4428 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
4431 (?im)operand.+?should.+?be.+?integer value
4434 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4440 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4446 .*---------------------------------------------------------------------*
4447 :h4. Inapplicable operator - logical operators on octetstring template
4448 .*---------------------------------------------------------------------*
4451 <TC - Inapplicable operator - logical operators on octetstring template>
4454 <MODULE TTCN Temp Temp.ttcn>
4458 template octetstring o1 := '00001111'O
4459 template octetstring o2 := ''O
4462 template octetstring o3 := not o2
4463 template octetstring o4 := o1 and o2
4464 template octetstring o5 := o1 or o2
4465 template octetstring o6 := o1 xor o2
4470 (?im)operand.+?should.+?be.+?boolean.+?value
4473 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4479 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4485 .*---------------------------------------------------------------------*
4486 :h4. Inapplicable operator - arithmetic operators on charstring template
4487 .*---------------------------------------------------------------------*
4490 <TC - Inapplicable operator - arithmetic operators on charstring template>
4493 <MODULE TTCN Temp Temp.ttcn>
4497 template charstring c1 := "ABCDEF"
4498 template charstring c2 := ""
4500 template charstring c3 := c1 + c2
4501 template charstring c4 := c1 - c2
4502 template charstring c5 := c1 * c2
4503 template charstring c6 := c1 / c2
4504 template charstring c7 := c1 mod c2
4505 template charstring c8 := c1 rem c2
4510 (?im)did.+?you.+?mean.+?concat.+?operation.+?instead.+?of.+?addition
4513 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
4516 (?im)operand.+?should.+?be.+?integer value
4519 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4525 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4531 .*---------------------------------------------------------------------*
4532 :h4. Inapplicable operator - logical operators on charstring template
4533 .*---------------------------------------------------------------------*
4536 <TC - Inapplicable operator - logical operators on charstring template>
4539 <MODULE TTCN Temp Temp.ttcn>
4543 template charstring c1 := "ABCDEF"
4544 template charstring c2 := ""
4547 template charstring c3 := not c2
4548 template charstring c4 := c1 and c2
4549 template charstring c5 := c1 or c2
4550 template charstring c6 := c1 xor c2
4555 (?im)operand.+?should.+?be.+?boolean.+?value
4558 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4564 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4570 .*---------------------------------------------------------------------*
4571 :h4. Inapplicable operator - bitwise operators on charstring template
4572 .*---------------------------------------------------------------------*
4575 <TC - Inapplicable operator - bitwise operators on charstring template>
4578 <MODULE TTCN Temp Temp.ttcn>
4582 template charstring c1 := "ABCDEF"
4583 template charstring c2 := ""
4586 template charstring c3 := not4b c2
4587 template charstring c4 := c1 and4b c2
4588 template charstring c5 := c1 or4b c2
4589 template charstring c6 := c1 xor4b c2
4594 (?im)operand.+?should.+?be.+?binary.+?string.+?value
4597 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4603 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4609 .*---------------------------------------------------------------------*
4610 :h4. Inapplicable operator - shift operators on charstring template
4611 .*---------------------------------------------------------------------*
4614 <TC - Inapplicable operator - shift operators on charstring template>
4617 <MODULE TTCN Temp Temp.ttcn>
4621 template charstring b2 := "ABCDEF" << 1
4622 template charstring b3 := "ABCDEF" >> 1
4627 (?im)operand.+?should.+?be.+?binary.+?string.+?value
4633 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4639 .*---------------------------------------------------------------------*
4640 :h4. Inapplicable operator - arithmetic operators on record template
4641 .*---------------------------------------------------------------------*
4644 <TC - Inapplicable operator - arithmetic operators on record template>
4647 <MODULE TTCN Temp Temp.ttcn>
4650 type record rtype {integer i}
4653 template rtype r1 := {1}
4654 template rtype r2 := {2}
4656 template rtype r3 := r1 + r2
4657 template rtype r4 := r1 - r2
4658 template rtype r5 := r1 * r2
4659 template rtype r6 := r1 / r2
4660 template rtype r7 := r1 mod r2
4661 template rtype r8 := r1 rem r2
4666 (?im)operand.+?should.+?be.+?integer.+?or.+?float.+?value
4669 (?im)operand.+?should.+?be.+?integer value
4672 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4678 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4684 .*---------------------------------------------------------------------*
4685 :h4. Inapplicable operator - concatenation on set template
4686 .*---------------------------------------------------------------------*
4689 <TC - Inapplicable operator - concatenation on set template>
4692 <MODULE TTCN Temp Temp.ttcn>
4696 type set rtype {integer i}
4698 template rtype r1 := {i := 1}
4699 template rtype r2 := {i := 2}
4701 template rtype r3 := r1 & r2
4706 (?im)operand.+?should.+?be.+?string.+?value
4709 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4715 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4721 .*---------------------------------------------------------------------*
4722 :h4. Inapplicable operator - logical operators on record of template
4723 .*---------------------------------------------------------------------*
4726 <TC - Inapplicable operator - logical operators on record of template>
4729 <MODULE TTCN Temp Temp.ttcn>
4733 type record of integer rtype
4735 template rtype r1 := {1}
4736 template rtype r2 := {2}
4739 template rtype r3 := not r2
4740 template rtype r4 := r1 and r2
4741 template rtype r5 := r1 or r2
4742 template rtype r6 := r1 xor r2
4747 (?im)operand.+?should.+?be.+?boolean.+?value
4750 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4756 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4762 .*---------------------------------------------------------------------*
4763 :h4. Inapplicable operator - bitwise operators on set of template
4764 .*---------------------------------------------------------------------*
4767 <TC - Inapplicable operator - bitwise operators on set of template>
4770 <MODULE TTCN Temp Temp.ttcn>
4774 type set of integer rtype
4776 template rtype r1 := {1}
4777 template rtype r2 := {2}
4780 template rtype r3 := not4b r2
4781 template rtype r4 := r1 and4b r2
4782 template rtype r5 := r1 or4b r2
4783 template rtype r6 := r1 xor4b r2
4788 (?im)operand.+?should.+?be.+?binary.+?string.+?value
4791 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4797 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4803 .*---------------------------------------------------------------------*
4804 :h4. Inapplicable operator - rotate operators on union template
4805 .*---------------------------------------------------------------------*
4808 <TC - Inapplicable operator - rotate operators on union template>
4811 <MODULE TTCN Temp Temp.ttcn>
4815 type union utype {bitstring b, hexstring h}
4817 template utype u1 := {b := '000111'B}
4819 template utype u2 := u1 <@ 1
4820 template utype u3 := u1 @> 1
4826 (?im)operand.+?should.+?be.+?string.+?value
4829 (?im)reference.+?to.+?value.+?expected.+?instead.+?of.+?template
4835 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4841 .*---------------------------------------------------------------------*
4842 :h3.Type compatibility between the formal and the actual parameter list
4843 .*---------------------------------------------------------------------*
4845 :nl. Shall be the same as the order of elements and shall be compatible
4846 with the types of elements in the actual and the corresponding formal
4850 :nl. - The type compatibility checking covers the order checking, therefore
4851 the order checking is not necessary.
4852 :nl. - We made a test for each types of values that are allowed to appear in
4853 the formal/actual parameter lists of all language elements (template,
4854 function, altstep, testcase, signature).
4856 .*---------------------------------------------------------------------*
4857 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Template: basic type
4858 .*---------------------------------------------------------------------*
4860 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Template: basic type>
4864 <MODULE TTCN ModuleA ModuleA.ttcn>
4871 template MyRec MyTemp( charstring par_1, boolean par_2, integer par_3 ) := {
4876 function MyFunc( template MyRec mytemp ) {}
4878 MyFunc(MyTemp("r",true,6)); // good
4879 MyFunc(MyTemp("r",true,6.2)); // error
4883 <RESULT IF_PASS COUNT 1>
4884 (?im)\berror\b.+?integer.+?expected
4886 <RESULT IF_PASS COUNT 1>
4889 <RESULT IF_PASS POSITIVE>
4890 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4896 .*---------------------------------------------------------------------*
4897 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Template: user-defined type
4898 .*---------------------------------------------------------------------*
4900 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Template: user-defined type>
4904 <MODULE TTCN ModuleA ModuleA.ttcn>
4911 template MyRec MyTemp( MyRec Par ) := {
4912 field1 := Par.field1,
4913 field2 := Par.field2,
4914 field3 := Par.field3
4916 function MyFunc( template MyRec mytemp ) {}
4918 MyFunc(MyTemp({6,"r",false})); // good
4919 MyFunc(MyTemp({"r",false,6.7})); // error
4920 MyFunc(MyTemp(false)); // error
4924 <RESULT IF_PASS COUNT 1>
4925 (?im)\berror\b.+?integer.+?expected
4927 <RESULT IF_PASS COUNT 1>
4928 (?im)\berror\b.+?character string.+?expected
4930 <RESULT IF_PASS COUNT 1>
4931 (?im)\berror\b.+?boolean.+?expected
4933 <RESULT IF_PASS COUNT 1>
4934 (?im)\berror\b.+?Record.+?expected
4936 <RESULT IF_PASS COUNT 4>
4939 <RESULT IF_PASS POSITIVE>
4940 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4946 .*---------------------------------------------------------------------*
4947 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Template: address type
4948 .*---------------------------------------------------------------------*
4950 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Template: address type>
4954 <MODULE TTCN ModuleA ModuleA.ttcn>
4956 type record address { charstring field }
4962 template MyRec MyTemp( address par_1, boolean par_2, integer par_3 ) := {
4967 function MyFunc( template MyRec mytemp ) {}
4969 MyFunc(MyTemp({"k"},true,6)); // good
4970 MyFunc(MyTemp(6,{"k"},true)); // error
4974 <RESULT IF_PASS COUNT 1>
4975 (?im)\berror\b.+?Record.+?expected
4977 <RESULT IF_PASS COUNT 1>
4978 (?im)\berror\b.+?boolean.+?expected
4980 <RESULT IF_PASS COUNT 1>
4981 (?im)\berror\b.+?integer.+?expected
4983 <RESULT IF_PASS COUNT 3>
4986 <RESULT IF_PASS POSITIVE>
4987 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
4993 .*---------------------------------------------------------------------*
4994 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Template: template
4995 .*---------------------------------------------------------------------*
4997 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Template: template>
5001 <MODULE TTCN ModuleA ModuleA.ttcn>
5008 template MyRec MyTemp( charstring par_1, boolean par_2, template float par_3 ) := {
5013 function MyFunc( template MyRec mytemp ) {}
5015 MyFunc(MyTemp("r",true,6.4)); // good
5016 MyFunc(MyTemp(6,"r",true)); // error
5020 <RESULT IF_PASS COUNT 1>
5021 (?im)\berror\b.+?character string.+?expected
5023 <RESULT IF_PASS COUNT 1>
5024 (?im)\berror\b.+?boolean.+?expected
5026 <RESULT IF_PASS COUNT 1>
5027 (?im)\berror\b.+?float.+?expected
5029 <RESULT IF_PASS COUNT 3>
5032 <RESULT IF_PASS POSITIVE>
5033 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5039 .*---------------------------------------------------------------------*
5040 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Template: component type
5041 .*---------------------------------------------------------------------*
5043 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Template: component type>
5047 <MODULE TTCN ModuleA ModuleA.ttcn>
5049 type component MyCT {}
5055 template MyRec MyTemp( charstring par_1, MyCT par_2, float par_3 ) := {
5060 function MyFunc( template MyRec mytemp ) {}
5064 MyFunc(MyTemp("r",myct_1,6.2)); // good
5065 MyFunc(MyTemp(6.2,myct_1,"r")); // error
5066 MyFunc(MyTemp("r",myct_2,6.2)); // error
5070 <RESULT IF_PASS COUNT 1>
5071 (?im)\berror\b.+?character string.+?expected
5073 <RESULT IF_PASS COUNT 1>
5074 (?im)\berror\b.+?float.+?expected
5076 <RESULT IF_PASS COUNT 1>
5077 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
5079 <RESULT IF_PASS COUNT 3>
5082 <RESULT IF_PASS POSITIVE>
5083 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5089 .*---------------------------------------------------------------------*
5090 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Template: default
5091 .*---------------------------------------------------------------------*
5093 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Template: default>
5097 <MODULE TTCN ModuleA ModuleA.ttcn>
5099 type component MyCT {}
5105 template MyRec MyTemp( charstring par_1, default par_2, float par_3 ) := {
5110 function MyFunc( template MyRec mytemp ) {}
5112 var default mydef_1;
5113 var octetstring mydef_2;
5114 MyFunc(MyTemp("r",mydef_1,6.2)); // good
5115 MyFunc(MyTemp(6.2,mydef_1,"r")); // error
5116 MyFunc(MyTemp("r",mydef_2,6.2)); // error
5120 <RESULT IF_PASS COUNT 1>
5121 (?im)\berror\b.+?character string.+?expected
5123 <RESULT IF_PASS COUNT 1>
5124 (?im)\berror\b.+?float.+?expected
5126 <RESULT IF_PASS COUNT 1>
5127 (?im)\berror\b.+?Type.+?mismatch.+?default.+?expected
5129 <RESULT IF_PASS COUNT 3>
5132 <RESULT IF_PASS POSITIVE>
5133 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5139 .*---------------------------------------------------------------------*
5140 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Template: basic type as non-mandatory parameter
5141 .*---------------------------------------------------------------------*
5143 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Template: basic type as non-mandatory parameter>
5147 <MODULE TTCN ModuleA ModuleA.ttcn>
5154 template MyRec MyTemp( charstring par_1 := 1, boolean par_2 := 1, integer par_3 := "r") := {
5161 <RESULT IF_PASS COUNT 1>
5162 (?im)\berror\b.+?character.+?expected
5164 <RESULT IF_PASS COUNT 1>
5165 (?im)\berror\b.+?boolean.+?expected
5167 <RESULT IF_PASS COUNT 1>
5168 (?im)\berror\b.+?integer.+?expected
5170 <RESULT IF_PASS COUNT 3>
5173 <RESULT IF_PASS POSITIVE>
5174 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5180 .*---------------------------------------------------------------------*
5181 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: basic type
5182 .*---------------------------------------------------------------------*
5184 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: basic type>
5188 <MODULE TTCN ModuleA ModuleA.ttcn>
5190 function MyFunc( charstring par_1, boolean par_2, integer par_3 ) {}
5192 MyFunc( "r",true,2 ); // good
5193 MyFunc( "r",true,6.2 ); // error
5197 <RESULT IF_PASS COUNT 1>
5198 (?im)\berror\b.+?integer.+?expected
5200 <RESULT IF_PASS COUNT 1>
5203 <RESULT IF_PASS POSITIVE>
5204 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5210 .*---------------------------------------------------------------------*
5211 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: user-defined type
5212 .*---------------------------------------------------------------------*
5214 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: user-defined type>
5218 <MODULE TTCN ModuleA ModuleA.ttcn>
5225 function MyFunc( MyRec par ) {}
5227 MyFunc( {6,"r",true} ); // good
5228 MyFunc( {"r",true,6.2} ); // error
5229 MyFunc( 5 ); // error
5233 <RESULT IF_PASS COUNT 1>
5234 (?im)\berror\b.+?integer.+?expected
5236 <RESULT IF_PASS COUNT 1>
5237 (?im)\berror\b.+?character string.+?expected
5239 <RESULT IF_PASS COUNT 1>
5240 (?im)\berror\b.+?boolean.+?expected
5242 <RESULT IF_PASS COUNT 1>
5243 (?im)\berror\b.+?Record.+?expected
5245 <RESULT IF_PASS COUNT 4>
5248 <RESULT IF_PASS POSITIVE>
5249 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5255 .*---------------------------------------------------------------------*
5256 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: address type
5257 .*---------------------------------------------------------------------*
5259 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: address type>
5263 <MODULE TTCN ModuleA ModuleA.ttcn>
5265 type record address { charstring field }
5266 function MyFunc( address par_1, octetstring par_2 ) {}
5268 MyFunc( {"k"}, 'A5'O ); // good
5269 MyFunc( 'A5'O, "k" ); // error
5273 <RESULT IF_PASS COUNT 1>
5274 (?im)\berror\b.+?Record.+?expected
5276 <RESULT IF_PASS COUNT 1>
5277 (?im)\berror\b.+?octetstring.+?expected
5279 <RESULT IF_PASS COUNT 2>
5282 <RESULT IF_PASS POSITIVE>
5283 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5289 .*---------------------------------------------------------------------*
5290 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: template
5291 .*---------------------------------------------------------------------*
5293 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: template>
5297 <MODULE TTCN ModuleA ModuleA.ttcn>
5299 template float MyTemp_1( float par ) := par;
5300 template integer MyTemp_2( integer par ) := par;
5301 function MyFunc( template float par_1, template integer par_2 ) {}
5303 MyFunc( MyTemp_1(6.3), MyTemp_2(6) ); // good
5304 MyFunc( 6.3, 6 ); // good
5305 MyFunc( MyTemp_1(6), 6.9 ); // error
5309 <RESULT IF_PASS COUNT 1>
5310 (?im)\berror\b.+?float.+?expected
5312 <RESULT IF_PASS COUNT 1>
5313 (?im)\berror\b.+?integer.+?expected
5315 <RESULT IF_PASS COUNT 2>
5318 <RESULT IF_PASS POSITIVE>
5319 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5325 .*---------------------------------------------------------------------*
5326 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: component type
5327 .*---------------------------------------------------------------------*
5329 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: component type>
5333 <MODULE TTCN ModuleA ModuleA.ttcn>
5335 type component MyCT {}
5336 function MyFunc( bitstring par_1, MyCT par_2, float par_3 ) {}
5340 MyFunc( '01001'B, myct_1, 6.2 ); // good
5341 MyFunc( 7.6, myct_1, '01001'B ); // error
5342 MyFunc( '01001'B, myct_2, 6.2 ); // error
5346 <RESULT IF_PASS COUNT 1>
5347 (?im)\berror\b.+?bitstring.+?expected
5349 <RESULT IF_PASS COUNT 1>
5350 (?im)\berror\b.+?float.+?expected
5352 <RESULT IF_PASS COUNT 1>
5353 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
5355 <RESULT IF_PASS COUNT 3>
5358 <RESULT IF_PASS POSITIVE>
5359 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5365 .*---------------------------------------------------------------------*
5366 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: port type
5367 .*---------------------------------------------------------------------*
5369 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: port type>
5373 <MODULE TTCN ModuleA ModuleA.ttcn>
5375 type port MyPortType message { inout integer }
5376 type component MyCT {
5377 port MyPortType port_1;
5380 function MyCompFunc() runs on MyCT {
5381 MyFunc( '01001'B, port_1, 6.2 ); // good
5382 MyFunc( 7.6, port_1, '01001'B ); // error
5383 MyFunc( '01001'B, port_2, 6.2 ); // error
5385 function MyFunc( bitstring par_1, MyPortType par_2, float par_3 ) {}
5388 <RESULT IF_PASS COUNT 1>
5389 (?im)\berror\b.+?bitstring.+?expected
5391 <RESULT IF_PASS COUNT 1>
5392 (?im)\berror\b.+?float.+?expected
5394 <RESULT IF_PASS COUNT 1>
5395 (?im)\berror\b.+?Reference.+?port.+?expected
5397 <RESULT IF_PASS COUNT 3>
5400 <RESULT IF_PASS POSITIVE>
5401 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5407 .*---------------------------------------------------------------------*
5408 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: default
5409 .*---------------------------------------------------------------------*
5411 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: default>
5415 <MODULE TTCN ModuleA ModuleA.ttcn>
5417 function MyFunc( hexstring par_1, default par_2, float par_3 ) {}
5419 var default mydef_1;
5420 var charstring mydef_2;
5421 MyFunc( '7AA'H, mydef_1, 6.2 ); // good
5422 MyFunc( 6.2, mydef_1, '7AA'H ); // error
5423 MyFunc( '7AA'H, mydef_2, 6.2 ); // error
5427 <RESULT IF_PASS COUNT 1>
5428 (?im)\berror\b.+?hexstring.+?expected
5430 <RESULT IF_PASS COUNT 1>
5431 (?im)\berror\b.+?float.+?expected
5433 <RESULT IF_PASS COUNT 1>
5434 (?im)\berror\b.+?Type.+?mismatch.+?default.+?expected
5436 <RESULT IF_PASS COUNT 3>
5439 <RESULT IF_PASS POSITIVE>
5440 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5446 .*---------------------------------------------------------------------*
5447 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: timer
5448 .*---------------------------------------------------------------------*
5450 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: timer>
5454 <MODULE TTCN ModuleA ModuleA.ttcn>
5456 function MyFunc( hexstring par_1, timer par_2, float par_3 ) {}
5460 MyFunc( '7AA'H, T_1, 6.2 ); // good
5461 MyFunc( 6.2, T_1, '7AA'H ); // error
5462 MyFunc( '7AA'H, T_2, 6.2 ); // error
5466 <RESULT IF_PASS COUNT 1>
5467 (?im)\berror\b.+?hexstring.+?expected
5469 <RESULT IF_PASS COUNT 1>
5470 (?im)\berror\b.+?float.+?expected
5472 <RESULT IF_PASS COUNT 1>
5473 (?im)\berror\b.+?Reference.+?timer.+?expected
5475 <RESULT IF_PASS COUNT 3>
5478 <RESULT IF_PASS POSITIVE>
5479 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5485 .*---------------------------------------------------------------------*
5486 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function: basic type as non-mandatory parameter
5487 .*---------------------------------------------------------------------*
5489 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function: basic type as non-mandatory parameter>
5493 <MODULE TTCN ModuleA ModuleA.ttcn>
5495 function MyFunc( charstring par_1 := 1, boolean par_2 := 1, integer par_3 := "r") {}
5498 <RESULT IF_PASS COUNT 1>
5499 (?im)\berror\b.+?character.+?expected
5501 <RESULT IF_PASS COUNT 1>
5502 (?im)\berror\b.+?boolean.+?expected
5504 <RESULT IF_PASS COUNT 1>
5505 (?im)\berror\b.+?integer.+?expected
5507 <RESULT IF_PASS COUNT 3>
5510 <RESULT IF_PASS POSITIVE>
5511 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5517 .*---------------------------------------------------------------------*
5518 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: basic type
5519 .*---------------------------------------------------------------------*
5521 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: basic type>
5525 <MODULE TTCN ModuleA ModuleA.ttcn>
5527 type component MyCT {}
5528 function MyCompFunc( charstring par_1, boolean par_2, integer par_3 ) runs on MyCT {}
5529 function MyCompFunc1() runs on MyCT {
5530 MyCompFunc( "r",true,2 ); // good
5531 MyCompFunc( "r",true,6.2 ); // error
5535 <RESULT IF_PASS COUNT 1>
5536 (?im)\berror\b.+?integer.+?expected
5538 <RESULT IF_PASS COUNT 1>
5541 <RESULT IF_PASS POSITIVE>
5542 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5548 .*---------------------------------------------------------------------*
5549 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: user-defined type
5550 .*---------------------------------------------------------------------*
5552 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: user-defined type>
5556 <MODULE TTCN ModuleA ModuleA.ttcn>
5558 type component MyCT {}
5564 function MyCompFunc( MyRec par ) runs on MyCT {}
5565 function MyCompFunc1() runs on MyCT {
5566 MyCompFunc( {6,"r",true} ); // good
5567 MyCompFunc( {"r",true,6.2} ); // error
5568 MyCompFunc( 5 ); // error
5572 <RESULT IF_PASS COUNT 1>
5573 (?im)\berror\b.+?integer.+?expected
5575 <RESULT IF_PASS COUNT 1>
5576 (?im)\berror\b.+?character string.+?expected
5578 <RESULT IF_PASS COUNT 1>
5579 (?im)\berror\b.+?boolean.+?expected
5581 <RESULT IF_PASS COUNT 1>
5582 (?im)\berror\b.+?Record.+?expected
5584 <RESULT IF_PASS COUNT 4>
5587 <RESULT IF_PASS POSITIVE>
5588 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5594 .*---------------------------------------------------------------------*
5595 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: address type
5596 .*---------------------------------------------------------------------*
5598 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: address type>
5602 <MODULE TTCN ModuleA ModuleA.ttcn>
5604 type component MyCT {}
5605 type record address { charstring field }
5606 function MyCompFunc( address par_1, octetstring par_2 ) runs on MyCT {}
5607 function MyCompFunc1() runs on MyCT {
5608 MyCompFunc( {"k"}, 'A5'O ); // good
5609 MyCompFunc( 'A5'O, "k" ); // error
5613 <RESULT IF_PASS COUNT 1>
5614 (?im)\berror\b.+?Record.+?expected
5616 <RESULT IF_PASS COUNT 1>
5617 (?im)\berror\b.+?octetstring.+?expected
5619 <RESULT IF_PASS COUNT 2>
5622 <RESULT IF_PASS POSITIVE>
5623 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5629 .*---------------------------------------------------------------------*
5630 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: template
5631 .*---------------------------------------------------------------------*
5633 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: template>
5637 <MODULE TTCN ModuleA ModuleA.ttcn>
5639 type component MyCT {}
5640 template float MyTemp_1( float par ) := par;
5641 template integer MyTemp_2( integer par ) := par;
5642 function MyCompFunc( template float par_1, template integer par_2 ) runs on MyCT {}
5643 function MyCompFunc1() runs on MyCT {
5644 MyCompFunc( MyTemp_1(6.3), MyTemp_2(6) ); // good
5645 MyCompFunc( 6.3, 6 ); // good
5646 MyCompFunc( MyTemp_1(6), 6.9 ); // error
5650 <RESULT IF_PASS COUNT 1>
5651 (?im)\berror\b.+?float.+?expected
5653 <RESULT IF_PASS COUNT 1>
5654 (?im)\berror\b.+?integer.+?expected
5656 <RESULT IF_PASS COUNT 2>
5659 <RESULT IF_PASS POSITIVE>
5660 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5666 .*---------------------------------------------------------------------*
5667 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: component type
5668 .*---------------------------------------------------------------------*
5670 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: component type>
5674 <MODULE TTCN ModuleA ModuleA.ttcn>
5676 type component MyCT {}
5677 function MyCompFunc( bitstring par_1, MyCT par_2, float par_3 ) runs on MyCT {}
5678 function MyCompFunc1() runs on MyCT {
5681 MyCompFunc( '01001'B, myct_1, 6.2 ); // good
5682 MyCompFunc( 7.6, myct_1, '01001'B ); // error
5683 MyCompFunc( '01001'B, myct_2, 6.2 ); // error
5687 <RESULT IF_PASS COUNT 1>
5688 (?im)\berror\b.+?bitstring.+?expected
5690 <RESULT IF_PASS COUNT 1>
5691 (?im)\berror\b.+?float.+?expected
5693 <RESULT IF_PASS COUNT 1>
5694 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
5696 <RESULT IF_PASS COUNT 3>
5699 <RESULT IF_PASS POSITIVE>
5700 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5706 .*---------------------------------------------------------------------*
5707 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: port type
5708 .*---------------------------------------------------------------------*
5710 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: port type>
5714 <MODULE TTCN ModuleA ModuleA.ttcn>
5716 type port MyPortType message { inout integer }
5717 type component MyCT {
5718 port MyPortType port_1;
5721 function MyCompFunc( bitstring par_1, MyPortType par_2, float par_3 ) runs on MyCT {}
5722 function MyCompFunc1() runs on MyCT {
5723 MyCompFunc( '01001'B, port_1, 6.2 ); // good
5724 MyCompFunc( 7.6, port_1, '01001'B ); // error
5725 MyCompFunc( '01001'B, port_2, 6.2 ); // error
5729 <RESULT IF_PASS COUNT 1>
5730 (?im)\berror\b.+?bitstring.+?expected
5732 <RESULT IF_PASS COUNT 1>
5733 (?im)\berror\b.+?float.+?expected
5735 <RESULT IF_PASS COUNT 1>
5736 (?im)\berror\b.+?Reference.+?port.+?expected
5738 <RESULT IF_PASS COUNT 3>
5741 <RESULT IF_PASS POSITIVE>
5742 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5748 .*---------------------------------------------------------------------*
5749 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: default
5750 .*---------------------------------------------------------------------*
5752 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: default>
5756 <MODULE TTCN ModuleA ModuleA.ttcn>
5758 type component MyCT {}
5759 function MyCompFunc( hexstring par_1, default par_2, float par_3 ) runs on MyCT {}
5760 function MyCompFunc1() runs on MyCT {
5761 var default mydef_1;
5762 var charstring mydef_2;
5763 MyCompFunc( '7AA'H, mydef_1, 6.2 ); // good
5764 MyCompFunc( 6.2, mydef_1, '7AA'H ); // error
5765 MyCompFunc( '7AA'H, mydef_2, 6.2 ); // error
5769 <RESULT IF_PASS COUNT 1>
5770 (?im)\berror\b.+?hexstring.+?expected
5772 <RESULT IF_PASS COUNT 1>
5773 (?im)\berror\b.+?float.+?expected
5775 <RESULT IF_PASS COUNT 1>
5776 (?im)\berror\b.+?Type.+?mismatch.+?default.+?expected
5778 <RESULT IF_PASS COUNT 3>
5781 <RESULT IF_PASS POSITIVE>
5782 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5788 .*---------------------------------------------------------------------*
5789 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: timer
5790 .*---------------------------------------------------------------------*
5792 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Function_runs_on: timer>
5796 <MODULE TTCN ModuleA ModuleA.ttcn>
5798 type component MyCT {}
5799 function MyCompFunc( hexstring par_1, timer par_2, float par_3 ) runs on MyCT {}
5800 function MyCompFunc1() runs on MyCT {
5803 MyCompFunc( '7AA'H, T_1, 6.2 ); // good
5804 MyCompFunc( 6.2, T_1, '7AA'H ); // error
5805 MyCompFunc( '7AA'H, T_2, 6.2 ); // error
5809 <RESULT IF_PASS COUNT 1>
5810 (?im)\berror\b.+?hexstring.+?expected
5812 <RESULT IF_PASS COUNT 1>
5813 (?im)\berror\b.+?float.+?expected
5815 <RESULT IF_PASS COUNT 1>
5816 (?im)\berror\b.+?Reference.+?timer.+?expected
5818 <RESULT IF_PASS COUNT 3>
5821 <RESULT IF_PASS POSITIVE>
5822 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5828 .*---------------------------------------------------------------------*
5829 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: basic type
5830 .*---------------------------------------------------------------------*
5832 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: basic type>
5836 <MODULE TTCN ModuleA ModuleA.ttcn>
5838 external function MyExtFunc( charstring par_1, boolean par_2, integer par_3 );
5840 MyExtFunc( "r",true,2 ); // good
5841 MyExtFunc( "r",true,6.2 ); // error
5845 <RESULT IF_PASS COUNT 1>
5846 (?im)\berror\b.+?integer.+?expected
5848 <RESULT IF_PASS COUNT 1>
5851 <RESULT IF_PASS POSITIVE>
5852 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5858 .*---------------------------------------------------------------------*
5859 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: user-defined type
5860 .*---------------------------------------------------------------------*
5862 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: user-defined type>
5866 <MODULE TTCN ModuleA ModuleA.ttcn>
5873 external function MyExtFunc( MyRec par );
5875 MyExtFunc( {6,"r",true} ); // good
5876 MyExtFunc( {"r",true,6.2} ); // error
5877 MyExtFunc( 5 ); // error
5881 <RESULT IF_PASS COUNT 1>
5882 (?im)\berror\b.+?integer.+?expected
5884 <RESULT IF_PASS COUNT 1>
5885 (?im)\berror\b.+?character string.+?expected
5887 <RESULT IF_PASS COUNT 1>
5888 (?im)\berror\b.+?boolean.+?expected
5890 <RESULT IF_PASS COUNT 1>
5891 (?im)\berror\b.+?Record.+?expected
5893 <RESULT IF_PASS COUNT 4>
5896 <RESULT IF_PASS POSITIVE>
5897 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5903 .*---------------------------------------------------------------------*
5904 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: address type
5905 .*---------------------------------------------------------------------*
5907 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: address type>
5911 <MODULE TTCN ModuleA ModuleA.ttcn>
5913 type record address { charstring field }
5914 external function MyExtFunc( address par_1, octetstring par_2 );
5916 MyExtFunc( {"k"}, 'A5'O ); // good
5917 MyExtFunc( 'A5'O, "k" ); // error
5921 <RESULT IF_PASS COUNT 1>
5922 (?im)\berror\b.+?Record.+?expected
5924 <RESULT IF_PASS COUNT 1>
5925 (?im)\berror\b.+?octetstring.+?expected
5927 <RESULT IF_PASS COUNT 2>
5930 <RESULT IF_PASS POSITIVE>
5931 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5937 .*---------------------------------------------------------------------*
5938 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: template
5939 .*---------------------------------------------------------------------*
5941 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: template>
5945 <MODULE TTCN ModuleA ModuleA.ttcn>
5947 template float MyTemp_1( float par ) := par;
5948 template integer MyTemp_2( integer par ) := par;
5949 external function MyExtFunc( template float par_1, template integer par_2 );
5951 MyExtFunc( MyTemp_1(6.3), MyTemp_2(6) ); // good
5952 MyExtFunc( 6.3, 6 ); // good
5953 MyExtFunc( MyTemp_1(6), 6.9 ); // error
5957 <RESULT IF_PASS COUNT 1>
5958 (?im)\berror\b.+?float.+?expected
5960 <RESULT IF_PASS COUNT 1>
5961 (?im)\berror\b.+?integer.+?expected
5963 <RESULT IF_PASS COUNT 2>
5966 <RESULT IF_PASS POSITIVE>
5967 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
5973 .*---------------------------------------------------------------------*
5974 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: component type
5975 .*---------------------------------------------------------------------*
5977 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: component type>
5981 <MODULE TTCN ModuleA ModuleA.ttcn>
5983 type component MyCT {}
5984 external function MyExtFunc( bitstring par_1, MyCT par_2, float par_3 );
5988 MyExtFunc( '01001'B, myct_1, 6.2 ); // good
5989 MyExtFunc( 7.6, myct_1, '01001'B ); // error
5990 MyExtFunc( '01001'B, myct_2, 6.2 ); // error
5994 <RESULT IF_PASS COUNT 1>
5995 (?im)\berror\b.+?bitstring.+?expected
5997 <RESULT IF_PASS COUNT 1>
5998 (?im)\berror\b.+?float.+?expected
6000 <RESULT IF_PASS COUNT 1>
6001 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
6003 <RESULT IF_PASS COUNT 3>
6006 <RESULT IF_PASS POSITIVE>
6007 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6013 .*---------------------------------------------------------------------*
6014 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: port type
6015 .*---------------------------------------------------------------------*
6017 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: port type>
6021 <MODULE TTCN ModuleA ModuleA.ttcn>
6023 type port MyPortType message { inout integer }
6024 type component MyCT {
6025 port MyPortType port_1;
6028 function MyCompFunc() runs on MyCT {
6029 MyExtFunc( '01001'B, port_1, 6.2 ); // good
6030 MyExtFunc( 7.6, port_1, '01001'B ); // error
6031 MyExtFunc( '01001'B, port_2, 6.2 ); // error
6033 external function MyExtFunc( bitstring par_1, MyPortType par_2, float par_3 );
6036 <RESULT IF_PASS COUNT 1>
6037 (?im)\berror\b.+?bitstring.+?expected
6039 <RESULT IF_PASS COUNT 1>
6040 (?im)\berror\b.+?float.+?expected
6042 <RESULT IF_PASS COUNT 1>
6043 (?im)\berror\b.+?Reference.+?port.+?expected
6045 <RESULT IF_PASS COUNT 3>
6048 <RESULT IF_PASS POSITIVE>
6049 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6055 .*---------------------------------------------------------------------*
6056 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: default
6057 .*---------------------------------------------------------------------*
6059 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: default>
6063 <MODULE TTCN ModuleA ModuleA.ttcn>
6065 external function MyExtFunc( hexstring par_1, default par_2, float par_3 );
6067 var default mydef_1;
6068 var charstring mydef_2;
6069 MyExtFunc( '7AA'H, mydef_1, 6.2 ); // good
6070 MyExtFunc( 6.2, mydef_1, '7AA'H ); // error
6071 MyExtFunc( '7AA'H, mydef_2, 6.2 ); // error
6075 <RESULT IF_PASS COUNT 1>
6076 (?im)\berror\b.+?hexstring.+?expected
6078 <RESULT IF_PASS COUNT 1>
6079 (?im)\berror\b.+?float.+?expected
6081 <RESULT IF_PASS COUNT 1>
6082 (?im)\berror\b.+?Type.+?mismatch.+?default.+?expected
6084 <RESULT IF_PASS COUNT 3>
6087 <RESULT IF_PASS POSITIVE>
6088 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6094 .*---------------------------------------------------------------------*
6095 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: timer
6096 .*---------------------------------------------------------------------*
6098 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: timer>
6102 <MODULE TTCN ModuleA ModuleA.ttcn>
6104 external function MyExtFunc( hexstring par_1, timer par_2, float par_3 );
6108 MyExtFunc( '7AA'H, T_1, 6.2 ); // good
6109 MyExtFunc( 6.2, T_1, '7AA'H ); // error
6110 MyExtFunc( '7AA'H, T_2, 6.2 ); // error
6114 <RESULT IF_PASS COUNT 1>
6115 (?im)\berror\b.+?hexstring.+?expected
6117 <RESULT IF_PASS COUNT 1>
6118 (?im)\berror\b.+?float.+?expected
6120 <RESULT IF_PASS COUNT 1>
6121 (?im)\berror\b.+?Reference.+?timer.+?expected
6123 <RESULT IF_PASS COUNT 3>
6126 <RESULT IF_PASS POSITIVE>
6127 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6133 .*---------------------------------------------------------------------*
6134 :h4.TTCN-3::TypeMismatchActualFormalParameterList->External Function: basic type as non-mandatory parameter
6135 .*---------------------------------------------------------------------*
6137 <TC - TTCN-3::TypeMismatchActualFormalParameterList->External Function: basic type as non-mandatory parameter>
6141 <MODULE TTCN ModuleA ModuleA.ttcn>
6143 external function MyExtFunc( charstring par_1 := 1, boolean par_2 := 1, integer par_3 := "r")
6146 <RESULT IF_PASS COUNT 1>
6147 (?im)\berror\b.+?character.+?expected
6149 <RESULT IF_PASS COUNT 1>
6150 (?im)\berror\b.+?boolean.+?expected
6152 <RESULT IF_PASS COUNT 1>
6153 (?im)\berror\b.+?integer.+?expected
6155 <RESULT IF_PASS COUNT 3>
6158 <RESULT IF_PASS POSITIVE>
6159 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6165 .*---------------------------------------------------------------------*
6166 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: basic type
6167 .*---------------------------------------------------------------------*
6169 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: basic type>
6173 <MODULE TTCN ModuleA ModuleA.ttcn>
6175 altstep MyAltstep( charstring par_1, boolean par_2, integer par_3 ) {
6179 MyAltstep( "r",true,2 ); // good
6180 MyAltstep( "r",true,6.2 ); // error
6184 <RESULT IF_PASS COUNT 1>
6185 (?im)\berror\b.+?integer.+?expected
6187 <RESULT IF_PASS COUNT 1>
6190 <RESULT IF_PASS POSITIVE>
6191 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6197 .*---------------------------------------------------------------------*
6198 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: user-defined type
6199 .*---------------------------------------------------------------------*
6201 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: user-defined type>
6205 <MODULE TTCN ModuleA ModuleA.ttcn>
6212 altstep MyAltstep( MyRec par ) {
6216 MyAltstep( {6,"r",true} ); // good
6217 MyAltstep( {"r",true,6.2} ); // error
6218 MyAltstep( 5 ); // error
6222 <RESULT IF_PASS COUNT 1>
6223 (?im)\berror\b.+?integer.+?expected
6225 <RESULT IF_PASS COUNT 1>
6226 (?im)\berror\b.+?character string.+?expected
6228 <RESULT IF_PASS COUNT 1>
6229 (?im)\berror\b.+?boolean.+?expected
6231 <RESULT IF_PASS COUNT 1>
6232 (?im)\berror\b.+?Record.+?expected
6234 <RESULT IF_PASS COUNT 4>
6237 <RESULT IF_PASS POSITIVE>
6238 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6244 .*---------------------------------------------------------------------*
6245 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: address type
6246 .*---------------------------------------------------------------------*
6248 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: address type>
6252 <MODULE TTCN ModuleA ModuleA.ttcn>
6254 type record address { charstring field }
6255 altstep MyAltstep( address par_1, octetstring par_2 ) {
6259 MyAltstep( {"k"}, 'A5'O ); // good
6260 MyAltstep( 'A5'O, "k" ); // error
6264 <RESULT IF_PASS COUNT 1>
6265 (?im)\berror\b.+?Record.+?expected
6267 <RESULT IF_PASS COUNT 1>
6268 (?im)\berror\b.+?octetstring.+?expected
6270 <RESULT IF_PASS COUNT 2>
6273 <RESULT IF_PASS POSITIVE>
6274 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6280 .*---------------------------------------------------------------------*
6281 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: template
6282 .*---------------------------------------------------------------------*
6284 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: template>
6288 <MODULE TTCN ModuleA ModuleA.ttcn>
6290 template float MyTemp_1( float par ) := par;
6291 template integer MyTemp_2( integer par ) := par;
6292 altstep MyAltstep( template float par_1, template integer par_2 ) {
6296 MyAltstep( MyTemp_1(6.3), MyTemp_2(6) ); // good
6297 MyAltstep( 6.3, 6 ); // good
6298 MyAltstep( MyTemp_1(6), 6.9 ); // error
6302 <RESULT IF_PASS COUNT 1>
6303 (?im)\berror\b.+?float.+?expected
6305 <RESULT IF_PASS COUNT 1>
6306 (?im)\berror\b.+?integer.+?expected
6308 <RESULT IF_PASS COUNT 2>
6311 <RESULT IF_PASS POSITIVE>
6312 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6318 .*---------------------------------------------------------------------*
6319 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: component type
6320 .*---------------------------------------------------------------------*
6322 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: component type>
6326 <MODULE TTCN ModuleA ModuleA.ttcn>
6328 type component MyCT {}
6329 altstep MyAltstep( bitstring par_1, MyCT par_2, float par_3 ) {
6335 MyAltstep( '01001'B, myct_1, 6.2 ); // good
6336 MyAltstep( 7.6, myct_1, '01001'B ); // error
6337 MyAltstep( '01001'B, myct_2, 6.2 ); // error
6341 <RESULT IF_PASS COUNT 1>
6342 (?im)\berror\b.+?bitstring.+?expected
6344 <RESULT IF_PASS COUNT 1>
6345 (?im)\berror\b.+?float.+?expected
6347 <RESULT IF_PASS COUNT 1>
6348 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
6350 <RESULT IF_PASS COUNT 3>
6353 <RESULT IF_PASS POSITIVE>
6354 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6360 .*---------------------------------------------------------------------*
6361 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: port type
6362 .*---------------------------------------------------------------------*
6364 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: port type>
6368 <MODULE TTCN ModuleA ModuleA.ttcn>
6370 type port MyPortType message { inout integer }
6371 type component MyCT {
6372 port MyPortType port_1;
6375 function MyCompFunc() runs on MyCT {
6376 MyAltstep( '01001'B, port_1, 6.2 ); // good
6377 MyAltstep( 7.6, port_1, '01001'B ); // error
6378 MyAltstep( '01001'B, port_2, 6.2 ); // error
6380 altstep MyAltstep( bitstring par_1, MyPortType par_2, float par_3 ) {
6385 <RESULT IF_PASS COUNT 1>
6386 (?im)\berror\b.+?bitstring.+?expected
6388 <RESULT IF_PASS COUNT 1>
6389 (?im)\berror\b.+?float.+?expected
6391 <RESULT IF_PASS COUNT 1>
6392 (?im)\berror\b.+?Reference.+?port.+?expected
6394 <RESULT IF_PASS COUNT 3>
6397 <RESULT IF_PASS POSITIVE>
6398 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6404 .*---------------------------------------------------------------------*
6405 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: default
6406 .*---------------------------------------------------------------------*
6408 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: default>
6412 <MODULE TTCN ModuleA ModuleA.ttcn>
6414 altstep MyAltstep( hexstring par_1, default par_2, float par_3 ) {
6418 var default mydef_1;
6419 var charstring mydef_2;
6420 MyAltstep( '7AA'H, mydef_1, 6.2 ); // good
6421 MyAltstep( 6.2, mydef_1, '7AA'H ); // error
6422 MyAltstep( '7AA'H, mydef_2, 6.2 ); // error
6426 <RESULT IF_PASS COUNT 1>
6427 (?im)\berror\b.+?hexstring.+?expected
6429 <RESULT IF_PASS COUNT 1>
6430 (?im)\berror\b.+?float.+?expected
6432 <RESULT IF_PASS COUNT 1>
6433 (?im)\berror\b.+?Type.+?mismatch.+?default.+?expected
6435 <RESULT IF_PASS COUNT 3>
6438 <RESULT IF_PASS POSITIVE>
6439 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6445 .*---------------------------------------------------------------------*
6446 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: timer
6447 .*---------------------------------------------------------------------*
6449 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: timer>
6453 <MODULE TTCN ModuleA ModuleA.ttcn>
6455 altstep MyAltstep( hexstring par_1, timer par_2, float par_3 ) {
6461 MyAltstep( '7AA'H, T_1, 6.2 ); // good
6462 MyAltstep( 6.2, T_1, '7AA'H ); // error
6463 MyAltstep( '7AA'H, T_2, 6.2 ); // error
6467 <RESULT IF_PASS COUNT 1>
6468 (?im)\berror\b.+?hexstring.+?expected
6470 <RESULT IF_PASS COUNT 1>
6471 (?im)\berror\b.+?float.+?expected
6473 <RESULT IF_PASS COUNT 1>
6474 (?im)\berror\b.+?Reference.+?timer.+?expected
6476 <RESULT IF_PASS COUNT 3>
6479 <RESULT IF_PASS POSITIVE>
6480 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6486 .*---------------------------------------------------------------------*
6487 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep: basic type as non-mandatory parameter
6488 .*---------------------------------------------------------------------*
6490 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep: basic type as non-mandatory parameter>
6494 <MODULE TTCN ModuleA ModuleA.ttcn>
6496 altstep MyAltstep( charstring par_1 := 1, boolean par_2 := 1, integer par_3 := "r"){
6501 <RESULT IF_PASS COUNT 1>
6502 (?im)\berror\b.+?character.+?expected
6504 <RESULT IF_PASS COUNT 1>
6505 (?im)\berror\b.+?boolean.+?expected
6507 <RESULT IF_PASS COUNT 1>
6508 (?im)\berror\b.+?integer.+?expected
6510 <RESULT IF_PASS COUNT 3>
6513 <RESULT IF_PASS POSITIVE>
6514 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6520 .*---------------------------------------------------------------------*
6521 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: basic type
6522 .*---------------------------------------------------------------------*
6524 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: basic type>
6528 <MODULE TTCN ModuleA ModuleA.ttcn>
6530 type component MyCT {}
6531 altstep MyCompAltstep( charstring par_1, boolean par_2, integer par_3 ) runs on MyCT {
6534 function MyCompFunc() runs on MyCT {
6535 MyCompAltstep( "r",true,2 ); // good
6536 MyCompAltstep( "r",true,6.2 ); // error
6540 <RESULT IF_PASS COUNT 1>
6541 (?im)\berror\b.+?integer.+?expected
6543 <RESULT IF_PASS COUNT 1>
6546 <RESULT IF_PASS POSITIVE>
6547 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6553 .*---------------------------------------------------------------------*
6554 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: user-defined type
6555 .*---------------------------------------------------------------------*
6557 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: user-defined type>
6561 <MODULE TTCN ModuleA ModuleA.ttcn>
6563 type component MyCT {}
6569 altstep MyCompAltstep( MyRec par ) runs on MyCT {
6572 function MyCompFunc() runs on MyCT {
6573 MyCompAltstep( {6,"r",true} ); // good
6574 MyCompAltstep( {"r",true,6.2} ); // error
6575 MyCompAltstep( 5 ); // error
6579 <RESULT IF_PASS COUNT 1>
6580 (?im)\berror\b.+?integer.+?expected
6582 <RESULT IF_PASS COUNT 1>
6583 (?im)\berror\b.+?character string.+?expected
6585 <RESULT IF_PASS COUNT 1>
6586 (?im)\berror\b.+?boolean.+?expected
6588 <RESULT IF_PASS COUNT 1>
6589 (?im)\berror\b.+?Record.+?expected
6591 <RESULT IF_PASS COUNT 4>
6594 <RESULT IF_PASS POSITIVE>
6595 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6601 .*---------------------------------------------------------------------*
6602 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: address type
6603 .*---------------------------------------------------------------------*
6605 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: address type>
6609 <MODULE TTCN ModuleA ModuleA.ttcn>
6611 type component MyCT {}
6612 type record address { charstring field }
6613 altstep MyCompAltstep( address par_1, octetstring par_2 ) runs on MyCT {
6616 function MyCompFunc() runs on MyCT {
6617 MyCompAltstep( {"k"}, 'A5'O ); // good
6618 MyCompAltstep( 'A5'O, "k" ); // error
6622 <RESULT IF_PASS COUNT 1>
6623 (?im)\berror\b.+?Record.+?expected
6625 <RESULT IF_PASS COUNT 1>
6626 (?im)\berror\b.+?octetstring.+?expected
6628 <RESULT IF_PASS COUNT 2>
6631 <RESULT IF_PASS POSITIVE>
6632 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6638 .*---------------------------------------------------------------------*
6639 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: template
6640 .*---------------------------------------------------------------------*
6642 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: template>
6646 <MODULE TTCN ModuleA ModuleA.ttcn>
6648 type component MyCT {}
6649 template float MyTemp_1( float par ) := par;
6650 template integer MyTemp_2( integer par ) := par;
6651 altstep MyCompAltstep( template float par_1, template integer par_2 ) runs on MyCT {
6654 function MyCompFunc() runs on MyCT {
6655 MyCompAltstep( MyTemp_1(6.3), MyTemp_2(6) ); // good
6656 MyCompAltstep( 6.3, 6 ); // good
6657 MyCompAltstep( MyTemp_1(6), 6.9 ); // error
6661 <RESULT IF_PASS COUNT 1>
6662 (?im)\berror\b.+?float.+?expected
6664 <RESULT IF_PASS COUNT 1>
6665 (?im)\berror\b.+?integer.+?expected
6667 <RESULT IF_PASS COUNT 2>
6670 <RESULT IF_PASS POSITIVE>
6671 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6677 .*---------------------------------------------------------------------*
6678 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: component type
6679 .*---------------------------------------------------------------------*
6681 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: component type>
6685 <MODULE TTCN ModuleA ModuleA.ttcn>
6687 type component MyCT {}
6688 altstep MyCompAltstep( bitstring par_1, MyCT par_2, float par_3 ) runs on MyCT {
6691 function MyCompFunc() runs on MyCT {
6694 MyCompAltstep( '01001'B, myct_1, 6.2 ); // good
6695 MyCompAltstep( 7.6, myct_1, '01001'B ); // error
6696 MyCompAltstep( '01001'B, myct_2, 6.2 ); // error
6700 <RESULT IF_PASS COUNT 1>
6701 (?im)\berror\b.+?bitstring.+?expected
6703 <RESULT IF_PASS COUNT 1>
6704 (?im)\berror\b.+?float.+?expected
6706 <RESULT IF_PASS COUNT 1>
6707 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
6709 <RESULT IF_PASS COUNT 3>
6712 <RESULT IF_PASS POSITIVE>
6713 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6719 .*---------------------------------------------------------------------*
6720 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: port type
6721 .*---------------------------------------------------------------------*
6723 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: port type>
6727 <MODULE TTCN ModuleA ModuleA.ttcn>
6729 type port MyPortType message { inout integer }
6730 type component MyCT {
6731 port MyPortType port_1;
6734 altstep MyCompAltstep( bitstring par_1, MyPortType par_2, float par_3 ) runs on MyCT {
6737 function MyCompFunc() runs on MyCT {
6738 MyCompAltstep( '01001'B, port_1, 6.2 ); // good
6739 MyCompAltstep( 7.6, port_1, '01001'B ); // error
6740 MyCompAltstep( '01001'B, port_2, 6.2 ); // error
6744 <RESULT IF_PASS COUNT 1>
6745 (?im)\berror\b.+?bitstring.+?expected
6747 <RESULT IF_PASS COUNT 1>
6748 (?im)\berror\b.+?float.+?expected
6750 <RESULT IF_PASS COUNT 1>
6751 (?im)\berror\b.+?Reference.+?port.+?expected
6753 <RESULT IF_PASS COUNT 3>
6756 <RESULT IF_PASS POSITIVE>
6757 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6763 .*---------------------------------------------------------------------*
6764 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: default
6765 .*---------------------------------------------------------------------*
6767 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: default>
6771 <MODULE TTCN ModuleA ModuleA.ttcn>
6773 type component MyCT {}
6774 altstep MyCompAltstep( hexstring par_1, default par_2, float par_3 ) runs on MyCT {
6777 function MyCompFunc() runs on MyCT {
6778 var default mydef_1;
6779 var charstring mydef_2;
6780 MyCompAltstep( '7AA'H, mydef_1, 6.2 ); // good
6781 MyCompAltstep( 6.2, mydef_1, '7AA'H ); // error
6782 MyCompAltstep( '7AA'H, mydef_2, 6.2 ); // error
6786 <RESULT IF_PASS COUNT 1>
6787 (?im)\berror\b.+?hexstring.+?expected
6789 <RESULT IF_PASS COUNT 1>
6790 (?im)\berror\b.+?float.+?expected
6792 <RESULT IF_PASS COUNT 1>
6793 (?im)\berror\b.+?Type.+?mismatch.+?default.+?expected
6795 <RESULT IF_PASS COUNT 3>
6798 <RESULT IF_PASS POSITIVE>
6799 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6805 .*---------------------------------------------------------------------*
6806 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: timer
6807 .*---------------------------------------------------------------------*
6809 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Altstep_runs_on: timer>
6813 <MODULE TTCN ModuleA ModuleA.ttcn>
6815 type component MyCT {}
6816 altstep MyCompAltstep( hexstring par_1, timer par_2, float par_3 ) runs on MyCT {
6819 function MyCompFunc() runs on MyCT {
6822 MyCompAltstep( '7AA'H, T_1, 6.2 ); // good
6823 MyCompAltstep( 6.2, T_1, '7AA'H ); // error
6824 MyCompAltstep( '7AA'H, T_2, 6.2 ); // error
6828 <RESULT IF_PASS COUNT 1>
6829 (?im)\berror\b.+?hexstring.+?expected
6831 <RESULT IF_PASS COUNT 1>
6832 (?im)\berror\b.+?float.+?expected
6834 <RESULT IF_PASS COUNT 1>
6835 (?im)\berror\b.+?Reference.+?timer.+?expected
6837 <RESULT IF_PASS COUNT 3>
6840 <RESULT IF_PASS POSITIVE>
6841 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6847 .*---------------------------------------------------------------------*
6848 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Testcase: basic type
6849 .*---------------------------------------------------------------------*
6851 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Testcase: basic type>
6855 <MODULE TTCN ModuleA ModuleA.ttcn>
6857 type component MyCT {}
6858 testcase MyTestcase( charstring par_1, boolean par_2, integer par_3 ) runs on MyCT {}
6860 execute ( MyTestcase( "r",true,2 ) ); // good
6861 execute ( MyTestcase( "r",true,6.2 ) ); // error
6865 <RESULT IF_PASS COUNT 1>
6866 (?im)\berror\b.+?integer.+?expected
6868 <RESULT IF_PASS COUNT 1>
6871 <RESULT IF_PASS POSITIVE>
6872 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6878 .*---------------------------------------------------------------------*
6879 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Testcase: user-defined type
6880 .*---------------------------------------------------------------------*
6882 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Testcase: user-defined type>
6886 <MODULE TTCN ModuleA ModuleA.ttcn>
6888 type component MyCT {}
6894 testcase MyTestcase( MyRec par ) runs on MyCT {}
6896 execute ( MyTestcase( {6,"r",true} ) ); // good
6897 execute ( MyTestcase( {"r",true,6.2} ) ); // error
6898 execute ( MyTestcase( 5 ) ); // error
6902 <RESULT IF_PASS COUNT 1>
6903 (?im)\berror\b.+?integer.+?expected
6905 <RESULT IF_PASS COUNT 1>
6906 (?im)\berror\b.+?character string.+?expected
6908 <RESULT IF_PASS COUNT 1>
6909 (?im)\berror\b.+?boolean.+?expected
6911 <RESULT IF_PASS COUNT 1>
6912 (?im)\berror\b.+?Record.+?expected
6914 <RESULT IF_PASS COUNT 4>
6917 <RESULT IF_PASS POSITIVE>
6918 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6924 .*---------------------------------------------------------------------*
6925 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Testcase: address type
6926 .*---------------------------------------------------------------------*
6928 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Testcase: address type>
6932 <MODULE TTCN ModuleA ModuleA.ttcn>
6934 type component MyCT {}
6935 type record address { charstring field }
6936 testcase MyTestcase( address par_1, octetstring par_2 ) runs on MyCT {}
6938 execute ( MyTestcase( {"k"}, 'A5'O ) ); // good
6939 execute ( MyTestcase( 'A5'O, "k" ) ); // error
6943 <RESULT IF_PASS COUNT 1>
6944 (?im)\berror\b.+?Record.+?expected
6946 <RESULT IF_PASS COUNT 1>
6947 (?im)\berror\b.+?octetstring.+?expected
6949 <RESULT IF_PASS COUNT 2>
6952 <RESULT IF_PASS POSITIVE>
6953 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6959 .*---------------------------------------------------------------------*
6960 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Testcase: template
6961 .*---------------------------------------------------------------------*
6963 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Testcase: template>
6967 <MODULE TTCN ModuleA ModuleA.ttcn>
6969 type component MyCT {}
6970 template float MyTemp_1( float par ) := par;
6971 template integer MyTemp_2( integer par ) := par;
6972 testcase MyTestcase( template float par_1, template integer par_2 ) runs on MyCT {}
6974 execute ( MyTestcase( MyTemp_1(6.3), MyTemp_2(6) ) ); // good
6975 execute ( MyTestcase( 6.3, 6 ) ); // good
6976 execute ( MyTestcase( MyTemp_1(6), 6.9 ) ); // error
6980 <RESULT IF_PASS COUNT 1>
6981 (?im)\berror\b.+?float.+?expected
6983 <RESULT IF_PASS COUNT 1>
6984 (?im)\berror\b.+?integer.+?expected
6986 <RESULT IF_PASS COUNT 2>
6989 <RESULT IF_PASS POSITIVE>
6990 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
6996 .*---------------------------------------------------------------------*
6997 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Testcase: component type
6998 .*---------------------------------------------------------------------*
7000 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Testcase: component type>
7004 <MODULE TTCN ModuleA ModuleA.ttcn>
7006 type component MyCT {}
7007 testcase MyTestcase( bitstring par_1, MyCT par_2, float par_3 ) runs on MyCT {}
7011 execute ( MyTestcase( '01001'B, myct_1, 6.2 ) ); // good
7012 execute ( MyTestcase( 7.6, myct_1, '01001'B ) ); // error
7013 execute ( MyTestcase( '01001'B, myct_2, 6.2 ) ); // error
7017 <RESULT IF_PASS COUNT 1>
7018 (?im)\berror\b.+?bitstring.+?expected
7020 <RESULT IF_PASS COUNT 1>
7021 (?im)\berror\b.+?float.+?expected
7023 <RESULT IF_PASS COUNT 1>
7024 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
7026 <RESULT IF_PASS COUNT 3>
7029 <RESULT IF_PASS POSITIVE>
7030 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7036 .*---------------------------------------------------------------------*
7037 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Testcase: default
7038 .*---------------------------------------------------------------------*
7040 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Testcase: default>
7044 <MODULE TTCN ModuleA ModuleA.ttcn>
7046 type component MyCT {}
7047 testcase MyTestcase( hexstring par_1, default par_2, float par_3 ) runs on MyCT {}
7049 var default mydef_1;
7050 var charstring mydef_2;
7051 execute ( MyTestcase( '7AA'H, mydef_1, 6.2 ) ); // good
7052 execute ( MyTestcase( 6.2, mydef_1, '7AA'H ) ); // error
7053 execute ( MyTestcase( '7AA'H, mydef_2, 6.2 ) ); // error
7057 <RESULT IF_PASS COUNT 1>
7058 (?im)\berror\b.+?hexstring.+?expected
7060 <RESULT IF_PASS COUNT 1>
7061 (?im)\berror\b.+?float.+?expected
7063 <RESULT IF_PASS COUNT 1>
7064 (?im)\berror\b.+?Type.+?mismatch.+?default.+?expected
7066 <RESULT IF_PASS COUNT 3>
7069 <RESULT IF_PASS POSITIVE>
7070 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7076 .*---------------------------------------------------------------------*
7077 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Testcase: basic type as non-mandatory parameter
7078 .*---------------------------------------------------------------------*
7080 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Testcase: basic type as non-mandatory parameter>
7084 <MODULE TTCN ModuleA ModuleA.ttcn>
7086 type component MyCT {}
7087 testcase MyTestcase( charstring par_1 := 1, boolean par_2 := 1, integer par_3 := "r") runs on MyCT {}
7090 <RESULT IF_PASS COUNT 1>
7091 (?im)\berror\b.+?character.+?expected
7093 <RESULT IF_PASS COUNT 1>
7094 (?im)\berror\b.+?boolean.+?expected
7096 <RESULT IF_PASS COUNT 1>
7097 (?im)\berror\b.+?integer.+?expected
7099 <RESULT IF_PASS COUNT 3>
7102 <RESULT IF_PASS POSITIVE>
7103 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7109 .*---------------------------------------------------------------------*
7110 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Signature: basic type
7111 .*---------------------------------------------------------------------*
7113 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Signature: basic type>
7117 <MODULE TTCN ModuleA ModuleA.ttcn>
7119 signature MySig( charstring par_1, boolean par_2, integer par_3 );
7120 type port MyPortType procedure { inout MySig }
7121 type component MyComp {
7122 port MyPortType MyPort;
7124 function MyFunc() runs on MyComp {
7125 MyPort.call(MySig:{ "r",true,2 }, 20E-3 + 20E-3) { //good
7126 [] MyPort.getreply {}
7128 MyPort.call(MySig:{ "r",true,2.6 }, 20E-3 + 20E-3) { // error
7129 [] MyPort.getreply {}
7134 <RESULT IF_PASS COUNT 1>
7135 (?im)\berror\b.+?integer.+?expected
7137 <RESULT IF_PASS COUNT 1>
7140 <RESULT IF_PASS POSITIVE>
7141 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7147 .*---------------------------------------------------------------------*
7148 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Signature: user-defined type
7149 .*---------------------------------------------------------------------*
7151 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Signature: user-defined type>
7155 <MODULE TTCN ModuleA ModuleA.ttcn>
7162 signature MySig( MyRec par );
7163 type port MyPortType procedure { inout MySig }
7164 type component MyComp {
7165 port MyPortType MyPort;
7167 function MyFunc() runs on MyComp {
7168 MyPort.call(MySig:{ {6,"r",true} }, 20E-3 + 20E-3) { // good
7169 [] MyPort.getreply {}
7171 MyPort.call(MySig:{ {"r",true,6.2} }, 20E-3 + 20E-3) { // error
7172 [] MyPort.getreply {}
7174 MyPort.call(MySig:{ 6 }, 20E-3 + 20E-3) { // error
7175 [] MyPort.getreply {}
7180 <RESULT IF_PASS COUNT 1>
7181 (?im)\berror\b.+?integer.+?expected
7183 <RESULT IF_PASS COUNT 1>
7184 (?im)\berror\b.+?character string.+?expected
7186 <RESULT IF_PASS COUNT 1>
7187 (?im)\berror\b.+?boolean.+?expected
7189 <RESULT IF_PASS COUNT 1>
7190 (?im)\berror\b.+?Record.+?expected
7192 <RESULT IF_PASS COUNT 4>
7195 <RESULT IF_PASS POSITIVE>
7196 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7202 .*---------------------------------------------------------------------*
7203 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Signature: address type
7204 .*---------------------------------------------------------------------*
7206 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Signature: address type>
7210 <MODULE TTCN ModuleA ModuleA.ttcn>
7212 type record address { charstring field }
7213 signature MySig( address par_1, octetstring par_2 );
7214 type port MyPortType procedure { inout MySig }
7215 type component MyComp {
7216 port MyPortType MyPort;
7218 function MyFunc() runs on MyComp {
7219 MyPort.call(MySig:{ {"k"}, 'A5'O }, 20E-3 + 20E-3) { // good
7220 [] MyPort.getreply {}
7222 MyPort.call(MySig:{ 'A5'O, "k" }, 20E-3 + 20E-3) { // error
7223 [] MyPort.getreply {}
7228 <RESULT IF_PASS COUNT 1>
7229 (?im)\berror\b.+?Record.+?expected
7231 <RESULT IF_PASS COUNT 1>
7232 (?im)\berror\b.+?octetstring.+?expected
7234 <RESULT IF_PASS COUNT 2>
7237 <RESULT IF_PASS POSITIVE>
7238 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7244 .*---------------------------------------------------------------------*
7245 :h4.TTCN-3::TypeMismatchActualFormalParameterList->Signature: component type
7246 .*---------------------------------------------------------------------*
7248 <TC - TTCN-3::TypeMismatchActualFormalParameterList->Signature: component type>
7252 <MODULE TTCN ModuleA ModuleA.ttcn>
7254 type component MyCT {}
7255 signature MySig( bitstring par_1, MyCT par_2, float par_3 );
7256 type port MyPortType procedure { inout MySig }
7257 type component MyComp {
7258 port MyPortType MyPort;
7260 function MyFunc() runs on MyComp {
7263 MyPort.call(MySig:{ '01001'B, myct_1, 6.2 }, 20E-3 + 20E-3) { // good
7264 [] MyPort.getreply {}
7266 MyPort.call(MySig:{ 7.6, myct_1, '01001'B }, 20E-3 + 20E-3) { // error
7267 [] MyPort.getreply {}
7269 MyPort.call(MySig:{ '01001'B, myct_2, 6.2 }, 20E-3 + 20E-3) { // error
7270 [] MyPort.getreply {}
7275 <RESULT IF_PASS COUNT 1>
7276 (?im)\berror\b.+?bitstring.+?expected
7278 <RESULT IF_PASS COUNT 1>
7279 (?im)\berror\b.+?float.+?expected
7281 <RESULT IF_PASS COUNT 1>
7282 (?im)\berror\b.+?Type.+?mismatch.+?MyCT.+?expected
7284 <RESULT IF_PASS COUNT 3>
7287 <RESULT IF_PASS POSITIVE>
7288 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7295 .*---------------------------------------------------------------------*
7296 :h2.All types shall be compatible with the type that is expected in the place where a type is expected
7297 .*---------------------------------------------------------------------*
7298 This test case group covers the requirement SA-5/3.
7301 .*---------------------------------------------------------------------*
7302 :h2.Void return type in an expression
7303 .*---------------------------------------------------------------------*
7304 This test case group covers the requirement SA-5/4.
7306 The first few testcase below test functions with void return type in
7307 expressions in each possible dynamic part. Then several other possible
7308 expressions are tested with a function, testcase or altstep.
7310 Expressions where functions cannot be used were not tested (e.g. halt,
7313 .*---------------------------------------------------------------------*
7314 :h3.Void return type - experession in control part
7315 .*---------------------------------------------------------------------*
7318 <TC - Void return type - experession in control part>
7322 <MODULE TTCN Temp Temp.ttcn>
7325 function VoidRetType() { }
7328 var integer FaultyInt4 := VoidRetType() + 4;
7334 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7340 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7346 .*---------------------------------------------------------------------*
7347 :h3.Void return type - experession in function
7348 .*---------------------------------------------------------------------*
7351 <TC - Void return type - experession in function>
7355 <MODULE TTCN Temp Temp.ttcn>
7358 function VoidRetType() { }
7362 var integer FaultyInt1 := VoidRetType() + 1;
7368 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7374 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7380 .*---------------------------------------------------------------------*
7381 :h3.Void return type - experession in testcase
7382 .*---------------------------------------------------------------------*
7385 <TC - Void return type - experession in testcase>
7389 <MODULE TTCN Temp Temp.ttcn>
7392 type component my_CT {
7396 function VoidRetType() { }
7398 testcase TC() runs on my_CT
7400 var integer FaultyInt3 := VoidRetType() + 3;
7406 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7412 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7418 .*---------------------------------------------------------------------*
7419 :h3.Void return type - experession in altstep
7420 .*---------------------------------------------------------------------*
7423 <TC - Void return type - experession in altstep>
7427 <MODULE TTCN Temp Temp.ttcn>
7430 type component my_CT {
7434 function VoidRetType() { }
7436 altstep AS() runs on my_CT
7438 var integer FaultyInt2 := VoidRetType() + 2;
7445 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7451 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7457 .*---------------------------------------------------------------------*
7458 :h3.Void return type - message based port operations
7459 .*---------------------------------------------------------------------*
7462 <TC - Void return type - message based port operations>
7466 <MODULE TTCN Temp Temp.ttcn>
7469 type port MPort message {
7473 type component MyComponent {
7477 function VoidRetType() { }
7479 testcase TC() runs on MyComponent {
7480 mPort.send(VoidRetType());
7481 mPort.receive(VoidRetType());
7482 mPort.trigger(VoidRetType());
7483 mPort.check(receive(VoidRetType()));
7489 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7495 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7501 .*---------------------------------------------------------------------*
7502 :h3.Void return type - procedure based port operations
7503 .*---------------------------------------------------------------------*
7506 <TC - Void return type - procedure based port operations>
7510 <MODULE TTCN Temp Temp.ttcn>
7513 signature Sig() exception(integer);
7514 template Sig tSig := { }
7516 type port PPort procedure {
7520 type component MyComponent {
7524 function VoidRetType() { }
7526 testcase TC() runs on MyComponent {
7527 pPort.call(VoidRetType(), nowait);
7528 pPort.call(tSig, VoidRetType()) {
7529 []pPort.catch(timeout) { }
7531 pPort.getreply(VoidRetType());
7532 pPort.getcall(VoidRetType());
7533 pPort.reply(VoidRetType());
7534 pPort.raise(Sig, VoidRetType());
7535 pPort.catch(Sig, VoidRetType());
7536 pPort.check(getreply(VoidRetType()));
7542 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7548 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7554 .*---------------------------------------------------------------------*
7555 :h3.Void return type - addition
7556 .*---------------------------------------------------------------------*
7559 <TC - Void return type - addition>
7563 <MODULE TTCN Temp Temp.ttcn>
7566 function VoidRetType() { }
7570 var integer FaultyInt1 := VoidRetType() + 10;
7571 var integer FaultyInt2 := 9 + VoidRetType();
7572 var float FaultyFloat1 := 3.14 + VoidRetType();
7573 var float FaultyFloat2 := VoidRetType() + 2.0;
7579 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7585 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7591 .*---------------------------------------------------------------------*
7592 :h3.Void return type - subtraction
7593 .*---------------------------------------------------------------------*
7596 <TC - Void return type - subtraction>
7600 <MODULE TTCN Temp Temp.ttcn>
7603 function VoidRetType() { }
7607 var integer FaultyInt1 := VoidRetType() - 10;
7608 var integer FaultyInt2 := 9 - VoidRetType();
7609 var float FaultyFloat1 := 3.14 - VoidRetType();
7610 var float FaultyFloat2 := VoidRetType() - 2.0;
7616 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7622 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7628 .*---------------------------------------------------------------------*
7629 :h3.Void return type - multiplication
7630 .*---------------------------------------------------------------------*
7633 <TC - Void return type - multiplication>
7637 <MODULE TTCN Temp Temp.ttcn>
7640 function VoidRetType() { }
7644 var integer FaultyInt1 := VoidRetType() * 10;
7645 var integer FaultyInt2 := 9 * VoidRetType();
7646 var float FaultyFloat1 := 3.14 * VoidRetType();
7647 var float FaultyFloat2 := VoidRetType() * 2.0;
7653 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7659 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7665 .*---------------------------------------------------------------------*
7666 :h3.Void return type - division
7667 .*---------------------------------------------------------------------*
7670 <TC - Void return type - division>
7674 <MODULE TTCN Temp Temp.ttcn>
7677 function VoidRetType() { }
7681 var integer FaultyInt1 := VoidRetType() / 10;
7682 var integer FaultyInt2 := 9 / VoidRetType();
7683 var float FaultyFloat1 := 3.14 / VoidRetType();
7684 var float FaultyFloat2 := VoidRetType() / 2.0;
7690 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7696 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7702 .*---------------------------------------------------------------------*
7703 :h3.Void return type - modulo
7704 .*---------------------------------------------------------------------*
7707 <TC - Void return type - modulo>
7711 <MODULE TTCN Temp Temp.ttcn>
7714 function VoidRetType() { }
7718 var integer FaultyInt1 := VoidRetType() mod 10;
7719 var integer FaultyInt2 := 9 mod VoidRetType();
7725 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7731 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7737 .*---------------------------------------------------------------------*
7738 :h3.Void return type - remainder
7739 .*---------------------------------------------------------------------*
7742 <TC - Void return type - remainder>
7746 <MODULE TTCN Temp Temp.ttcn>
7749 function VoidRetType() { }
7753 var integer FaultyInt1 := VoidRetType() rem 10;
7754 var integer FaultyInt2 := 9 rem VoidRetType();
7760 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7766 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7772 .*---------------------------------------------------------------------*
7773 :h3.Void return type - string concatenation
7774 .*---------------------------------------------------------------------*
7777 <TC - Void return type - string concatenation>
7781 <MODULE TTCN Temp Temp.ttcn>
7784 function VoidRetType() { }
7788 var charstring FaultyCS := "ABC" & VoidRetType() & "def";
7789 var bitstring FaultyBS := VoidRetType() & '0101'B;
7790 var hexstring FaultyHS := '123ABCD'H & VoidRetType();
7791 var octetstring FaultyOS := VoidRetType() & 'A5A5'O;
7792 var universal charstring FaultyUCS := "abc" & VoidRetType();
7798 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7804 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7810 .*---------------------------------------------------------------------*
7811 :h3.Void return type - equal operator
7812 .*---------------------------------------------------------------------*
7815 <TC - Void return type - equal operator>
7819 <MODULE TTCN Temp Temp.ttcn>
7822 function VoidRetType() { }
7826 var boolean FaultyBool := objid { 1 2 3 } == VoidRetType();
7832 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7838 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7844 .*---------------------------------------------------------------------*
7845 :h3.Void return type - less then operator
7846 .*---------------------------------------------------------------------*
7849 <TC - Void return type - less then operator>
7853 <MODULE TTCN Temp Temp.ttcn>
7856 function VoidRetType() { }
7860 var boolean FaultyBool := 0.0 < VoidRetType();
7866 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7872 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7878 .*---------------------------------------------------------------------*
7879 :h3.Void return type - greater then operator
7880 .*---------------------------------------------------------------------*
7883 <TC - Void return type - greater then operator>
7887 <MODULE TTCN Temp Temp.ttcn>
7890 function VoidRetType() { }
7894 var boolean FaultyBool := -32 > VoidRetType();
7900 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7906 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7912 .*---------------------------------------------------------------------*
7913 :h3.Void return type - not equal operator
7914 .*---------------------------------------------------------------------*
7917 <TC - Void return type - not equal operator>
7921 <MODULE TTCN Temp Temp.ttcn>
7924 function VoidRetType() { }
7928 var boolean FaultyBool := "ABC" != VoidRetType();
7934 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7940 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7946 .*---------------------------------------------------------------------*
7947 :h3.Void return type - greater then or equal operator
7948 .*---------------------------------------------------------------------*
7951 <TC - Void return type - greater then or equal operator>
7955 <MODULE TTCN Temp Temp.ttcn>
7958 function VoidRetType() { }
7962 var boolean FaultyBool := 32.01 >= VoidRetType();
7968 (?im)value.+?expected.+?instead.+?\bof\b.+?function
7974 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
7980 .*---------------------------------------------------------------------*
7981 :h3.Void return type - less then or equal operator
7982 .*---------------------------------------------------------------------*
7985 <TC - Void return type - less then or equal operator>
7989 <MODULE TTCN Temp Temp.ttcn>
7992 function VoidRetType() { }
7996 var boolean FaultyBool := VoidRetType() <= 99;
8002 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8008 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8014 .*---------------------------------------------------------------------*
8015 :h3.Void return type - logical not operator
8016 .*---------------------------------------------------------------------*
8019 <TC - Void return type - logical not operator>
8023 <MODULE TTCN Temp Temp.ttcn>
8026 function VoidRetType() { }
8030 var boolean FaultyBool := not VoidRetType();
8036 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8042 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8048 .*---------------------------------------------------------------------*
8049 :h3.Void return type - logical and operator
8050 .*---------------------------------------------------------------------*
8053 <TC - Void return type - logical and operator>
8057 <MODULE TTCN Temp Temp.ttcn>
8060 function VoidRetType() { }
8064 var boolean FaultyBool := VoidRetType() and true;
8070 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8076 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8082 .*---------------------------------------------------------------------*
8083 :h3.Void return type - logical or operator
8084 .*---------------------------------------------------------------------*
8087 <TC - Void return type - logical or operator>
8091 <MODULE TTCN Temp Temp.ttcn>
8094 function VoidRetType() { }
8098 var boolean FaultyBool := false or VoidRetType();
8104 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8110 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8116 .*---------------------------------------------------------------------*
8117 :h3.Void return type - logical xor operator
8118 .*---------------------------------------------------------------------*
8121 <TC - Void return type - logical xor operator>
8125 <MODULE TTCN Temp Temp.ttcn>
8128 function VoidRetType()
8133 var boolean FaultyBool := VoidRetType() xor true;
8139 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8145 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8151 .*---------------------------------------------------------------------*
8152 :h3.Void return type - bitwise not operator
8153 .*---------------------------------------------------------------------*
8156 <TC - Void return type - bitwise not operator>
8160 <MODULE TTCN Temp Temp.ttcn>
8163 function VoidRetType() { }
8167 var integer FaultyInt := not4b VoidRetType();
8173 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8179 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8185 .*---------------------------------------------------------------------*
8186 :h3.Void return type - bitwise and operator
8187 .*---------------------------------------------------------------------*
8190 <TC - Void return type - bitwise and operator>
8194 <MODULE TTCN Temp Temp.ttcn>
8197 function VoidRetType() { }
8201 var bitstring FaultyBS := VoidRetType() and4b '0101'B;
8207 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8213 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8219 .*---------------------------------------------------------------------*
8220 :h3.Void return type - bitwise or operator
8221 .*---------------------------------------------------------------------*
8224 <TC - Void return type - bitwise or operator>
8228 <MODULE TTCN Temp Temp.ttcn>
8231 function VoidRetType()
8236 var octetstring FaultyOS := 'AA55'O or4b VoidRetType();
8242 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8248 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8254 .*---------------------------------------------------------------------*
8255 :h3.Void return type - bitwise xor operator
8256 .*---------------------------------------------------------------------*
8259 <TC - Void return type - bitwise xor operator>
8263 <MODULE TTCN Temp Temp.ttcn>
8266 function VoidRetType() { }
8270 var hexstring FaultyHS := VoidRetType() xor4b '123'H;
8276 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8282 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8288 .*---------------------------------------------------------------------*
8289 :h3.Void return type - shift operators
8290 .*---------------------------------------------------------------------*
8293 <TC - Void return type - shift operators>
8297 <MODULE TTCN Temp Temp.ttcn>
8300 function VoidRetType() { }
8304 var bitstring FaultyBS1 := '0011'B << VoidRetType();
8305 var bitstring FaultyBS2 := VoidRetType() >> 12;
8306 var hexstring FaultyHS := '123'H << VoidRetType();
8307 var octetstring FaultyOS := '1234'O << VoidRetType();
8313 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8319 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8325 .*---------------------------------------------------------------------*
8326 :h3.Void return type - rotate operators
8327 .*---------------------------------------------------------------------*
8330 <TC - Void return type - rotate operators>
8334 <MODULE TTCN Temp Temp.ttcn>
8337 function VoidRetType() { }
8341 var bitstring FaultyBS1 := '0011'B <@ VoidRetType();
8342 var bitstring FaultyBS2 := VoidRetType() @> 12;
8343 var hexstring FaultyHS := '123'H <@ VoidRetType();
8344 var octetstring FaultyOS := '1234'O <@ VoidRetType();
8345 var charstring FaultyCS := "ABCDEF" <@ VoidRetType();
8351 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8357 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8363 .*---------------------------------------------------------------------*
8364 :h3.Void return type - assignment
8365 .*---------------------------------------------------------------------*
8368 <TC - Void return type - assignment>
8372 <MODULE TTCN Temp Temp.ttcn>
8375 function VoidRetType() { }
8379 var integer FaultyInt := VoidRetType();
8385 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8391 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8397 .*---------------------------------------------------------------------*
8398 :h3.Void return type - logging
8399 .*---------------------------------------------------------------------*
8402 <TC - Void return type - logging>
8406 <MODULE TTCN Temp Temp.ttcn>
8409 function VoidRetType() { }
8413 log("VoidRetType() returned: ", VoidRetType());
8419 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8425 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8431 .*---------------------------------------------------------------------*
8432 :h3.Void return type - if/else statement
8433 .*---------------------------------------------------------------------*
8436 <TC - Void return type - if/else statement>
8440 <MODULE TTCN Temp Temp.ttcn>
8443 function VoidRetType() { }
8447 if(VoidRetType()) { }
8453 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8459 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8465 .*---------------------------------------------------------------------*
8466 :h3.Void return type - for loop
8467 .*---------------------------------------------------------------------*
8470 <TC - Void return type - for loop>
8474 <MODULE TTCN Temp Temp.ttcn>
8477 function VoidRetType() { }
8481 for(var integer Counter:=0; VoidRetType(); Counter:=Counter+1) { }
8487 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8493 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8499 .*---------------------------------------------------------------------*
8500 :h3.Void return type - while loop
8501 .*---------------------------------------------------------------------*
8504 <TC - Void return type - while loop>
8508 <MODULE TTCN Temp Temp.ttcn>
8511 function VoidRetType() { }
8515 while(VoidRetType()) { }
8521 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8527 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8533 .*---------------------------------------------------------------------*
8534 :h3.Void return type - do while loop
8535 .*---------------------------------------------------------------------*
8538 <TC - Void return type - do while loop>
8542 <MODULE TTCN Temp Temp.ttcn>
8545 function VoidRetType() { }
8549 do { } while(VoidRetType());
8555 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8561 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8567 .*---------------------------------------------------------------------*
8568 :h3.Void return type - array notation
8569 .*---------------------------------------------------------------------*
8572 <TC - Void return type - array notation>
8576 <MODULE TTCN Temp Temp.ttcn>
8579 function VoidRetType() { }
8583 var integer Int[3] := { 1, 2, 3 };
8584 var integer FaultyInt := Int[VoidRetType()];
8590 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8596 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8602 .*---------------------------------------------------------------------*
8603 :h3.Void return type - start timer operation
8604 .*---------------------------------------------------------------------*
8607 <TC - Void return type - start timer operation>
8611 <MODULE TTCN Temp Temp.ttcn>
8614 function VoidRetType() { }
8619 T.start(VoidRetType());
8625 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8631 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8637 .*---------------------------------------------------------------------*
8638 :h3.Void return type - actual parameter
8639 .*---------------------------------------------------------------------*
8642 <TC - Void return type - actual parameter>
8646 <MODULE TTCN Temp Temp.ttcn>
8649 function VoidRetType() { }
8651 function FuncWithParam(in integer Par) { }
8655 FuncWithParam(VoidRetType());
8661 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8667 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8673 .*---------------------------------------------------------------------*
8674 :h3.Void return type - alt guard
8675 .*---------------------------------------------------------------------*
8678 <TC - Void return type - alt guard>
8682 <MODULE TTCN Temp Temp.ttcn>
8685 function VoidRetType() { }
8692 [VoidRetType()]T.timeout { }
8699 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8705 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8711 .*---------------------------------------------------------------------*
8712 :h3.Void return type - setverdict
8713 .*---------------------------------------------------------------------*
8716 <TC - Void return type - setverdict>
8720 <MODULE TTCN Temp Temp.ttcn>
8723 function VoidRetType() { }
8727 setverdict(VoidRetType());
8733 (?im)value.+?expected.+?instead.+?\bof\b.+?function
8739 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8746 .*---------------------------------------------------------------------*
8747 :h2.Functions and altsteps with different component type
8748 .*---------------------------------------------------------------------*
8749 This test case group covers the requirement SA-5/5.
8751 Functions, altsteps and testcases can have runs on clause. The testcases
8752 below test the possible usage of these language elements: function
8753 calling, starting a test component with a function, using altsteps
8754 standalone or in alt statements and activating altsteps as default.
8756 .*---------------------------------------------------------------------*
8757 :h3.Different component type - function calling function
8758 .*---------------------------------------------------------------------*
8761 <TC - Different component type - function calling function>
8765 <MODULE TTCN Temp Temp.ttcn>
8768 type component A_CT { timer Ta:=2.0; }
8770 type component B_CT { var integer I:=3; }
8772 function Fa() runs on A_CT {
8776 function Fb() runs on B_CT {
8783 (?im)runs.+?on.+?clause.+?mismatch
8789 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8795 .*---------------------------------------------------------------------*
8796 :h3.Different component type - testcase calling function
8797 .*---------------------------------------------------------------------*
8800 <TC - Different component type - testcase calling function>
8804 <MODULE TTCN Temp Temp.ttcn>
8807 type component A_CT { timer Ta:=2.0; }
8809 type component B_CT { var integer I:=3; }
8811 function Fa() runs on A_CT {
8815 testcase TCb() runs on B_CT {
8822 (?im)runs.+?on.+?clause.+?mismatch
8828 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8834 .*---------------------------------------------------------------------*
8835 :h3.Different component type - altstep calling function
8836 .*---------------------------------------------------------------------*
8839 <TC - Different component type - altstep calling function>
8843 <MODULE TTCN Temp Temp.ttcn>
8846 type component A_CT { timer Ta:=2.0; }
8848 type component B_CT { timer Tb:=3.0; }
8850 function Fa() runs on A_CT {
8854 altstep TCb() runs on B_CT {
8855 []Tb.timeout { Fa(); }
8861 (?im)runs.+?on.+?clause.+?mismatch
8867 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8873 .*---------------------------------------------------------------------*
8874 :h3.Different component type - starting a component
8875 .*---------------------------------------------------------------------*
8878 <TC - Different component type - starting a component>
8882 <MODULE TTCN Temp Temp.ttcn>
8885 type component A_CT { timer Ta:=2.0; }
8887 type component B_CT { var integer I:=3; }
8889 function Fa() runs on A_CT {
8893 testcase TCb() runs on B_CT {
8901 (?im)component.+?type.+?mismatch
8907 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8913 .*---------------------------------------------------------------------*
8914 :h3.Different component type - altstep in testcase
8915 .*---------------------------------------------------------------------*
8918 <TC - Different component type - altstep in testcase>
8922 <MODULE TTCN Temp Temp.ttcn>
8925 type component A_CT { timer Ta:=2.0; }
8927 type component B_CT { var integer I:=3; }
8929 altstep ASa() runs on A_CT {
8933 testcase TCb() runs on B_CT {
8944 (?im)runs on.+?clause.+?mismatch
8950 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8956 .*---------------------------------------------------------------------*
8957 :h3.Different component type - activating an altstep in testcase
8958 .*---------------------------------------------------------------------*
8961 <TC - Different component type - activating an altstep in testcase>
8965 <MODULE TTCN Temp Temp.ttcn>
8968 type component A_CT { timer Ta:=2.0; }
8970 type component B_CT { var default v_default; }
8972 altstep ASa() runs on A_CT {
8976 testcase TCb() runs on B_CT {
8977 v_default := activate(ASa());
8983 (?im)runs on.+?clause.+?mismatch
8989 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
8995 .*---------------------------------------------------------------------*
8996 :h3.Different component type - altstep in function
8997 .*---------------------------------------------------------------------*
9000 <TC - Different component type - altstep in function>
9004 <MODULE TTCN Temp Temp.ttcn>
9007 type component A_CT { timer Ta:=2.0; }
9009 type component B_CT { var integer I:=3; }
9011 altstep ASa() runs on A_CT {
9015 function Fb() runs on B_CT {
9026 (?im)runs on.+?clause.+?mismatch
9032 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9038 .*---------------------------------------------------------------------*
9039 :h3.Different component type - activating an altstep in function
9040 .*---------------------------------------------------------------------*
9043 <TC - Different component type - activating an altstep in function>
9047 <MODULE TTCN Temp Temp.ttcn>
9050 type component A_CT { timer Ta:=2.0; }
9052 type component B_CT { var default v_default; }
9054 altstep ASa() runs on A_CT {
9058 function TCb() runs on B_CT {
9059 v_default := activate(ASa());
9065 (?im)runs on.+?clause.+?mismatch
9071 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9077 .*---------------------------------------------------------------------*
9078 :h3.Different component type - altstep in altstep
9079 .*---------------------------------------------------------------------*
9082 <TC - Different component type - altstep in altstep>
9086 <MODULE TTCN Temp Temp.ttcn>
9089 type component A_CT { timer Ta:=2.0; }
9091 type component B_CT { var integer I:=3; }
9093 altstep ASa() runs on A_CT {
9097 altstep ASb() runs on B_CT {
9104 (?im)runs on.+?clause.+?mismatch
9110 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9116 .*---------------------------------------------------------------------*
9117 :h2.Type list of a port
9118 .*---------------------------------------------------------------------*
9119 This test case group covers the requirement SA-5/6.
9120 Types used in port operations shall be listed in the type list of the
9123 .*---------------------------------------------------------------------*
9124 :h3.Type list of a port - send basic types
9125 .*---------------------------------------------------------------------*
9128 <TC - Type list of a port - send basic types>
9132 <MODULE TTCN ModuleA ModuleA.ttcn>
9134 type enumerated MyEnum { halflife1(1), halflife2(2) }
9135 // allow integer only and try to pass everything else
9136 type port MyPortType1 message { inout integer }
9137 type port MyPortType2 message { in float; out integer }
9138 type component MyComp {
9139 port MyPortType1 MyPort1;
9140 port MyPortType2 MyPort2;
9142 function MyFunc_send() runs on MyComp {
9144 loc_timer.start(0.0027);
9145 MyPort1.send(666.0 + 1.9 + loc_timer.read); // float
9146 MyPort1.send(loc_timer.running or false); // boolean
9147 MyPort1.send(objid {0 4 0}); // objid
9148 MyPort1.send(pass); // verdicttype
9149 //TR-674: Multiple error messages for send operation
9150 MyPort1.send(MyEnum:halflife2); // enumerated
9151 // not on the 'out' list
9152 MyPort2.send(666.0);
9156 <RESULT IF_PASS COUNT 5>
9157 (?im)integer.+?value.+?expected
9159 <RESULT IF_PASS COUNT 1>
9160 (?im)integer.+?expected.+?instead.+?\bof\b.+?MyEnum
9165 <RESULT IF_PASS POSITIVE>
9166 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9172 .*---------------------------------------------------------------------*
9173 :h3.Type list of a port - send string types
9174 .*---------------------------------------------------------------------*
9177 <TC - Type list of a port - send string types>
9181 <MODULE TTCN ModuleA ModuleA.ttcn>
9183 type enumerated MyEnum { halflife1(1), halflife2(2) }
9184 // allow integer only and try to pass everything else
9185 type port MyPortType1 message { inout integer }
9186 type component MyComp {
9187 port MyPortType1 MyPort1;
9189 function MyFunc_send() runs on MyComp {
9190 MyPort1.send('0011'B & '1100'B & '1'B); // bitstring
9191 MyPort1.send('AF07'H & 'FF'H); // hexstring
9192 MyPort1.send('0123'O & 'FFE7'O); // octetstring
9193 MyPort1.send("McHalls " & "was " & "here"); // charstring
9194 MyPort1.send("Damn!" & char(0,0,1,113)); // unicharstring
9198 <RESULT IF_PASS COUNT 5>
9199 (?im)integer.+?value.+?expected
9204 <RESULT IF_PASS POSITIVE>
9205 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9211 .*---------------------------------------------------------------------*
9212 :h3.Type list of a port - send other types
9213 .*---------------------------------------------------------------------*
9216 <TC - Type list of a port - send other types>
9220 <MODULE TTCN ModuleA ModuleA.ttcn>
9222 type record MyRecord { integer field1 }
9223 type port MyPortType1 message { inout integer }
9224 type component MyComp {
9225 port MyPortType1 MyPort1;
9227 altstep MyAltstep() runs on MyComp {
9228 [] MyPort1.trigger {}
9230 function MyFunc_send() runs on MyComp {
9231 var default MyWar := activate(MyAltstep());
9232 var MyRecord myRec := {1};
9233 MyPort1.send(self); // component ref
9234 MyPort1.send(MyWar); // default
9235 MyPort1.send(myRec); // structured type
9239 <RESULT IF_PASS COUNT 3>
9240 (?im)integer.+?expected
9245 <RESULT IF_PASS POSITIVE>
9246 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9252 .*---------------------------------------------------------------------*
9253 :h3.Type list of a port - receive basic types
9254 .*---------------------------------------------------------------------*
9257 <TC - Type list of a port - receive basic types>
9261 <MODULE TTCN ModuleA ModuleA.ttcn>
9263 type enumerated MyEnum { halflife1(1), halflife2(2) }
9264 // allow integer only and try to pass everything else
9265 type port MyPortType1 message { inout integer }
9266 type port MyPortType2 message { in float; out integer }
9267 type component MyComp {
9268 port MyPortType1 MyPort1;
9269 port MyPortType2 MyPort2;
9271 altstep MyAltstep_receive() runs on MyComp {
9272 [] MyPort1.receive(666.0 + 1.9) {}; // float
9273 [] MyPort1.receive(true or false) {}; // boolean
9274 [] MyPort1.receive(objid {0 4 0}) {}; // objid
9275 [] MyPort1.receive(pass) {}; // verdicttype
9276 [] MyPort1.receive(halflife2) {}; // enumerated
9277 [] MyPort2.receive(666) {};
9281 <RESULT IF_PASS COUNT 4>
9282 (?im)integer.+?value.+?expected
9284 <RESULT IF_PASS COUNT 1>
9285 (?im)float.+?value.+?expected
9287 <RESULT IF_PASS COUNT 1>
9288 (?im)\bno\b.+?definition.+?halflife2
9293 <RESULT IF_PASS POSITIVE>
9294 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9300 .*---------------------------------------------------------------------*
9301 :h3.Type list of a port - receive string types
9302 .*---------------------------------------------------------------------*
9304 <TC - Type list of a port - receive string types>
9308 <MODULE TTCN ModuleA ModuleA.ttcn>
9310 type port MyPortType1 message { inout integer }
9311 type component MyComp {
9312 port MyPortType1 MyPort1;
9314 altstep MyAltstep_receive() runs on MyComp {
9315 [] MyPort1.receive('0011'B & '1100'B & '1'B) {}; // bitstring
9316 [] MyPort1.receive('AF07'H & 'FF'H) {}; // hexstring
9317 [] MyPort1.receive('0123'O & 'FFE7'O) {}; // octetstring
9318 [] MyPort1.receive("McHalls " & "was " & "here") {}; // charstring
9319 [] MyPort1.receive("Damn!" & char(0,0,1,113)) {}; // unicharstring
9323 <RESULT IF_PASS COUNT 5>
9324 (?im)integer.+?value.+?expected
9329 <RESULT IF_PASS POSITIVE>
9330 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9336 .*---------------------------------------------------------------------*
9337 :h3.Type list of a port - receive other types
9338 .*---------------------------------------------------------------------*
9341 <TC - Type list of a port - receive other types>
9345 <MODULE TTCN ModuleA ModuleA.ttcn>
9347 type record MyRecord { integer field1 }
9348 type port MyPortType1 message { inout integer }
9349 type component MyComp {
9350 port MyPortType1 MyPort1;
9352 altstep MyAltstep_receive() runs on MyComp {
9353 [] MyPort1.receive(MyRecord:{ field1 := 0 }) {}; // nested type
9354 [] MyPort1.receive(self) {}; // component ref
9358 <RESULT IF_PASS COUNT 2>
9359 (?im)integer.+?expected
9364 <RESULT IF_PASS POSITIVE>
9365 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9371 .*---------------------------------------------------------------------*
9372 :h3.Type list of a port - trigger basic types
9373 .*---------------------------------------------------------------------*
9376 <TC - Type list of a port - trigger basic types>
9380 <MODULE TTCN ModuleA ModuleA.ttcn>
9382 type enumerated MyEnum { halflife1(1), halflife2(2) }
9383 // allow integer only and try to pass everything else
9384 type port MyPortType1 message { inout integer }
9385 type component MyComp {
9386 port MyPortType1 MyPort1;
9388 altstep MyAltstep_trigger() runs on MyComp {
9389 [] MyPort1.trigger(float:?) {};
9390 [] MyPort1.trigger(boolean:?) {};
9391 [] MyPort1.trigger(objid:?) {};
9392 [] MyPort1.trigger(verdicttype:?) {};
9393 [] MyPort1.trigger(MyEnum:?) {};
9397 <RESULT IF_PASS COUNT 5>
9398 (?im)integer.+?expected
9403 <RESULT IF_PASS POSITIVE>
9404 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9410 .*---------------------------------------------------------------------*
9411 :h3.Type list of a port - trigger string types
9412 .*---------------------------------------------------------------------*
9415 <TC - Type list of a port - trigger string types>
9419 <MODULE TTCN ModuleA ModuleA.ttcn>
9421 type port MyPortType1 message { inout integer }
9422 type component MyComp {
9423 port MyPortType1 MyPort1;
9425 altstep MyAltstep_trigger() runs on MyComp {
9426 [] MyPort1.trigger(bitstring:?) {};
9427 [] MyPort1.trigger(hexstring:?) {};
9428 [] MyPort1.trigger(octetstring:?) {};
9429 [] MyPort1.trigger(charstring:?) {};
9430 [] MyPort1.trigger(universal charstring:?) {};
9434 <RESULT IF_PASS COUNT 5>
9435 (?im)integer.+?expected
9440 <RESULT IF_PASS POSITIVE>
9441 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9447 .*---------------------------------------------------------------------*
9448 :h3.Type list of a port - trigger other types
9449 .*---------------------------------------------------------------------*
9452 <TC - Type list of a port - trigger other types>
9456 <MODULE TTCN ModuleA ModuleA.ttcn>
9458 type record MyRecord { integer field1 }
9459 type port MyPortType1 message { inout integer }
9460 type component MyComp {
9461 port MyPortType1 MyPort1;
9463 altstep MyAltstep_trigger() runs on MyComp {
9464 [] MyPort1.trigger(MyRecord:?) {};
9465 [] MyPort1.trigger(MyComp:?) {};
9469 <RESULT IF_PASS COUNT 2>
9470 (?im)integer.+?expected
9475 <RESULT IF_PASS POSITIVE>
9476 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9482 .*---------------------------------------------------------------------*
9483 :h3.Type list of a port - check-receive basic types
9484 .*---------------------------------------------------------------------*
9487 <TC - Type list of a port - check-receive basic types>
9491 <MODULE TTCN ModuleA ModuleA.ttcn>
9493 type enumerated MyEnum { halflife1(1), halflife2(2) }
9494 // allow integer only and try to pass everything else
9495 type port MyPortType1 message { inout integer }
9496 type port MyPortType2 message { in float; out integer }
9497 type component MyComp {
9498 port MyPortType1 MyPort1;
9499 port MyPortType2 MyPort2;
9501 altstep MyAltstep_receive() runs on MyComp {
9502 [] MyPort1.check(receive(666.0 + 1.9)) {}; // float
9503 [] MyPort1.check(receive(true or false)) {}; // boolean
9504 [] MyPort1.check(receive(objid {0 4 0})) {}; // objid
9505 [] MyPort1.check(receive(pass)) {}; // verdicttype
9506 [] MyPort1.check(receive(halflife2)) {}; // enumerated
9507 [] MyPort2.check(receive(666)) {};
9511 <RESULT IF_PASS COUNT 4>
9512 (?im)integer.+?value.+?expected
9514 <RESULT IF_PASS COUNT 1>
9515 (?im)float.+?value.+?expected
9517 <RESULT IF_PASS COUNT 1>
9518 (?im)\bno\b.+?definition.+?halflife2
9523 <RESULT IF_PASS POSITIVE>
9524 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9530 .*---------------------------------------------------------------------*
9531 :h3.Type list of a port - check-receive string types
9532 .*---------------------------------------------------------------------*
9535 <TC - Type list of a port - check-receive string types>
9539 <MODULE TTCN ModuleA ModuleA.ttcn>
9541 type port MyPortType1 message { inout integer }
9542 type component MyComp {
9543 port MyPortType1 MyPort1;
9545 altstep MyAltstep_receive() runs on MyComp {
9546 [] MyPort1.check(receive('0011'B & '1100'B & '1'B)) {}; // bitstring
9547 [] MyPort1.check(receive('AF07'H & 'FF'H)) {}; // hexstring
9548 [] MyPort1.check(receive('0123'O & 'FFE7'O)) {}; // octetstring
9549 [] MyPort1.check(receive("McHalls " & "was " & "here")) {}; // charstring
9550 [] MyPort1.check(receive("Damn!" & char(0,0,1,113))) {}; // unicharstring
9554 <RESULT IF_PASS COUNT 5>
9555 (?im)integer.+?value.+?expected
9560 <RESULT IF_PASS POSITIVE>
9561 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9567 .*---------------------------------------------------------------------*
9568 :h3.Type list of a port - check-receive other types
9569 .*---------------------------------------------------------------------*
9572 <TC - Type list of a port - check-receive other types>
9576 <MODULE TTCN ModuleA ModuleA.ttcn>
9578 type record MyRecord { integer field1 }
9579 type port MyPortType1 message { inout integer }
9580 type component MyComp {
9581 port MyPortType1 MyPort1;
9583 altstep MyAltstep_receive() runs on MyComp {
9584 [] MyPort1.check(receive(MyRecord:{ field1 := 0 })) {}; // nested type
9585 [] MyPort1.check(receive(self)) {}; // component ref
9589 <RESULT IF_PASS COUNT 2>
9590 (?im)integer.+?expected
9595 <RESULT IF_PASS POSITIVE>
9596 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9602 .*---------------------------------------------------------------------*
9603 :h2.Signature list of a port
9604 .*---------------------------------------------------------------------*
9605 This test case group covers the requirement SA-5/7.
9606 Signatures used in port operations shall be listed in the signature list
9607 of the port definition.
9609 .*---------------------------------------------------------------------*
9610 :h3.Signature list of a port - call operation
9611 .*---------------------------------------------------------------------*
9614 <TC - Signature list of a port - call operation>
9618 <MODULE TTCN ModuleA ModuleA.ttcn>
9620 signature Sig1() exception(integer);
9621 signature Sig2() noblock exception(integer);
9622 type port MyPortType1 procedure { inout Sig2 }
9623 type port MyPortType2 procedure { in Sig2; out Sig1 }
9624 type component MyComp {
9625 port MyPortType1 MyPort1;
9626 port MyPortType2 MyPort2;
9628 // not listed signature for procedure based ops
9629 function MyFunc_ProcedureBased() runs on MyComp {
9630 MyPort1.call(Sig1:{});
9631 // not on the 'out' list
9632 MyPort2.call(Sig2:{},1.0) {
9633 []MyPort2.catch(timeout) { }
9638 <RESULT IF_PASS COUNT 2>
9639 (?im)incompatible.+?explicit.+?type.+?specification
9644 <RESULT IF_PASS POSITIVE>
9645 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9651 .*---------------------------------------------------------------------*
9652 :h3.Signature list of a port - getcall operation
9653 .*---------------------------------------------------------------------*
9656 <TC - Signature list of a port - getcall operation>
9660 <MODULE TTCN ModuleA ModuleA.ttcn>
9662 signature Sig1() exception(integer);
9663 signature Sig2() noblock exception(integer);
9664 type port MyPortType1 procedure { inout Sig2 }
9665 type port MyPortType2 procedure { in Sig2; out Sig1 }
9666 type component MyComp {
9667 port MyPortType1 MyPort1;
9668 port MyPortType2 MyPort2;
9670 // not listed signature for procedure based ops
9671 function MyFunc_ProcedureBased() runs on MyComp {
9673 [] MyPort1.getcall(Sig1:{}) { }
9674 [] MyPort2.getcall(Sig1:{}) { }
9679 <RESULT IF_PASS COUNT 2>
9680 (?im)incompatible.+?explicit.+?type.+?specification
9682 <RESULT IF_PASS COUNT 2>
9685 <RESULT IF_PASS POSITIVE>
9686 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9692 .*---------------------------------------------------------------------*
9693 :h3.Signature list of a port - reply operation
9694 .*---------------------------------------------------------------------*
9697 <TC - Signature list of a port - reply operation>
9701 <MODULE TTCN ModuleA ModuleA.ttcn>
9703 signature Sig1() exception(integer);
9704 signature Sig2() exception(integer);
9705 type port MyPortType1 procedure { inout Sig2 }
9706 type port MyPortType2 procedure { in Sig2; out Sig1 }
9707 type component MyComp {
9708 port MyPortType1 MyPort1;
9709 port MyPortType2 MyPort2;
9711 // not listed signature for procedure based ops
9712 function MyFunc_ProcedureBased() runs on MyComp {
9713 MyPort1.reply(Sig1:{});
9714 MyPort2.reply(Sig1:{});
9718 <RESULT IF_PASS COUNT 2>
9719 (?im)incompatible.+?explicit.+?type.+?specification
9721 <RESULT IF_PASS COUNT 2>
9724 <RESULT IF_PASS POSITIVE>
9725 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9731 .*---------------------------------------------------------------------*
9732 :h3.Signature list of a port - getreply operation
9733 .*---------------------------------------------------------------------*
9736 <TC - Signature list of a port - getreply operation>
9740 <MODULE TTCN ModuleA ModuleA.ttcn>
9742 signature Sig1() exception(integer);
9743 signature Sig2() exception(integer);
9744 type port MyPortType1 procedure { inout Sig2 }
9745 type port MyPortType2 procedure { in Sig2; out Sig1 }
9746 type component MyComp {
9747 port MyPortType1 MyPort1;
9748 port MyPortType2 MyPort2;
9750 // not listed signature for procedure based ops
9751 function MyFunc_ProcedureBased() runs on MyComp {
9753 [] MyPort1.getreply(Sig1:{}) {}
9754 [] MyPort2.getreply(Sig2:{}) {}
9759 <RESULT IF_PASS COUNT 2>
9760 (?im)incompatible.+?explicit.+?type.+?specification
9762 <RESULT IF_PASS COUNT 2>
9765 <RESULT IF_PASS POSITIVE>
9766 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9772 .*---------------------------------------------------------------------*
9773 :h3.Signature list of a port - raise operation
9774 .*---------------------------------------------------------------------*
9777 <TC - Signature list of a port - raise operation>
9781 <MODULE TTCN ModuleA ModuleA.ttcn>
9783 signature Sig1() exception(integer);
9784 signature Sig2() noblock exception(integer);
9785 type port MyPortType1 procedure { inout Sig2 }
9786 type port MyPortType2 procedure { in Sig2; out Sig1 }
9787 type component MyComp {
9788 port MyPortType1 MyPort1;
9789 port MyPortType2 MyPort2;
9791 // not listed signature for procedure based ops
9792 function MyFunc_ProcedureBased() runs on MyComp {
9793 MyPort1.raise(Sig1, 3);
9794 MyPort2.raise(Sig1, 4);
9795 // not listed exception:
9796 MyPort1.raise(Sig2, 3.14);
9800 <RESULT IF_PASS COUNT 2>
9801 (?im)signature.+?not.+?\bon\b.+?incoming.+?list
9804 (?im)integer.+?value.+?expected
9806 <RESULT IF_PASS COUNT 3>
9809 <RESULT IF_PASS POSITIVE>
9810 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9816 .*---------------------------------------------------------------------*
9817 :h3.Signature list of a port - catch operation
9818 .*---------------------------------------------------------------------*
9821 <TC - Signature list of a port - catch operation>
9825 <MODULE TTCN ModuleA ModuleA.ttcn>
9827 signature Sig1() exception(integer);
9828 signature Sig2() noblock exception(integer);
9829 type port MyPortType1 procedure { inout Sig2 }
9830 type port MyPortType2 procedure { in Sig2; out Sig1 }
9831 type component MyComp {
9832 port MyPortType1 MyPort1;
9833 port MyPortType2 MyPort2;
9835 // not listed signature for procedure based ops
9836 function MyFunc_ProcedureBased() runs on MyComp {
9838 []MyPort1.catch(Sig1, 9) { }
9839 []MyPort2.catch(Sig2, 10) { }
9840 // not listed exception:
9841 []MyPort1.catch(Sig2, 9.99) { }
9846 <RESULT IF_PASS COUNT 2>
9847 (?im)signature.+?not.+?\bon\b.+?outgoing.+?list
9850 (?im)integer.+?value.+?expected
9852 <RESULT IF_PASS COUNT 3>
9855 <RESULT IF_PASS POSITIVE>
9856 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9862 .*---------------------------------------------------------------------*
9863 :h3.Signature list of a port - check-getcall operation
9864 .*---------------------------------------------------------------------*
9867 <TC - Signature list of a port - check-getcall operation>
9871 <MODULE TTCN ModuleA ModuleA.ttcn>
9873 signature Sig1() exception(integer);
9874 signature Sig2() noblock exception(integer);
9875 type port MyPortType1 procedure { inout Sig2 }
9876 type port MyPortType2 procedure { in Sig2; out Sig1 }
9877 type component MyComp {
9878 port MyPortType1 MyPort1;
9879 port MyPortType2 MyPort2;
9881 // not listed signature for procedure based ops
9882 function MyFunc_ProcedureBased() runs on MyComp {
9884 [] MyPort1.check(getcall(Sig1:{})) { }
9885 [] MyPort2.check(getcall(Sig1:{})) { }
9890 <RESULT IF_PASS COUNT 2>
9891 (?im)incompatible.+?explicit.+?type.+?specification
9893 <RESULT IF_PASS COUNT 2>
9896 <RESULT IF_PASS POSITIVE>
9897 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9903 .*---------------------------------------------------------------------*
9904 :h3.Signature list of a port - check-getreply operation
9905 .*---------------------------------------------------------------------*
9908 <TC - Signature list of a port - check-getreply operation>
9912 <MODULE TTCN ModuleA ModuleA.ttcn>
9914 signature Sig1() exception(integer);
9915 signature Sig2() exception(integer);
9916 type port MyPortType1 procedure { inout Sig2 }
9917 type port MyPortType2 procedure { in Sig2; out Sig1 }
9918 type component MyComp {
9919 port MyPortType1 MyPort1;
9920 port MyPortType2 MyPort2;
9922 // not listed signature for procedure based ops
9923 function MyFunc_ProcedureBased() runs on MyComp {
9925 [] MyPort1.check(getreply(Sig1:{})) {}
9926 [] MyPort2.check(getreply(Sig2:{})) {}
9931 <RESULT IF_PASS COUNT 2>
9932 (?im)incompatible.+?explicit.+?type.+?specification
9934 <RESULT IF_PASS COUNT 2>
9937 <RESULT IF_PASS POSITIVE>
9938 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9944 .*---------------------------------------------------------------------*
9945 :h3.Signature list of a port - check-catch operation
9946 .*---------------------------------------------------------------------*
9949 <TC - Signature list of a port - check-catch operation>
9953 <MODULE TTCN ModuleA ModuleA.ttcn>
9955 signature Sig1() exception(integer);
9956 signature Sig2() noblock exception(integer);
9957 type port MyPortType1 procedure { inout Sig2 }
9958 type port MyPortType2 procedure { in Sig2; out Sig1 }
9959 type component MyComp {
9960 port MyPortType1 MyPort1;
9961 port MyPortType2 MyPort2;
9963 // not listed signature for procedure based ops
9964 function MyFunc_ProcedureBased() runs on MyComp {
9966 []MyPort1.check(catch(Sig1, 9)) { }
9967 []MyPort2.check(catch(Sig2, 10)) { }
9968 // not listed exception:
9969 []MyPort1.check(catch(Sig2, 9.99)) { }
9974 <RESULT IF_PASS COUNT 2>
9975 (?im)signature.+?not.+?\bon\b.+?outgoing.+?list
9978 (?im)integer.+?value.+?expected
9980 <RESULT IF_PASS COUNT 3>
9983 <RESULT IF_PASS POSITIVE>
9984 (?im)\bnotify\b.+?\bcode\b.+?\bnot\b.+?\bgenerated\b
9990 .*---------------------------------------------------------------------*
9991 :h3.Bitstring concatenation - type restriction on result but not on parameters
9992 .*---------------------------------------------------------------------*
9993 Note: this is a positive test.
9997 <TC - Bitstring concatenation - type restriction on result but not on parameters>
10000 <VERDICT_LEAF PASS>
10001 <MODULE TTCN Temp Temp.ttcn>
10004 type bitstring B32_Type length(32);
10005 type bitstring B128_Type length(128);
10006 type bitstring B256_Type length(256);
10008 const B32_Type tsc_UndefinedB32 := oct2bit ('FFFFFFFF'O);
10009 const B128_Type tsc_UndefinedB128 := tsc_UndefinedB32 & tsc_UndefinedB32 & tsc_UndefinedB32 & tsc_UndefinedB32;
10010 const B256_Type tsc_UndefinedB256 := tsc_UndefinedB128 & tsc_UndefinedB128;
10015 (?im)\bnotify\b.+?\bfiles\b.+?\bupdated\b
10021 .*---------------------------------------------------------------------*
10023 .*---------------------------------------------------------------------*
10025 :li D='ASN.1'.Abstract Syntax Notation 1
10026 :li D='EDML'.Ericsson Document Markup Language
10027 :li D='SA'.Semantic Analyser
10028 :li D='TTCN-3'.Test and Test Control Notation version 3
10031 .*---------------------------------------------------------------------*
10033 .*---------------------------------------------------------------------*
10035 :li D='[1]'.3/ETH/RUS-2003:0087 Uen
10036 :nl.Requirement Specification for TITAN's TTCN-3 Semantic Analyser
10037 :li D='[2]'.1/174 02-FCPCA 101 22 Uen
10038 :nl.Statement of Compliance for TITAN project
10039 :li D='[3]'.ETSI ES 201 873-1, v3.0.0 Mockup v1 (2004-03):
10040 :nl.Testing and Test Control Notation version 3.,
10041 :nl.Part 1: TTCN-3 Core Language
10044 .*---------------------------------------------------------------------*
10046 .*---------------------------------------------------------------------*
10048 :li D='TITAN'.Ericsson's TTCN-3 Test Environment