From 89cb7a2fed6229b53f5acfdebfcc59f154d7f76c Mon Sep 17 00:00:00 2001 From: Adrien Kirjak Date: Thu, 28 Apr 2016 09:57:15 +0200 Subject: [PATCH] Added test cases Signed-off-by: Adrien Kirjak --- .../Sem_060101_TopLevel_007.ttcn | 21 +- .../NegSem_060201_RecordTypeValues_001.ttcn | 41 - .../NegSem_060201_RecordTypeValues_002.ttcn | 32 - .../Sem_060201_RecordTypeValues_001.ttcn | 21 +- .../Sem_060201_RecordTypeValues_002.ttcn | 6 +- .../NegSem_060202_SetTypeValues_002.ttcn | 36 - .../NegSem_060202_SetTypeValues_003.ttcn | 31 - .../Sem_060202_SetTypeValues_005.ttcn | 52 +- .../Sem_060202_SetTypeValues_006.ttcn | 50 +- .../Sem_060202_SetTypeValues_007.ttcn | 44 +- .../Sem_060303_component_types_001.ttcn | 4 +- .../Sem_060303_component_types_002.ttcn | 3 +- ...20301_GeneralFormatOfImport_032_extern .cc | 17 + .../IntegerOutputPortType.cc | 77 -- .../Sem_0902_Communication_ports_001.cc | 876 ------------------ .../Sem_0902_Communication_ports_001.hh | 144 --- .../Sem_0902_Communication_ports_001.ttcn | 10 +- .../Sem_0902_Communication_ports_002.ttcn | 11 +- .../loopbackPort.cc | 77 ++ ...tegerOutputPortType.hh => loopbackPort.hh} | 14 +- .../loopbackPort1.cc | 77 ++ .../loopbackPort1.hh | 44 + .../Sem_160102_predefined_functions_043.ttcn | 6 +- .../Sem_160102_predefined_functions_046.ttcn | 8 +- .../Sem_160102_predefined_functions_063.ttcn | 6 +- .../Sem_160102_predefined_functions_064.ttcn | 6 +- .../Sem_160102_predefined_functions_065.ttcn | 6 +- .../Sem_160102_predefined_functions_066.ttcn | 6 +- .../Sem_160102_predefined_functions_067.ttcn | 6 +- .../Sem_160102_predefined_functions_068.ttcn | 6 +- .../Sem_160102_predefined_functions_069.ttcn | 6 +- .../Sem_160102_predefined_functions_070.ttcn | 12 +- .../Sem_160102_predefined_functions_071.ttcn | 13 +- .../Sem_160102_predefined_functions_072.ttcn | 11 +- .../Sem_160102_predefined_functions_073.ttcn | 10 +- .../Sem_160102_predefined_functions_074.ttcn | 12 +- .../Sem_160102_predefined_functions_075.ttcn | 14 +- .../Sem_160102_predefined_functions_076.ttcn | 9 +- .../Sem_160102_predefined_functions_077.ttcn | 9 +- .../Sem_160102_predefined_functions_078.ttcn | 11 +- .../Sem_160102_predefined_functions_079.ttcn | 9 +- .../Sem_160102_predefined_functions_080.ttcn | 2 +- .../Sem_B0105_toplevel_002.ttcn | 6 +- conformance_test/positive_tests/Makefile | 0 .../positive_tests/pos_conf_tests.cfg | 35 +- .../positive_tests/pos_conf_tests.tpd | 76 +- 46 files changed, 510 insertions(+), 1463 deletions(-) delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn delete mode 100644 conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn create mode 100644 conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc delete mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc delete mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc delete mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh create mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc rename conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/{IntegerOutputPortType.hh => loopbackPort.hh} (76%) create mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc create mode 100644 conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh mode change 100755 => 100644 conformance_test/positive_tests/Makefile diff --git a/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn b/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn index d2efce5..ed1bc2c 100755 --- a/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_007.ttcn @@ -26,16 +26,19 @@ module Sem_060101_TopLevel_007 { testcase TC_Sem_060101_TopLevel_007() runs on GeneralComp { var universal charstring v_a := char(U0041); //USI notation for character "A" - var universal charstring v_b := char(U0171); //USI notation for character "ű" + var universal charstring v_b := char(U0171); //USI notation for character "ű" var universal charstring v_c := char(U41); //USI notation for character "A" without leading zeroes - var universal charstring v_d := char(U+171,U41); //USI notation for character "ű" and "A" without leading zeroes and + sign notation + var universal charstring v_d := char(U+171,U41); //USI notation for character "ű" and "A" without leading zeroes and + sign notation - + var universal charstring a_exp := "A"; + var universal charstring b_exp := "ű"; + var universal charstring c_exp := "A"; + var universal charstring d_exp := "űA"; - if (match(v_a,"A") and - match(v_b,"ű") and - match(v_c,"A") and - match(v_d,"űA")) + if (match(v_a,a_exp) and + match(v_b,"ű") and + match(v_c,c_exp) and + match(v_d,"űA")) { setverdict(pass,"v_a:",v_a, "v_b:",v_b, "v_c:",v_c,"v_d:",v_d); } @@ -47,4 +50,6 @@ module Sem_060101_TopLevel_007 { control{ execute(TC_Sem_060101_TopLevel_007()); } -} \ No newline at end of file +} + + diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn deleted file mode 100644 index 99860ce..0000000 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_001.ttcn +++ /dev/null @@ -1,41 +0,0 @@ -/*************************************************** - ** @author STF 451, re-numbering done by STF 470 and 487 - ** @version 0.0.1 - ** @desc Test cases for clause 6.2 - ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled - ** @verdict pass reject - ***************************************************/ -module NegSem_060201_RecordTypeValues_001 { - - type component GeneralComp { - } - - type record R { - integer f1, - integer f2 optional, - integer f3, - integer f4 optional, - integer f5 optional - } - - const R v_assigned := { 1, 2 } - with { optional "implicit omit" } - - testcase TC_NegSem_060201_RecordTypeValues_001() runs on GeneralComp { - - template R m_check := { 1, omit, 2, omit, omit }; - - if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned - setverdict(pass); - } - else { - setverdict(fail, "cannot match: ", v_assigned, " with ", m_check); - } - - } - - control { - execute(TC_NegSem_060201_RecordTypeValues_001()); - } - -} diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn deleted file mode 100644 index 87b9775..0000000 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/NegSem_060201_RecordTypeValues_002.ttcn +++ /dev/null @@ -1,32 +0,0 @@ -/*************************************************** - ** @author STF 451, re-numbering done by STF 470 and 487 - ** @version 0.0.1 - ** @desc Test cases for clause 6.2 - ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled - ** @verdict pass reject - ***************************************************/ -module NegSem_060201_RecordTypeValues_002 { - - type component GeneralComp { - } - - type record R { - integer f1, - integer f2 optional, - integer f3, - integer f4 optional, - integer f5 optional - } - - testcase TC_NegSem_060201_RecordTypeValues_002() runs on GeneralComp { - - var R v_assigned := { 1, 2 } with { optional "implicit omit" } - //rejected since f3 stays undefined - - } - - control { - execute(TC_NegSem_060201_RecordTypeValues_002()); - } - -} diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn index 28c7642..6022ad7 100644 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_001.ttcn @@ -3,32 +3,33 @@ ** @version 0.0.1 ** @desc Test cases for clause 6.2 ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject ***************************************************/ -module Sem_060201_RecordTypeValues_001 { +module Sem_060201_RecordTypeValues_001 { type component GeneralComp { } - type record R { + type record R { integer f1, integer f2 optional, integer f3, integer f4 optional, integer f5 optional - } + } - const R v_assigned := { 1, -, 2 } with { optional "implicit omit" } + const R v_assigned := { 1, 2 } + with { optional "implicit omit" } testcase TC_Sem_060201_RecordTypeValues_001() runs on GeneralComp { - template R m_check := { 1, omit, 2, omit, omit } + template R m_check := { 1, omit, 2, omit, omit }; - if (match(v_assigned,m_check)) { - setverdict(pass); + if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned + setverdict(fail, "somehow it matched?"); } else { - setverdict(fail); + setverdict(pass, "cannot match: ", v_assigned, " with ", m_check); } } @@ -37,4 +38,4 @@ module Sem_060201_RecordTypeValues_001 { execute(TC_Sem_060201_RecordTypeValues_001()); } -} +} diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn index afa9f65..a75cd13 100644 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060201_record_type_and_values/060201_toplevel/Sem_060201_RecordTypeValues_002.ttcn @@ -5,7 +5,7 @@ ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ -module Sem_060201_RecordTypeValues_002 { +module Sem_060201_RecordTypeValues_002 { type component GeneralComp { } @@ -18,13 +18,13 @@ module Sem_060201_RecordTypeValues_002 { integer f5 optional } - const R c_assigned := { 1, -, 2 } with { optional "implicit omit" } + const R v_assigned := { 1, -, 2 } with { optional "implicit omit" } testcase TC_Sem_060201_RecordTypeValues_002() runs on GeneralComp { template R m_check := { 1, omit, 2, omit, omit } - if (match(c_assigned,m_check)) { + if (match(v_assigned,m_check)) { setverdict(pass); } else { diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn deleted file mode 100644 index dffd6a5..0000000 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn +++ /dev/null @@ -1,36 +0,0 @@ -/*************************************************** - ** @author STF470 - ** @version 0.0.1 - ** @desc Test cases for clause 6.2 - ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled - ** @verdict pass reject - ***************************************************/ -module NegSem_060202_SetTypeValues_002 { - -type component GeneralComp { -} - - type set S { - integer f1, - integer f2 optional, - integer f3, - integer f4 optional, - integer f5 optional - } - -testcase TC_NegSem_060202_SetTypeValues_002() runs on GeneralComp { - - var S v_assigned := { 1, 2 } with { optional "implicit omit" } - template S m_check := { 1, omit, 2, omit, omit } - - if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned - setverdict(pass); - } - -} - -control { - execute(TC_NegSem_060202_SetTypeValues_002()); -} - -} diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn deleted file mode 100644 index 87db5b5..0000000 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn +++ /dev/null @@ -1,31 +0,0 @@ -/*************************************************** - ** @author STF470 - ** @version 0.0.1 - ** @desc Test cases for clause 6.2 - ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled - ** @verdict pass reject - ***************************************************/ -module NegSem_060202_SetTypeValues_003 { - -type component GeneralComp { -} - - type set S { - integer f1, - integer f2 optional, - integer f3, - integer f4 optional, - integer f5 optional - } - -testcase TC_NegSem_060202_SetTypeValues_003() runs on GeneralComp { - - var S v_assigned := { 1, 2 } with { optional "implicit omit" } //rejected since f3 stays undefined - -} - -control { - execute(TC_NegSem_060202_SetTypeValues_003()); -} - -} diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn index e83e103..89cbce9 100644 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn @@ -3,37 +3,39 @@ ** @version 0.0.1 ** @desc Test cases for clause 6.2 ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled - ** @verdict pass accept, ttcn3verdict:pass + ** @verdict pass reject ***************************************************/ -module Sem_060202_SetTypeValues_005 { +module Sem_060202_SetTypeValues_005 { -type component GeneralComp { -} + type component GeneralComp { + } - type set S { - integer f1, - integer f2 optional, - integer f3, - integer f4 optional, - integer f5 optional - } - -testcase TC_Sem_060202_SetTypeValues_005() runs on GeneralComp { + type set S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + + const S v_assigned := { f1 := 1, f2:= 2 } with { optional "implicit omit" } - var S v_assigned := { 1, -, 2 } with { optional "implicit omit" } - template S m_check := { 1, omit, 2, omit, omit } + testcase TC_Sem_060202_SetTypeValues_005() runs on GeneralComp { + + + template S m_check := { f1:= 1, f2:= omit, f3:= 2, f4:= omit, f5:= omit } - if (match(v_assigned,m_check)) { - setverdict(pass); - } - else { - setverdict(fail); - } + if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned + setverdict(fail, "somehow it matched?"); + } + else { + setverdict(pass, "cannot match: ", v_assigned, " with ", m_check); + } -} + } -control { - execute(TC_Sem_060202_SetTypeValues_005()); -} + control { + execute(TC_Sem_060202_SetTypeValues_005()); + } } diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn index e5fcbf4..64da0c7 100644 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn @@ -1,40 +1,40 @@ /*************************************************** - ** @author STF470 + ** @author STF470 ** @version 0.0.1 ** @desc Test cases for clause 6.2 ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled ** @verdict pass accept, ttcn3verdict:pass ***************************************************/ -module Sem_060202_SetTypeValues_006 { +module Sem_060202_SetTypeValues_006 { -type component GeneralComp { -} + type component GeneralComp { + } - type set S { - integer f1, - integer f2 optional, - integer f3, - integer f4 optional, - integer f5 optional - } + type set S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + + const S v_assigned := { f1 := 1, f2 := -, f3 := 2 } with { optional "implicit omit" } - const S c_assigned := { 1, -, 2 } with { optional "implicit omit" } - -testcase TC_Sem_060202_SetTypeValues_006() runs on GeneralComp { + testcase TC_Sem_060202_SetTypeValues_006() runs on GeneralComp { - template S m_check := { 1, omit, 2, omit, omit } + template S m_check := { f1 := 1, f2 := omit, f3 := 2, f4 := omit, f5 := omit } - if (match(c_assigned,m_check)) { - setverdict(pass); - } - else { - setverdict(fail); - } + if (match(v_assigned,m_check)) { + setverdict(pass); + } + else { + setverdict(fail); + } -} + } -control { - execute(TC_Sem_060202_SetTypeValues_006()); -} + control { + execute(TC_Sem_060202_SetTypeValues_006()); + } } diff --git a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn index ce73a30..fa34998 100644 --- a/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn @@ -7,35 +7,35 @@ ***************************************************/ module Sem_060202_SetTypeValues_007 { -type component GeneralComp { -} + type component GeneralComp { + } - type record S { - integer f1, - integer f2 optional, - integer f3, - integer f4 optional, - integer f5 optional - } - -testcase TC_Sem_060202_SetTypeValues_007() runs on GeneralComp { + type record S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } - var S v_assigned := { 1, 2, 3 } with { optional "implicit omit" } + const S v_assigned := { f1 := 1, f2 := 2, f3 := 3 } with { optional "implicit omit" } - if ( match(v_assigned.f1,1) + testcase TC_Sem_060202_SetTypeValues_007() runs on GeneralComp { + + if ( match(v_assigned.f1,1) and match(v_assigned.f3,3) and not ispresent(v_assigned.f4) and not ispresent(v_assigned.f5) ) { - setverdict(pass); - } - else { - setverdict(fail); - } + setverdict(pass); + } + else { + setverdict(fail); + } -} + } -control { - execute(TC_Sem_060202_SetTypeValues_007()); -} + control { + execute(TC_Sem_060202_SetTypeValues_007()); + } } diff --git a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn index 543610d..9ff4933 100644 --- a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn @@ -17,9 +17,7 @@ module Sem_060303_component_types_001 { type integer ConstrainedInteger(0..10); - type component TestCaseComp { - const integer c_integer:=2; - const ConstrainedInteger c_constrained:=2; + type component TestCaseComp extends FunctionComp{ } type component FunctionComp { diff --git a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn index 04d49f3..c7651e3 100644 --- a/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn +++ b/conformance_test/positive_tests/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn @@ -17,8 +17,7 @@ module Sem_060303_component_types_002 { type integer ConstrainedInteger(0..10); - type component TestCaseComp { - const integer c_integer:=2; + type component TestCaseComp extends FunctionComp{ const ConstrainedInteger c_constrained:=2; } diff --git a/conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc b/conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc new file mode 100644 index 0000000..22e469e --- /dev/null +++ b/conformance_test/positive_tests/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032_extern .cc @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions + ** @verdict pass reject + *****************************************************************/ + +#include "NegSem_08020301_GeneralFormatOfImport_031_import.hh" + +namespace NegSem__08020301__GeneralFormatOfImport__032__import +{ + void f__test() + { + MyType p = 1; + return p; + } +} diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc deleted file mode 100644 index 08deff2..0000000 --- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.cc +++ /dev/null @@ -1,77 +0,0 @@ -// This Test Port skeleton source file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4A -// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016 - -// Copyright (c) 2000-2015 Ericsson Telecom AB - -// You may modify this file. Complete the body of empty functions and -// add your member functions here. - -#include "IntegerOutputPortType.hh" - -namespace Sem__0902__Communication__ports__001 { - -IntegerOutputPortType::IntegerOutputPortType(const char *par_port_name) - : IntegerOutputPortType_BASE(par_port_name) -{ - -} - -IntegerOutputPortType::~IntegerOutputPortType() -{ - -} - -void IntegerOutputPortType::set_parameter(const char * /*parameter_name*/, - const char * /*parameter_value*/) -{ - -} - -/*void IntegerOutputPortType::Handle_Fd_Event(int fd, boolean is_readable, - boolean is_writable, boolean is_error) {}*/ - -void IntegerOutputPortType::Handle_Fd_Event_Error(int /*fd*/) -{ - -} - -void IntegerOutputPortType::Handle_Fd_Event_Writable(int /*fd*/) -{ - -} - -void IntegerOutputPortType::Handle_Fd_Event_Readable(int /*fd*/) -{ - -} - -/*void IntegerOutputPortType::Handle_Timeout(double time_since_last_call) {}*/ - -void IntegerOutputPortType::user_map(const char * /*system_port*/) -{ - -} - -void IntegerOutputPortType::user_unmap(const char * /*system_port*/) -{ - -} - -void IntegerOutputPortType::user_start() -{ - -} - -void IntegerOutputPortType::user_stop() -{ - -} - -void IntegerOutputPortType::outgoing_send(const INTEGER& /*send_par*/) -{ - -} - -} /* end of namespace */ - diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc deleted file mode 100644 index cbfb928..0000000 --- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.cc +++ /dev/null @@ -1,876 +0,0 @@ -// This C++ source file was generated by the TTCN-3 compiler -// of the TTCN-3 Test Executor version CRL 113 200/5 R4A -// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016 - -// Copyright (c) 2000-2015 Ericsson Telecom AB - -// Do not edit this file unless you know what you are doing. - -/* Including header files */ - -#include "Sem_0902_Communication_ports_001.hh" - -namespace Sem__0902__Communication__ports__001 { - -/* Prototypes of static functions */ - -static void pre_init_module(); -static boolean init_comp_type(const char *component_type, boolean init_base_comps); -static void module_control_part(); - -/* Literal string constants */ - -static const unsigned char module_checksum[] = { 0x72, 0x88, 0x6a, 0xaf, 0x8c, 0x68, 0xc9, 0xbb, 0xee, 0xff, 0x38, 0x6c, 0xbf, 0xf3, 0x8e, 0x81 }; - -/* Global variable definitions */ - -const TTCN_Typedescriptor_t& GeneralComp_descr_ = COMPONENT_descr_; -IntegerOutputPortType GeneralComp_component_MycomportA("MycomportA"); -const TTCN_Typedescriptor_t& MyTestSystemInterface_descr_ = COMPONENT_descr_; -loopbackPort MyTestSystemInterface_component_messagePort("messagePort"); -static const size_t num_namespaces = 0; -TTCN_Module module_object("Sem_0902_Communication_ports_001", __DATE__, __TIME__, module_checksum, pre_init_module, NULL, 0U, 4294967295U, 4294967295U, 4294967295U, NULL, 0LU, 0, NULL, NULL, NULL, NULL, init_comp_type, NULL, module_control_part); - -static const RuntimeVersionChecker ver_checker( current_runtime_version.requires_major_version_5, - current_runtime_version.requires_minor_version_4, - current_runtime_version.requires_patch_level_0, current_runtime_version.requires_runtime_1); - -/* Member functions of C++ classes */ - -void loopbackPort::remove_msg_queue_head() -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -switch (my_head->item_selection) { -case MESSAGE_0: -delete (my_head)->message_0; -break; -default: -TTCN_error("Internal error: Invalid message selector in the queue of port %s.", port_name); -} -msg_queue_item_base *next_item = msg_queue_head->next_item; -delete (msg_queue_item*)msg_queue_head; -msg_queue_head = next_item; -if (next_item == NULL) msg_queue_tail = NULL; -TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::extract__msg, port_name, 0, ++msg_head_count, CHARSTRING(0,NULL), CHARSTRING(0,NULL));} - -void loopbackPort::clear_queue() -{ -while (msg_queue_head != NULL) remove_msg_queue_head(); -} - -loopbackPort::loopbackPort(const char *par_port_name) - : PORT(par_port_name) -{ -msg_queue_head = NULL; -msg_queue_tail = NULL; -} - -loopbackPort::~loopbackPort() -{ -clear_queue(); -} - -void loopbackPort::send(const INTEGER& send_par, const COMPONENT& destination_component) -{ -if (!is_started) TTCN_error("Sending a message on port %s, which is not started.", port_name); -if (!destination_component.is_bound()) TTCN_error("Unbound component reference in the to clause of send operation."); -const TTCN_Logger::Severity log_sev = destination_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMSEND:TTCN_Logger::PORTEVENT_MCSEND; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_send(port_name, destination_component, -(TTCN_Logger::begin_event(log_sev, TRUE), TTCN_Logger::log_event_str(" integer : "), -send_par.log(), TTCN_Logger::end_event_log2str())); -} -if (destination_component == SYSTEM_COMPREF) TTCN_error("Message cannot be sent to system on internal port %s.", port_name); -else { -Text_Buf text_buf; -prepare_message(text_buf, "integer"); -send_par.encode_text(text_buf); -send_data(text_buf, destination_component); -} -} - -void loopbackPort::send(const INTEGER& send_par) -{ -send(send_par, COMPONENT(get_default_destination())); -} - -void loopbackPort::send(const INTEGER_template& send_par, const COMPONENT& destination_component) -{ -const INTEGER& send_par_value = INTEGER(send_par.valueof()); -send(send_par_value, destination_component); -} - -void loopbackPort::send(const INTEGER_template& send_par) -{ -const INTEGER& send_par_value = INTEGER(send_par.valueof()); -send(send_par_value, COMPONENT(get_default_destination())); -} - -alt_status loopbackPort::receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else { -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name); -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -switch (my_head->item_selection) { -case MESSAGE_0: -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1); -break; -default: -TTCN_error("Internal error: unknown message"); -} -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -alt_status loopbackPort::check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else { -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name); -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -switch (my_head->item_selection) { -case MESSAGE_0: -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1); -break; -default: -TTCN_error("Internal error: unknown message"); -} -} -return ALT_YES; -} -} - -alt_status loopbackPort::trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -remove_msg_queue_head(); -return ALT_REPEAT; -} else { -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name); -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -switch (my_head->item_selection) { -case MESSAGE_0: -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1); -break; -default: -TTCN_error("Internal error: unknown message"); -} -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -alt_status loopbackPort::receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else if (my_head->item_selection != MESSAGE_0) { -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name); -return ALT_NO; -} else if (!value_template.match(*my_head->message_0)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -return ALT_NO; -} else { -if (value_ptr != NULL) *value_ptr = *my_head->message_0; -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), -msg_head_count+1); -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -alt_status loopbackPort::check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else if (my_head->item_selection != MESSAGE_0) { -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name); -return ALT_NO; -} else if (!value_template.match(*my_head->message_0)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -return ALT_NO; -} else { -if (value_ptr != NULL) *value_ptr = *my_head->message_0; -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), -msg_head_count+1); -} -return ALT_YES; -} -} - -alt_status loopbackPort::trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -remove_msg_queue_head(); -return ALT_REPEAT; -} else if (my_head->item_selection != MESSAGE_0) { -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s will drop a message: Type of the first message in the queue is not integer.", port_name); -remove_msg_queue_head(); -return ALT_REPEAT; -} else if (!value_template.match(*my_head->message_0)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -remove_msg_queue_head(); -return ALT_REPEAT; -} else { -if (value_ptr != NULL) *value_ptr = *my_head->message_0; -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), -msg_head_count+1); -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -void loopbackPort::incoming_message(const INTEGER& incoming_par, component sender_component) -{ -if (!is_started) TTCN_error("Port %s is not started but a message has arrived on it.", port_name); -msg_tail_count++; -if (TTCN_Logger::log_this_event(TTCN_Logger::PORTEVENT_MQUEUE)) { -TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::enqueue__msg, port_name, sender_component, msg_tail_count, -CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(TTCN_Logger::PORTEVENT_MQUEUE, TRUE), TTCN_Logger::log_event_str(" integer : "), incoming_par.log(), TTCN_Logger::end_event_log2str())); -} -msg_queue_item *new_item = new msg_queue_item; -new_item->item_selection = MESSAGE_0; -new_item->message_0 = new INTEGER(incoming_par); -new_item->sender_component = sender_component; -append_to_msg_queue(new_item); -} - -boolean loopbackPort::process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING&) -{ -if (!strcmp(message_type, "integer")) { -INTEGER incoming_par; -incoming_par.decode_text(incoming_buf); -incoming_message(incoming_par, sender_component); -return TRUE; -} else return FALSE; -} - -void IntegerOutputPortType_BASE::remove_msg_queue_head() -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -switch (my_head->item_selection) { -case MESSAGE_0: -delete (my_head)->message_0; -break; -default: -TTCN_error("Internal error: Invalid message selector in the queue of port %s.", port_name); -} -msg_queue_item_base *next_item = msg_queue_head->next_item; -delete (msg_queue_item*)msg_queue_head; -msg_queue_head = next_item; -if (next_item == NULL) msg_queue_tail = NULL; -TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::extract__msg, port_name, 0, ++msg_head_count, CHARSTRING(0,NULL), CHARSTRING(0,NULL));} - -void IntegerOutputPortType_BASE::clear_queue() -{ -while (msg_queue_head != NULL) remove_msg_queue_head(); -} - -IntegerOutputPortType_BASE::IntegerOutputPortType_BASE(const char *par_port_name) - : PORT(par_port_name) -{ -msg_queue_head = NULL; -msg_queue_tail = NULL; -} - -IntegerOutputPortType_BASE::~IntegerOutputPortType_BASE() -{ -clear_queue(); -} - -void IntegerOutputPortType_BASE::send(const INTEGER& send_par, const COMPONENT& destination_component) -{ -if (!is_started) TTCN_error("Sending a message on port %s, which is not started.", port_name); -if (!destination_component.is_bound()) TTCN_error("Unbound component reference in the to clause of send operation."); -const TTCN_Logger::Severity log_sev = destination_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMSEND:TTCN_Logger::PORTEVENT_MCSEND; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_send(port_name, destination_component, -(TTCN_Logger::begin_event(log_sev, TRUE), TTCN_Logger::log_event_str(" integer : "), -send_par.log(), TTCN_Logger::end_event_log2str())); -} -if (destination_component == SYSTEM_COMPREF) outgoing_send(send_par); -else { -Text_Buf text_buf; -prepare_message(text_buf, "integer"); -send_par.encode_text(text_buf); -send_data(text_buf, destination_component); -} -} - -void IntegerOutputPortType_BASE::send(const INTEGER& send_par) -{ -send(send_par, COMPONENT(get_default_destination())); -} - -void IntegerOutputPortType_BASE::send(const INTEGER_template& send_par, const COMPONENT& destination_component) -{ -const INTEGER& send_par_value = INTEGER(send_par.valueof()); -send(send_par_value, destination_component); -} - -void IntegerOutputPortType_BASE::send(const INTEGER_template& send_par) -{ -const INTEGER& send_par_value = INTEGER(send_par.valueof()); -send(send_par_value, COMPONENT(get_default_destination())); -} - -alt_status IntegerOutputPortType_BASE::receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else { -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name); -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -switch (my_head->item_selection) { -case MESSAGE_0: -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1); -break; -default: -TTCN_error("Internal error: unknown message"); -} -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -alt_status IntegerOutputPortType_BASE::check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else { -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name); -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -switch (my_head->item_selection) { -case MESSAGE_0: -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1); -break; -default: -TTCN_error("Internal error: unknown message"); -} -} -return ALT_YES; -} -} - -alt_status IntegerOutputPortType_BASE::trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -remove_msg_queue_head(); -return ALT_REPEAT; -} else { -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS, "Matching on port %s succeeded.", port_name); -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -switch (my_head->item_selection) { -case MESSAGE_0: -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer: "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), msg_head_count+1); -break; -default: -TTCN_error("Internal error: unknown message"); -} -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -alt_status IntegerOutputPortType_BASE::receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else if (my_head->item_selection != MESSAGE_0) { -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name); -return ALT_NO; -} else if (!value_template.match(*my_head->message_0)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -return ALT_NO; -} else { -if (value_ptr != NULL) *value_ptr = *my_head->message_0; -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), -msg_head_count+1); -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -alt_status IntegerOutputPortType_BASE::check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s failed: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -return ALT_NO; -} else if (my_head->item_selection != MESSAGE_0) { -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s failed: Type of the first message in the queue is not integer.", port_name); -return ALT_NO; -} else if (!value_template.match(*my_head->message_0)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -return ALT_NO; -} else { -if (value_ptr != NULL) *value_ptr = *my_head->message_0; -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::check__receive__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), -msg_head_count+1); -} -return ALT_YES; -} -} - -alt_status IntegerOutputPortType_BASE::trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr) -{ -msg_queue_item *my_head = (msg_queue_item*)msg_queue_head; -if (msg_queue_head == NULL) { -if (is_started) return ALT_MAYBE; -else { -TTCN_Logger::log(TTCN_Logger::MATCHING_PROBLEM, "Matching on port %s failed: Port is not started and the queue is empty.", port_name); -return ALT_NO; -} -} else if (!sender_template.match(my_head->sender_component)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::begin_event(log_sev); -TTCN_Logger::log_event("Matching on port %s will drop a message: Sender of the first message in the queue does not match the from clause: ", port_name); -sender_template.log_match(my_head->sender_component); -TTCN_Logger::end_event(); -} -remove_msg_queue_head(); -return ALT_REPEAT; -} else if (my_head->item_selection != MESSAGE_0) { -TTCN_Logger::log(my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMUNSUCC:TTCN_Logger::MATCHING_MCUNSUCC, "Matching on port %s will drop a message: Type of the first message in the queue is not integer.", port_name); -remove_msg_queue_head(); -return ALT_REPEAT; -} else if (!value_template.match(*my_head->message_0)) { -const TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF ? TTCN_Logger::MATCHING_MMUNSUCC : TTCN_Logger::MATCHING_MCUNSUCC; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_failure(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -TitanLoggerApiSimple::MatchingFailureType_reason::message__does__not__match__template, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -remove_msg_queue_head(); -return ALT_REPEAT; -} else { -if (value_ptr != NULL) *value_ptr = *my_head->message_0; -if (sender_ptr != NULL) *sender_ptr = my_head->sender_component; -TTCN_Logger::Severity log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::MATCHING_MMSUCCESS:TTCN_Logger::MATCHING_MCSUCCESS; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_matching_success(TitanLoggerApiSimple::PortType::message__, -port_name, my_head->sender_component, -(TTCN_Logger::begin_event(log_sev, TRUE), value_template.log_match(*my_head->message_0), - TTCN_Logger::end_event_log2str())); -} -log_sev = my_head->sender_component==SYSTEM_COMPREF?TTCN_Logger::PORTEVENT_MMRECV:TTCN_Logger::PORTEVENT_MCRECV; -if (TTCN_Logger::log_this_event(log_sev)) { -TTCN_Logger::log_msgport_recv(port_name, TitanLoggerApiSimple::Msg__port__recv_operation::trigger__op, -my_head->sender_component, CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(log_sev,TRUE), TTCN_Logger::log_event_str(": integer : "), -my_head->message_0->log(), TTCN_Logger::end_event_log2str()), -msg_head_count+1); -} -remove_msg_queue_head(); -return ALT_YES; -} -} - -void IntegerOutputPortType_BASE::incoming_message(const INTEGER& incoming_par, component sender_component) -{ -if (!is_started) TTCN_error("Port %s is not started but a message has arrived on it.", port_name); -msg_tail_count++; -if (TTCN_Logger::log_this_event(TTCN_Logger::PORTEVENT_MQUEUE)) { -TTCN_Logger::log_port_queue(TitanLoggerApiSimple::Port__Queue_operation::enqueue__msg, port_name, sender_component, msg_tail_count, -CHARSTRING(0, NULL), -(TTCN_Logger::begin_event(TTCN_Logger::PORTEVENT_MQUEUE, TRUE), TTCN_Logger::log_event_str(" integer : "), incoming_par.log(), TTCN_Logger::end_event_log2str())); -} -msg_queue_item *new_item = new msg_queue_item; -new_item->item_selection = MESSAGE_0; -new_item->message_0 = new INTEGER(incoming_par); -new_item->sender_component = sender_component; -append_to_msg_queue(new_item); -} - -boolean IntegerOutputPortType_BASE::process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING&) -{ -if (!strcmp(message_type, "integer")) { -INTEGER incoming_par; -incoming_par.decode_text(incoming_buf); -incoming_message(incoming_par, sender_component); -return TRUE; -} else return FALSE; -} - - -/* Bodies of functions, altsteps and testcases */ - -verdicttype testcase_TC__Sem__0902__Communication__ports__001(boolean has_timer, double timer_value) -{ -TTCN_Runtime::check_begin_testcase(has_timer, timer_value); -try { -TTCN_Runtime::begin_testcase("Sem_0902_Communication_ports_001", "TC_Sem_0902_Communication_ports_001", "Sem_0902_Communication_ports_001", "GeneralComp", "Sem_0902_Communication_ports_001", "MyTestSystemInterface", has_timer, timer_value); -/* Sem_0902_Communication_ports_001.ttcn, line 31 */ -TTCN_Runtime::map_port(MTC_COMPREF, GeneralComp_component_MycomportA.get_name(), SYSTEM_COMPREF, MyTestSystemInterface_component_messagePort.get_name()); -/* Sem_0902_Communication_ports_001.ttcn, line 34 */ -GeneralComp_component_MycomportA.send(INTEGER(2)); -/* Sem_0902_Communication_ports_001.ttcn, line 36 */ -{ -tmp_0: -alt_status tmp_0_alt_flag_0 = ALT_MAYBE; -alt_status tmp_0_alt_flag_1 = ALT_MAYBE; -alt_status tmp_0_default_flag = ALT_MAYBE; -TTCN_Snapshot::take_new(FALSE); -for ( ; ; ) { -if (tmp_0_alt_flag_0 == ALT_MAYBE) { -/* Sem_0902_Communication_ports_001.ttcn, line 37 */ -tmp_0_alt_flag_0 = GeneralComp_component_MycomportA.receive(INTEGER_template(2), NULL, any_compref, NULL); -if (tmp_0_alt_flag_0 == ALT_YES) { -/* Sem_0902_Communication_ports_001.ttcn, line 38 */ -TTCN_Runtime::setverdict(PASS); -break; -} -} -if (tmp_0_alt_flag_1 == ALT_MAYBE) { -/* Sem_0902_Communication_ports_001.ttcn, line 40 */ -tmp_0_alt_flag_1 = GeneralComp_component_MycomportA.receive(any_compref, NULL); -if (tmp_0_alt_flag_1 == ALT_YES) { -/* Sem_0902_Communication_ports_001.ttcn, line 41 */ -TTCN_Runtime::setverdict(FAIL); -break; -} -} -if (tmp_0_default_flag == ALT_MAYBE) { -tmp_0_default_flag = TTCN_Default::try_altsteps(); -if (tmp_0_default_flag == ALT_YES || tmp_0_default_flag == ALT_BREAK) break; -else if (tmp_0_default_flag == ALT_REPEAT) goto tmp_0; -} -/* Sem_0902_Communication_ports_001.ttcn, line 36 */ -if (tmp_0_alt_flag_0 == ALT_NO && tmp_0_alt_flag_1 == ALT_NO && tmp_0_default_flag == ALT_NO) TTCN_error("None of the branches can be chosen in the alt statement in file Sem_0902_Communication_ports_001.ttcn between lines 36 and 43."); -TTCN_Snapshot::take_new(TRUE); -} -} -} catch (const TC_Error& tc_error) { -} catch (const TC_End& tc_end) { -TTCN_Logger::log_str(TTCN_FUNCTION, "Test case TC_Sem_0902_Communication_ports_001 was stopped."); -} -return TTCN_Runtime::end_testcase(); -} - - -/* Bodies of static functions */ - -static void pre_init_module() -{ -module_object.add_testcase_nonpard("TC_Sem_0902_Communication_ports_001", testcase_TC__Sem__0902__Communication__ports__001); -} - -static boolean init_comp_type(const char *component_type, boolean init_base_comps) -{ -(void)init_base_comps; -if (!strcmp(component_type, "GeneralComp")) { -GeneralComp_component_MycomportA.activate_port(); -return TRUE; -} else if (!strcmp(component_type, "MyTestSystemInterface")) { -MyTestSystemInterface_component_messagePort.activate_port(); -return TRUE; -} else return FALSE; -} - -static void module_control_part() -{ -TTCN_Runtime::begin_controlpart("Sem_0902_Communication_ports_001"); -/* Sem_0902_Communication_ports_001.ttcn, line 47 */ -testcase_TC__Sem__0902__Communication__ports__001(FALSE, 0.0); -TTCN_Runtime::end_controlpart(); -} - - -} /* end of namespace */ diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh deleted file mode 100644 index c6260be..0000000 --- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.hh +++ /dev/null @@ -1,144 +0,0 @@ -// This C++ header file was generated by the TTCN-3 compiler -// of the TTCN-3 Test Executor version CRL 113 200/5 R4A -// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016 - -// Copyright (c) 2000-2015 Ericsson Telecom AB - -// Do not edit this file unless you know what you are doing. - -#ifndef Sem__0902__Communication__ports__001_HH -#define Sem__0902__Communication__ports__001_HH - -#ifdef TITAN_RUNTIME_2 -#error Generated code does not match with used runtime.\ - Code was generated without -R option but -DTITAN_RUNTIME_2 was used. -#endif - -/* Header file includes */ - -#include - -#if TTCN3_VERSION != 50400 -#error Version mismatch detected.\ - Please check the version of the TTCN-3 compiler and the base library. -#endif - -#ifndef LINUX -#error This file should be compiled on LINUX -#endif - -#undef Sem__0902__Communication__ports__001_HH -#endif - -namespace Sem__0902__Communication__ports__001 { - -/* Forward declarations of classes */ - -class loopbackPort; -class IntegerOutputPortType_BASE; -class IntegerOutputPortType; - -} /* end of namespace */ - -#ifndef Sem__0902__Communication__ports__001_HH -#define Sem__0902__Communication__ports__001_HH - -namespace Sem__0902__Communication__ports__001 { - -/* Type definitions */ - -typedef COMPONENT GeneralComp; -typedef COMPONENT_template GeneralComp_template; -typedef COMPONENT MyTestSystemInterface; -typedef COMPONENT_template MyTestSystemInterface_template; - -/* Class definitions */ - -class loopbackPort : public PORT { -enum msg_selection { MESSAGE_0 }; -struct msg_queue_item : public msg_queue_item_base { -msg_selection item_selection; -union { -INTEGER *message_0; -}; -component sender_component; -}; - -void remove_msg_queue_head(); -protected: -void clear_queue(); -public: -loopbackPort(const char *par_port_name = NULL); -~loopbackPort(); -void send(const INTEGER& send_par, const COMPONENT& destination_component); -void send(const INTEGER& send_par); -void send(const INTEGER_template& send_par, const COMPONENT& destination_component); -void send(const INTEGER_template& send_par); -alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -private: -void incoming_message(const INTEGER& incoming_par, component sender_component); -protected: -boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider); -}; - -class IntegerOutputPortType_BASE : public PORT { -enum msg_selection { MESSAGE_0 }; -struct msg_queue_item : public msg_queue_item_base { -msg_selection item_selection; -union { -INTEGER *message_0; -}; -component sender_component; -}; - -void remove_msg_queue_head(); -protected: -void clear_queue(); -public: -IntegerOutputPortType_BASE(const char *par_port_name); -~IntegerOutputPortType_BASE(); -void send(const INTEGER& send_par, const COMPONENT& destination_component); -void send(const INTEGER& send_par); -void send(const INTEGER_template& send_par, const COMPONENT& destination_component); -void send(const INTEGER_template& send_par); -protected: -virtual void outgoing_send(const INTEGER& send_par) = 0; -public: -alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status check_receive(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -alt_status trigger(const INTEGER_template& value_template, INTEGER *value_ptr, const COMPONENT_template& sender_template, COMPONENT *sender_ptr); -private: -void incoming_message(const INTEGER& incoming_par, component sender_component); -protected: -inline void incoming_message(const INTEGER& incoming_par) { incoming_message(incoming_par, SYSTEM_COMPREF); } -boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider); -}; - - -/* Function prototypes */ - -extern verdicttype testcase_TC__Sem__0902__Communication__ports__001(boolean has_timer, double timer_value); - -/* Global variable declarations */ - -extern const TTCN_Typedescriptor_t& GeneralComp_descr_; -extern IntegerOutputPortType GeneralComp_component_MycomportA; -extern const TTCN_Typedescriptor_t& MyTestSystemInterface_descr_; -extern loopbackPort MyTestSystemInterface_component_messagePort; -extern TTCN_Module module_object; - -} /* end of namespace */ - -/* Test port header files */ - -#include "IntegerOutputPortType.hh" - -#endif diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn index 88f4b7d..e3598d6 100644 --- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn +++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn @@ -18,14 +18,11 @@ module Sem_0902_Communication_ports_001{ type port loopbackPort message { inout integer - } with {extension "internal"} - type port IntegerOutputPortType message { - inout integer - } // with {extension "internal"} - + } + type component GeneralComp { - port IntegerOutputPortType MycomportA + port loopbackPort MycomportA } type component MyTestSystemInterface @@ -38,7 +35,6 @@ module Sem_0902_Communication_ports_001{ // establishing the port connections map(mtc:MycomportA, system:messagePort); - MycomportA.send(2); //can send also in-line template alt { diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn index 6542349..5d030bc 100644 --- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn +++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn @@ -16,24 +16,20 @@ //Two ports are mapped to two system interface module Sem_0902_Communication_ports_002{ - type port loopbackPort message { + type port loopbackPort1 message { inout integer } - type port MyMessagePortType message { - inout integer - } - type component GeneralComp { var integer v_received1:=0; var integer v_received2:=0; - port MyMessagePortType myPortA,myPortB + port loopbackPort1 myPortA,myPortB } type component MyTestSystemInterface { - port loopbackPort messagePortA,messagePortB + port loopbackPort1 messagePortA,messagePortB } // MyTestSystemInterface is the test system interface @@ -42,7 +38,6 @@ module Sem_0902_Communication_ports_002{ map(mtc:myPortA, system:messagePortA); map(mtc:myPortB, system:messagePortB); - myPortA.send(2); //can send also in-line template myPortB.send(3); diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc new file mode 100644 index 0000000..62e97b1 --- /dev/null +++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc @@ -0,0 +1,77 @@ +// This Test Port skeleton source file was generated by the +// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D +// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016 + +// Copyright (c) 2000-2015 Ericsson Telecom AB + +// You may modify this file. Complete the body of empty functions and +// add your member functions here. + +#include "loopbackPort.hh" + +namespace Sem__0902__Communication__ports__001 { + +loopbackPort::loopbackPort(const char *par_port_name) + : loopbackPort_BASE(par_port_name) +{ + +} + +loopbackPort::~loopbackPort() +{ + +} + +void loopbackPort::set_parameter(const char * /*parameter_name*/, + const char * /*parameter_value*/) +{ + +} + +/*void loopbackPort::Handle_Fd_Event(int fd, boolean is_readable, + boolean is_writable, boolean is_error) {}*/ + +void loopbackPort::Handle_Fd_Event_Error(int /*fd*/) +{ + +} + +void loopbackPort::Handle_Fd_Event_Writable(int /*fd*/) +{ + +} + +void loopbackPort::Handle_Fd_Event_Readable(int /*fd*/) +{ + +} + +/*void loopbackPort::Handle_Timeout(double time_since_last_call) {}*/ + +void loopbackPort::user_map(const char * /*system_port*/) +{ + +} + +void loopbackPort::user_unmap(const char * /*system_port*/) +{ + +} + +void loopbackPort::user_start() +{ + +} + +void loopbackPort::user_stop() +{ + +} + +void loopbackPort::outgoing_send(const INTEGER& send_par) +{ + incoming_message(send_par); +} + +} /* end of namespace */ + diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.hh b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh similarity index 76% rename from conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.hh rename to conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh index fbbd5f8..5b3f61c 100644 --- a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/IntegerOutputPortType.hh +++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh @@ -1,23 +1,23 @@ // This Test Port skeleton header file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4A -// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Jan 18 12:27:53 2016 +// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D +// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016 // Copyright (c) 2000-2015 Ericsson Telecom AB // You may modify this file. Add your attributes and prototypes of your // member functions here. -#ifndef IntegerOutputPortType_HH -#define IntegerOutputPortType_HH +#ifndef loopbackPort_HH +#define loopbackPort_HH #include "Sem_0902_Communication_ports_001.hh" namespace Sem__0902__Communication__ports__001 { -class IntegerOutputPortType : public IntegerOutputPortType_BASE { +class loopbackPort : public loopbackPort_BASE { public: - IntegerOutputPortType(const char *par_port_name = NULL); - ~IntegerOutputPortType(); + loopbackPort(const char *par_port_name = NULL); + ~loopbackPort(); void set_parameter(const char *parameter_name, const char *parameter_value); diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc new file mode 100644 index 0000000..3dfa2c3 --- /dev/null +++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc @@ -0,0 +1,77 @@ +// This Test Port skeleton source file was generated by the +// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D +// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016 + +// Copyright (c) 2000-2015 Ericsson Telecom AB + +// You may modify this file. Complete the body of empty functions and +// add your member functions here. + +#include "loopbackPort1.hh" + +namespace Sem__0902__Communication__ports__002 { + +loopbackPort1::loopbackPort1(const char *par_port_name) + : loopbackPort1_BASE(par_port_name) +{ + +} + +loopbackPort1::~loopbackPort1() +{ + +} + +void loopbackPort1::set_parameter(const char * /*parameter_name*/, + const char * /*parameter_value*/) +{ + +} + +/*void loopbackPort1::Handle_Fd_Event(int fd, boolean is_readable, + boolean is_writable, boolean is_error) {}*/ + +void loopbackPort1::Handle_Fd_Event_Error(int /*fd*/) +{ + +} + +void loopbackPort1::Handle_Fd_Event_Writable(int /*fd*/) +{ + +} + +void loopbackPort1::Handle_Fd_Event_Readable(int /*fd*/) +{ + +} + +/*void loopbackPort1::Handle_Timeout(double time_since_last_call) {}*/ + +void loopbackPort1::user_map(const char * /*system_port*/) +{ + +} + +void loopbackPort1::user_unmap(const char * /*system_port*/) +{ + +} + +void loopbackPort1::user_start() +{ + +} + +void loopbackPort1::user_stop() +{ + +} + +void loopbackPort1::outgoing_send(const INTEGER& send_par) +{ + incoming_message(send_par); +} + +} /* end of namespace */ + diff --git a/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh new file mode 100644 index 0000000..9295cbd --- /dev/null +++ b/conformance_test/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh @@ -0,0 +1,44 @@ +// This Test Port skeleton header file was generated by the +// TTCN-3 Compiler of the TTCN-3 Test Executor version CRL 113 200/5 R4D +// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016 + +// Copyright (c) 2000-2015 Ericsson Telecom AB + +// You may modify this file. Add your attributes and prototypes of your +// member functions here. + +#ifndef loopbackPort1_HH +#define loopbackPort1_HH + +#include "Sem_0902_Communication_ports_002.hh" + +namespace Sem__0902__Communication__ports__002 { + +class loopbackPort1 : public loopbackPort1_BASE { +public: + loopbackPort1(const char *par_port_name = NULL); + ~loopbackPort1(); + + void set_parameter(const char *parameter_name, + const char *parameter_value); + +private: + /* void Handle_Fd_Event(int fd, boolean is_readable, + boolean is_writable, boolean is_error); */ + void Handle_Fd_Event_Error(int fd); + void Handle_Fd_Event_Writable(int fd); + void Handle_Fd_Event_Readable(int fd); + /* void Handle_Timeout(double time_since_last_call); */ +protected: + void user_map(const char *system_port); + void user_unmap(const char *system_port); + + void user_start(); + void user_stop(); + + void outgoing_send(const INTEGER& send_par); +}; + +} /* end of namespace */ + +#endif diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn index 1a3f965..c1f8f1c 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_043.ttcn @@ -29,12 +29,12 @@ module Sem_160102_predefined_functions_043 { var integer v_1; //uninitialized value //uninitialized value - if( match(any2unistr(v_1),"UNINITIALIZED")) { setverdict(pass,"Result: ",any2unistr(v_1));} - else{setverdict(fail,"Result is: ",any2unistr(v_1), " Expected: UNINITIALIZED");} + if( match(any2unistr(v_1),"")) { setverdict(pass,"Result: ",any2unistr(v_1));} + else{setverdict(fail,"Result is: ",any2unistr(v_1), " Expected: unbound");} } control{ execute(TC_Sem_160102_predefined_functions_043()); } -} \ No newline at end of file +} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn index 45c3949..78e0804 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_046.ttcn @@ -20,7 +20,7 @@ module Sem_160102_predefined_functions_046 { - type record MyRec { + type record MyRec { integer field1, boolean field2, integer field3 optional @@ -34,12 +34,12 @@ module Sem_160102_predefined_functions_046 { template MyRec v_4 := {1,false,-}; // record containing integer, boolean and optional elements // record containing integer, boolean and optional elements - if(match(any2unistr(v_4),pattern "{ field1 := 1, field2 := false, field3 := UNINITIALIZED }" )) { + if(match(any2unistr(v_4),"{ field1 := 1, field2 := false, field3 := }" )) { setverdict(pass,"Result: ",any2unistr(v_4));} - else{setverdict(fail,"Result is: ",any2unistr(v_4), " Expected:{ field1 := 1, field2 := false, field3 := UNINITIALIZED }");} + else{setverdict(fail,"Result is: ",any2unistr(v_4), " Expected:{ field1 := 1, field2 := false, field3 := }");} } control{ execute(TC_Sem_160102_predefined_functions_046()); } -} \ No newline at end of file +} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn index a0247c5..788fc77 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_063.ttcn @@ -25,9 +25,11 @@ module Sem_160102_predefined_functions_063 { } + type charstring CS with { variant "ALIGN(left)" }; + testcase TC_Sem_160102_predefined_functions_063 () runs on GeneralComp { - var charstring v_test := "abc"; + var CS v_test := "abc"; //Encoding: @@ -43,4 +45,4 @@ module Sem_160102_predefined_functions_063 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn index 33d1d95..70a7b65 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_064.ttcn @@ -27,9 +27,11 @@ module Sem_160102_predefined_functions_064 { } + type charstring CS with { variant "FIELDLENGTH(2), ALIGN(left)" }; + testcase TC_Sem_160102_predefined_functions_064 () runs on GeneralComp { - var charstring v_test := "abc"; + var CS v_test := "ab"; //Encoding: @@ -47,4 +49,4 @@ module Sem_160102_predefined_functions_064 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn index 48e946e..15288e1 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_065.ttcn @@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_065 { } + type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" }; + testcase TC_Sem_160102_predefined_functions_065 () runs on GeneralComp { - var charstring v_test := "abc"; + var CS v_test := "ab"; //Encoding: @@ -45,4 +47,4 @@ module Sem_160102_predefined_functions_065 { } -} \ No newline at end of file +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn index ced14b2..63a15e1 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_066.ttcn @@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_066 { } + type charstring CS with { variant "FIELDLENGTH(2), ALIGN(right)" }; + testcase TC_Sem_160102_predefined_functions_066 () runs on GeneralComp { - var charstring v_test := "abc"; + var CS v_test := "ab"; //Encoding: @@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_066 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn index d89fc51..b7876ff 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_067.ttcn @@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_067 { } + type charstring CS with { variant "FIELDLENGTH(2), ALIGN(left)" }; + testcase TC_Sem_160102_predefined_functions_067 () runs on GeneralComp { - var charstring v_test := "abc"; + var CS v_test := "ab"; //Encoding: @@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_067 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn index d0e1224..63d8c2d 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_068.ttcn @@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_068 { } + type charstring CS with { variant "FIELDLENGTH(4), ALIGN(right)" }; + testcase TC_Sem_160102_predefined_functions_068 () runs on GeneralComp { - var charstring v_test := "abc"; + var CS v_test := "ab"; //Encoding: @@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_068 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn index 259f7db..0112620 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_069.ttcn @@ -26,9 +26,11 @@ module Sem_160102_predefined_functions_069 { } + type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" }; + testcase TC_Sem_160102_predefined_functions_069 () runs on GeneralComp { - var charstring v_test := "abc"; + var CS v_test := "ab"; //Encoding: @@ -44,4 +46,4 @@ module Sem_160102_predefined_functions_069 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn index 8449ac9..1a17c7b 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_070.ttcn @@ -26,19 +26,21 @@ module Sem_160102_predefined_functions_070 { } + type integer I with { variant "32 bit" }; + testcase TC_Sem_160102_predefined_functions_070 () runs on GeneralComp { + var I input := 123; //encoded text: - var universal charstring v_enc := encvalue_unichar(123,"UTF-8"); - + var universal charstring v_enc := encvalue_unichar(input,"UTF-8"); //decode: - var integer v_test_dec; + var I v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-8"); //decode (UTF-8) if (v_res == 0) { - setverdict(pass, "Decoded ", v_enc , " with result ", v_res); + setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res); } else { setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res); } @@ -51,4 +53,4 @@ module Sem_160102_predefined_functions_070 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn index b0e9bfe..41bb499 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_071.ttcn @@ -28,19 +28,22 @@ module Sem_160102_predefined_functions_071 { } + type charstring CS with { variant "" }; + testcase TC_Sem_160102_predefined_functions_071 () runs on GeneralComp { - + var CS input := "aBcDeF"; + //encoded text: - var universal charstring v_enc := encvalue_unichar("aBcDeF","UTF-8"); + var universal charstring v_enc := encvalue_unichar(input,"UTF-8"); //decode: - var charstring v_test_dec; + var CS v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-8"); //decode (UTF-8) if (v_res == 0) { - setverdict(pass, "Decoded ", v_enc , " with result ", v_res); + setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res); } else { setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res); } @@ -53,4 +56,4 @@ module Sem_160102_predefined_functions_071 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn index 1858d12..48d0110 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_072.ttcn @@ -26,19 +26,22 @@ module Sem_160102_predefined_functions_072 { } + type integer I with { variant "FIELDLENGTH(16)" }; + testcase TC_Sem_160102_predefined_functions_072 () runs on GeneralComp { + var I input := 123; //encoded text: - var universal charstring v_enc := encvalue_unichar(123,"UTF-16"); + var universal charstring v_enc := encvalue_unichar(input,"UTF-16"); //decode: - var integer v_test_dec; + var I v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16"); //decode (UTF-16) if (v_res == 0) { - setverdict(pass, "Decoded ", v_enc , " with result ", v_res); + setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res); } else { setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res); } @@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_072 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn index 116f49b..f8e1c08 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_073.ttcn @@ -26,20 +26,22 @@ module Sem_160102_predefined_functions_073 { } + type charstring CS with { variant "FIELDLENGTH(8), ALIGN(left)" }; + testcase TC_Sem_160102_predefined_functions_073 () runs on GeneralComp { //encoded text: - var universal charstring v_test := "aBcDe"; + var CS v_test := "aBcdEF34"; var universal charstring v_enc := encvalue_unichar(v_test,"UTF-16"); //decode: - var charstring v_test_dec; + var CS v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16"); //decode (UTF-16) if (v_res == 0) { - setverdict(pass, "Decoded ", v_test_dec , " with result ", v_res); + setverdict(pass, "Decoded ", v_test_dec , " into ", v_test_dec, " with result ", v_res); } else { setverdict(fail, "Unexpected decoding result: Decoded ", v_test_dec, " with result ", v_res); } @@ -52,4 +54,4 @@ module Sem_160102_predefined_functions_073 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn index 4fcf5bb..a00f425 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_074.ttcn @@ -26,19 +26,21 @@ module Sem_160102_predefined_functions_074 { } + type integer I with { variant "FIELDLENGTH(32), BYTEORDER(last)"}; + testcase TC_Sem_160102_predefined_functions_074 () runs on GeneralComp { - + var I input := 123; //encoded text: - var universal charstring v_enc := encvalue_unichar(123,"UTF-32"); //encode UTF-32 + var universal charstring v_enc := encvalue_unichar(input,"UTF-32"); //encode UTF-32 //decode: - var integer v_test_dec; + var I v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32"); //decode (UTF-32) if (v_res == 0) { - setverdict(pass, "Decoded ", v_enc , " with result ", v_res); + setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res); } else { setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res); } @@ -51,4 +53,4 @@ module Sem_160102_predefined_functions_074 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn index a574e7d..9a6f600 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_075.ttcn @@ -27,19 +27,21 @@ module Sem_160102_predefined_functions_075 { } + type charstring CS with { variant "FIELDLENGTH(4), ALIGN(left)" }; + testcase TC_Sem_160102_predefined_functions_075 () runs on GeneralComp { - - //encoded text: - var universal charstring v_enc := encvalue_unichar("aBc","UTF-32"); //encode UTF-32 + var CS v_test := "aB"; + //encoded text: + var universal charstring v_enc := encvalue_unichar(v_test,"UTF-32"); //encode UTF-32 //decode: - var charstring v_test_dec; + var CS v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32"); //decode (UTF-32) if (v_res == 0) { - setverdict(pass, "Decoded ", v_enc , " with result ", v_res); + setverdict(pass, "Decoded ", v_enc , " into ", v_test_dec, " with result ", v_res); } else { setverdict(fail, "Unexpected decoding result: Decoded ", v_enc , " with result ", v_res); } @@ -52,4 +54,4 @@ module Sem_160102_predefined_functions_075 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn index b7d1a72a..7d686c0 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_076.ttcn @@ -26,15 +26,18 @@ module Sem_160102_predefined_functions_076 { } + type integer I with { variant "FIELDLENGTH(16)" }; + testcase TC_Sem_160102_predefined_functions_076 () runs on GeneralComp { + var I input := 123; //encoded text: - var universal charstring v_enc := encvalue_unichar(123,"UTF-16"); + var universal charstring v_enc := encvalue_unichar(input,"UTF-16"); //decode: - var integer v_test_dec; + var I v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16LE"); //decode (UTF-16 little endian) if (v_res == 0) { @@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_076 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn index 95ff9d7..5a84ab3 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_077.ttcn @@ -26,15 +26,18 @@ module Sem_160102_predefined_functions_077 { } + type integer I with { variant "FIELDLENGTH(16)" }; + testcase TC_Sem_160102_predefined_functions_077 () runs on GeneralComp { + var I input := 123; //encoded text: - var universal charstring v_enc := encvalue_unichar(123,"UTF-16BE"); + var universal charstring v_enc := encvalue_unichar(input,"UTF-16BE"); //decode: - var integer v_test_dec; + var I v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-16BE"); //decode (UTF-16 big endian) if (v_res == 0) { @@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_077 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn index e4ac592..95268cf 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_078.ttcn @@ -26,15 +26,18 @@ module Sem_160102_predefined_functions_078 { } + type integer I with { variant "FIELDLENGTH(32), BYTEORDER(first)" }; + testcase TC_Sem_160102_predefined_functions_078 () runs on GeneralComp { - + var I input := 123; + //encoded text: - var universal charstring v_enc := encvalue_unichar(123,"UTF-32LE"); + var universal charstring v_enc := encvalue_unichar(input,"UTF-32LE"); //decode: - var integer v_test_dec; + var I v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32LE"); //decode (UTF-32 little endian) if (v_res == 0) { @@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_078 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn index 0660468..075bc17 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_079.ttcn @@ -25,16 +25,19 @@ module Sem_160102_predefined_functions_079 { type component GeneralComp { } + + type integer I with { variant "FIELDLENGTH(32), BYTEORDER(last)" }; testcase TC_Sem_160102_predefined_functions_079 () runs on GeneralComp { + var I input := 123; //encoded text: - var universal charstring v_enc := encvalue_unichar(123,"UTF-32BE"); + var universal charstring v_enc := encvalue_unichar(input,"UTF-32BE"); //decode: - var integer v_test_dec; + var I v_test_dec; var integer v_res:= decvalue_unichar(v_enc,v_test_dec,"UTF-32BE"); //decode (UTF-32 big endian) if (v_res == 0) { @@ -51,4 +54,4 @@ module Sem_160102_predefined_functions_079 { } -} +} with { encode "RAW"} diff --git a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn index 38c9223..106e528 100755 --- a/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn +++ b/conformance_test/positive_tests/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_080.ttcn @@ -50,4 +50,4 @@ module Sem_160102_predefined_functions_080 { control{ execute(TC_Sem_160102_predefined_functions_080()); } -} +} with {encode "RAW" } diff --git a/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn b/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn index 9ac64d0..c9e344f 100755 --- a/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn +++ b/conformance_test/positive_tests/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_002.ttcn @@ -42,9 +42,9 @@ module Sem_B0105_toplevel_002 { } v_testMessage:= { - field1 := "ű", - field2 := "ű1234Å´", - field3 := "ű" + field1 := "ű", + field2 := "ű1234Ŵ", + field3 := "ű" } connect(self:messagePort, self:messagePort); diff --git a/conformance_test/positive_tests/Makefile b/conformance_test/positive_tests/Makefile old mode 100755 new mode 100644 diff --git a/conformance_test/positive_tests/pos_conf_tests.cfg b/conformance_test/positive_tests/pos_conf_tests.cfg index 1bd5da1..1e5fa92 100644 --- a/conformance_test/positive_tests/pos_conf_tests.cfg +++ b/conformance_test/positive_tests/pos_conf_tests.cfg @@ -274,7 +274,6 @@ Sem_050402_actual_parameters_192.control Sem_050402_actual_parameters_194.control Sem_050402_actual_parameters_195.control Sem_050402_actual_parameters_196.control -Sem_050402_actual_parameters_197.control Sem_050402_actual_parameters_198.control Sem_050402_actual_parameters_199.control Sem_050402_actual_parameters_200.control @@ -302,6 +301,7 @@ Sem_060101_TopLevel_003.control Sem_060101_TopLevel_004.control Sem_060101_TopLevel_005.control Sem_060101_TopLevel_006.control +Sem_060101_TopLevel_007.control Sem_06010201_ListOfValues_001.control Sem_06010202_ListOfTypes_001.control Sem_06010202_ListOfTypes_002.control @@ -349,11 +349,16 @@ Sem_06020101_ReferencingRecordFields_013.control Sem_06020101_ReferencingRecordFields_014.control Sem_06020101_ReferencingRecordFields_016.control Sem_06020101_ReferencingRecordFields_017.control +Sem_060201_RecordTypeValues_001.control Sem_060201_RecordTypeValues_002.control +Sem_060201_RecordTypeValues_003.control Sem_060202_SetTypeValues_001.control Sem_060202_SetTypeValues_002.control Sem_060202_SetTypeValues_003.control Sem_060202_SetTypeValues_004.control +Sem_060202_SetTypeValues_005.control +Sem_060202_SetTypeValues_006.control +Sem_060202_SetTypeValues_007.control Sem_060203_records_and_sets_of_single_types_001.control Sem_060203_records_and_sets_of_single_types_004.control Sem_060203_records_and_sets_of_single_types_005.control @@ -446,6 +451,8 @@ Sem_060301_non_structured_types_004.control Sem_060302_structured_types_002.control Sem_060302_structured_types_003.control Sem_060302_structured_types_005.control +Sem_060303_component_types_001.control +Sem_060303_component_types_002.control Sem_070101_ArithmeticOperators_001.control Sem_070101_ArithmeticOperators_002.control Sem_070101_ArithmeticOperators_003.control @@ -575,6 +582,8 @@ Sem_0901_Communication_ports_002.control Sem_0901_Communication_ports_003.control Sem_0901_Communication_ports_004.control Sem_0901_Communication_ports_005.control +Sem_0902_Communication_ports_001.control +Sem_0902_Communication_ports_002.control Sem_10_Constants_001.control Sem_10_Constants_002.control Sem_10_Constants_003.control @@ -640,6 +649,7 @@ Sem_1505_ModifiedTemplates_003.control Sem_1505_ModifiedTemplates_004.control Sem_1505_ModifiedTemplates_005.control Sem_1505_ModifiedTemplates_006.control +Sem_1505_ModifiedTemplates_007.control Sem_1505_ModifiedTemplates_009.control Sem_1505_ModifiedTemplates_010.control Sem_150602_ReferencingRecordAndSetFields_001.control @@ -719,6 +729,28 @@ Sem_160102_predefined_functions_038.control Sem_160102_predefined_functions_039.control Sem_160102_predefined_functions_040.control Sem_160102_predefined_functions_041.control +Sem_160102_predefined_functions_042.control +Sem_160102_predefined_functions_043.control +Sem_160102_predefined_functions_044.control +Sem_160102_predefined_functions_045.control +Sem_160102_predefined_functions_046.control +Sem_160102_predefined_functions_063.control +Sem_160102_predefined_functions_064.control +Sem_160102_predefined_functions_065.control +Sem_160102_predefined_functions_066.control +Sem_160102_predefined_functions_067.control +Sem_160102_predefined_functions_068.control +Sem_160102_predefined_functions_069.control +Sem_160102_predefined_functions_070.control +Sem_160102_predefined_functions_071.control +Sem_160102_predefined_functions_072.control +Sem_160102_predefined_functions_073.control +Sem_160102_predefined_functions_074.control +Sem_160102_predefined_functions_075.control +Sem_160102_predefined_functions_076.control +Sem_160102_predefined_functions_077.control +Sem_160102_predefined_functions_078.control +Sem_160102_predefined_functions_079.control Sem_160102_predefined_functions_081.control Sem_160102_predefined_functions_082.control Sem_160102_predefined_functions_083.control @@ -1105,6 +1137,7 @@ Sem_B010503_match_n_times_004.control Sem_B010503_match_n_times_005.control Sem_B010505_pattern_compatibility_001.control Sem_B0105_toplevel_001.control +Sem_B0105_toplevel_002.control Sem_C0602_The_testcasename_function_001.control Sem_D01_macro_module_001.control Sem_D02_macro_file_001.control diff --git a/conformance_test/positive_tests/pos_conf_tests.tpd b/conformance_test/positive_tests/pos_conf_tests.tpd index 58fae88..5313692 100644 --- a/conformance_test/positive_tests/pos_conf_tests.tpd +++ b/conformance_test/positive_tests/pos_conf_tests.tpd @@ -838,7 +838,7 @@ - + @@ -950,27 +950,23 @@ - - - + - + - - - - - + + + @@ -1293,8 +1289,8 @@ - - + + @@ -1715,8 +1711,12 @@ - - + + + + + + @@ -1863,7 +1863,7 @@ - + @@ -2125,11 +2125,11 @@ - - - - - + + + + + @@ -2145,23 +2145,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -3332,7 +3332,7 @@ - + -- 2.34.1