diff --git a/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script b/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script index 396f175a6c8a4b25275c3d9d24be86f3c03a7d56..7f7fcb9eebdc16cc64a7dd17fc03964932f1c687 100644 --- a/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script +++ b/conformance_test/core_language_tests/negative_tests/05_basic_language_elements.script @@ -842,7 +842,7 @@ module NegSem_050401_top_level_001 { if (match(p_rec, {1, 2})) { setverdict(pass); } else { - setverdict(fail, "p_rec value not matching ", p_rec, {1, 2}); + setverdict(fail, "p_rec value not matching ", p_rec, R1:{1, 2}); } } @@ -858,7 +858,7 @@ module NegSem_050401_top_level_001 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_050401_top_level_001.R2' was expected instead of `@NegSem_050401_top_level_001.R1' +error: Type mismatch: `@NegSem_050401_top_level_001.R2.option2' of type `integer' and `@NegSem_050401_top_level_001.R1.field2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same <END_RESULT> <END_TC> @@ -908,7 +908,7 @@ module NegSem_050401_top_level_002 { var R1 v_rec; f(v_rec); if ( match(v_rec, {1, 2})) { setverdict(pass); } - else { setverdict(fail, "p_rec value not matching ", v_rec, {1, 2}); } + else { setverdict(fail, "p_rec value not matching ", v_rec, R1:{1, 2}); } } control{ @@ -918,65 +918,7 @@ module NegSem_050401_top_level_002 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: Reference to a variable or value parameter of type `@NegSem_050401_top_level_002.R2' was expected instead of `@NegSem_050401_top_level_002.R1' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_050401_top_level_003 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - verify that error is generated if actual inout parameter doesn't adhere to strong typing rules > - -<COMPILE> - -<MODULE TTCN NegSem_050401_top_level_003 NegSem_050401_top_level_003.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:5.4.1, verify that error is generated if actual inout parameter doesn't adhere to strong typing rules - ** @verdict pass reject - ***************************************************/ - -// The following requirement is tested: -// When parameters are passed by reference, strong typing is required. Both the actual and formal -// parameter shall be of the same type. - -module NegSem_050401_top_level_003 { - - type component GeneralComp { - } - - type record R1 { - integer field1, - integer field2 - } - - type record R2 { - integer option1, - integer option2 - } - - function f(inout R2 p_rec) { - if (match(p_rec, {1, 2})) { setverdict(pass); } - else { setverdict(fail, "p_rec value not matching ", p_rec, {1, 2}); } - } - - testcase TC_NegSem_050401_top_level_003() runs on GeneralComp { - var R1 v_rec := { field1 := 1, field2 := 2 }; - f(v_rec); // R1 and R2 are compatible types, but not the same. Strong typing requires exactly the same types. - } - - control{ - execute(TC_NegSem_050401_top_level_003()); - } -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: Reference to a variable or value parameter of type `@NegSem_050401_top_level_003.R2' was expected instead of `@NegSem_050401_top_level_003.R1' +error: Type mismatch: `@NegSem_050401_top_level_002.R2.option2' of type `integer' and `@NegSem_050401_top_level_002.R1.field2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same <END_RESULT> <END_TC> @@ -8272,7 +8214,7 @@ module NegSem_050402_actual_parameters_107 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_050402_actual_parameters_107.R1' was expected instead of `@NegSem_050402_actual_parameters_107.R2' +error: Type mismatch: `@NegSem_050402_actual_parameters_107.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_107.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same <END_RESULT> <END_TC> @@ -8332,7 +8274,7 @@ module NegSem_050402_actual_parameters_108 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: Reference to a variable or value parameter of type `@NegSem_050402_actual_parameters_108.R1' was expected instead of `@NegSem_050402_actual_parameters_108.R2' +error: Type mismatch: `@NegSem_050402_actual_parameters_108.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_108.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same <END_RESULT> <END_TC> @@ -8389,7 +8331,7 @@ module NegSem_050402_actual_parameters_109 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: Reference to a variable or value parameter of type `@NegSem_050402_actual_parameters_109.R1' was expected instead of `@NegSem_050402_actual_parameters_109.R2' +error: Type mismatch: `@NegSem_050402_actual_parameters_109.R1.field2' of type `integer' and `@NegSem_050402_actual_parameters_109.R2.elem2' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same <END_RESULT> <END_TC> diff --git a/conformance_test/core_language_tests/negative_tests/06_types_and_values.script b/conformance_test/core_language_tests/negative_tests/06_types_and_values.script index 444c6e40964aee0b8290e6be23686a49b72092c6..b5e5d83d3756c69863a13b13f87872e1c6afd596 100644 --- a/conformance_test/core_language_tests/negative_tests/06_types_and_values.script +++ b/conformance_test/core_language_tests/negative_tests/06_types_and_values.script @@ -3857,7 +3857,7 @@ module NegSem_060203_records_and_sets_of_single_types_015 { <END_MODULE> <RESULT COUNT 1> -Dynamic test case error: Text encoder: Encoding an unbound integer value. +Dynamic test case error: Performing a valueof or send operation on a non-specific integer template. <END_RESULT> <END_TC> @@ -6988,7 +6988,7 @@ module NegSem_060301_non_structured_types_007 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `integer\[1\]' was expected instead of `integer\[2\]' +error: Type mismatch: `integer\[1\]' and `integer\[2\]' are not compatible: Array types should have the same dimension <END_RESULT> <END_TC> @@ -7033,7 +7033,7 @@ module NegSem_060301_non_structured_types_008 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `float\[1\]' was expected instead of `float\[2\]' +error: Type mismatch: `float\[1\]' and `float\[2\]' are not compatible: Array types should have the same dimension <END_RESULT> <END_TC> @@ -7135,64 +7135,7 @@ module NegSem_060302_structured_types_002 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_002.RecordType2' was expected instead of `@NegSem_060302_structured_types_002.RecordType1' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_003 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments from incompatible types or type ranges > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_003 NegSem_060302_structured_types_003.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_003 { - - type record RecordType { - integer a(0..10) optional, - integer b(0..10) optional, - boolean c - } - type record ModifiedRecord { - integer e optional, - integer f(0..5) optional, - boolean g - } - - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_003() runs on GeneralComp { - - var ModifiedRecord v_rec1:={e:=15,f:=4,g:=false}; - var RecordType v_rec2; - - v_rec2:=v_rec1; //subtyping range mismatch - setverdict(pass); - - } - - control{ - execute(TC_NegSem_060302_structured_types_003()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_003.RecordType' was expected instead of `@NegSem_060302_structured_types_003.ModifiedRecord' +error: Type mismatch: `@NegSem_060302_structured_types_002.RecordType2.f' of type `integer' and `@NegSem_060302_structured_types_002.RecordType1.b' of type `integer' are not compatible: The optionality of fields in record/SEQUENCE types must be the same <END_RESULT> <END_TC> @@ -7248,123 +7191,7 @@ module NegSem_060302_structured_types_004 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_004.SetType' was expected instead of `@NegSem_060302_structured_types_004.ModifiedSet' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_005 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments from incompatible types or type ranges > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_005 NegSem_060302_structured_types_005.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_005 { - - type set SetType { - integer a(0..10) optional, - integer b(0..10) optional, - boolean c - } - type set ModifiedSet { - integer e optional, - integer f(0..5) optional, - boolean g - } - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_005() runs on GeneralComp { - - var ModifiedSet v_set1:={f:=4,e:=15,g:=false}; - var SetType v_set2; - - v_set2:=v_set1; //subtyping range mismatch - setverdict(pass); - - } - - control{ - execute(TC_NegSem_060302_structured_types_005()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_005.SetType' was expected instead of `@NegSem_060302_structured_types_005.ModifiedSet' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_008 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments from incompatible types or type ranges > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_008 NegSem_060302_structured_types_008.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_008 { - - type enumerated EnumeratedType {e_black, e_white}; - type EnumeratedType EnumeratedSynonym; - - type union UnionType { - integer a(0..10), - EnumeratedType b, - boolean c - } - - type union ModifiedUnion { - integer a, - boolean c, - EnumeratedSynonym b - } - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_008() runs on GeneralComp { - - var ModifiedUnion v_union1:={a:=12}; - var UnionType v_union2; - - v_union2:=v_union1; //subtyping range mismatch - setverdict(pass); - - } - - control{ - execute(TC_NegSem_060302_structured_types_008()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_008.UnionType' was expected instead of `@NegSem_060302_structured_types_008.ModifiedUnion' +error: Type mismatch: `@NegSem_060302_structured_types_004.SetType.b' of type `integer' and `@NegSem_060302_structured_types_004.ModifiedSet.f' of type `integer' are not compatible: The optionality of fields in set/SET types must be the same <END_RESULT> <END_TC> @@ -7378,6 +7205,7 @@ error: Type mismatch: a value of type `@NegSem_060302_structured_types_008.Union <TC - Ensure that the IUT rejects assignments from incompatible types or type ranges > <COMPILE> +<EXECUTE_PARALLEL> <MODULE TTCN NegSem_060302_structured_types_009 NegSem_060302_structured_types_009.ttcn > /*************************************************** @@ -7422,7 +7250,7 @@ module NegSem_060302_structured_types_009 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_009.UnionType' was expected instead of `@NegSem_060302_structured_types_009.ModifiedUnion' +Dynamic test case error: Values or templates of types `@NegSem_060302_structured_types_009.ModifiedUnion' and `@NegSem_060302_structured_types_009.UnionType' are not compatible at run-time <END_RESULT> <END_TC> @@ -7482,7 +7310,7 @@ control{ <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_010.UnionType' was expected instead of `@NegSem_060302_structured_types_010.ModifiedUnion' +error: Type mismatch: `@NegSem_060302_structured_types_010.UnionType' and `@NegSem_060302_structured_types_010.ModifiedUnion' are not compatible: No compatible union/CHOICE/anytype field found <END_RESULT> <END_TC> @@ -7546,279 +7374,16 @@ module NegSem_060302_structured_types_011_importB { type integer F; type anytype Atype; } -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_011_importA.anytype' was expected instead of `@NegSem_060302_structured_types_011_importB.anytype' -<END_RESULT> -<RESULT COUNT 1> -error: The operands of operation `==' should be of compatible types -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_012 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_012 NegSem_060302_structured_types_012.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_012 { - - type record RecordType { - integer a, - integer b optional - } - - type set SetType { - integer a, - integer b optional - } - - type record length (1..2) of integer ShortIntegerList; - type record of integer IntegerList; - - type set length (1..2) of integer ShortUnorderedIntegerList; - type set of integer UnorderedIntegerList; - - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_012() runs on GeneralComp { - - - var IntegerList v_list1:={1,-}; - var ShortIntegerList v_list2; - var RecordType v_rec1; - var UnorderedIntegerList v_ulist1:={1,-}; - var ShortUnorderedIntegerList v_ulist2; - var SetType v_set1; - - var integer v_matcher[2] := {1,-}; - - var boolean v_check1; - - v_list2:=v_list1; - v_rec1:=v_list2; - v_ulist2:=v_ulist1; - v_set1:=v_ulist2; - - v_check1 := match(v_rec1, v_matcher); //mismatch between undefined and omitted elements - - } - - control{ - execute(TC_NegSem_060302_structured_types_012()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_012.RecordType' was expected instead of `@NegSem_060302_structured_types_012.ShortIntegerList' -<END_RESULT> -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_012.SetType' was expected instead of `@NegSem_060302_structured_types_012.ShortUnorderedIntegerList' -<END_RESULT> -<RESULT COUNT 1> -error: Type mismatch: a value of type `integer\[2\]' was expected instead of `@NegSem_060302_structured_types_012.RecordType' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_013 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_013 NegSem_060302_structured_types_013.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_013 { - - type record RecordType { - integer a, - integer b optional - } - - type set SetType { - integer a, - integer b optional - } - - type record length (1..2) of integer ShortIntegerList; - type record of integer IntegerList; - - type set length (1..2) of integer ShortUnorderedIntegerList; - type set of integer UnorderedIntegerList; - - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_013() runs on GeneralComp { - - var IntegerList v_list1:={1,-}; - var ShortIntegerList v_list2; - var RecordType v_rec1; - var UnorderedIntegerList v_ulist1:={1,-}; - var ShortUnorderedIntegerList v_ulist2; - var SetType v_set1; - - var integer v_matcher[2] := {1,-}; - - var boolean v_check1; - - v_list2:=v_list1; - v_rec1:=v_list2; - v_ulist2:=v_ulist1; - v_set1:=v_ulist2; - - v_check1 := match(v_set1,{ a:= 1, b:= -}); //mismatch between undefined and omitted elements - - } - - control{ - execute(TC_NegSem_060302_structured_types_013()); - } - +with { + extension "anytype F" } <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_013.RecordType' was expected instead of `@NegSem_060302_structured_types_013.ShortIntegerList' +error: Type mismatch: `@NegSem_060302_structured_types_011_importA.anytype' and `@NegSem_060302_structured_types_011_importB.anytype' are not compatible: No compatible union/CHOICE/anytype field found <END_RESULT> <RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_013.SetType' was expected instead of `@NegSem_060302_structured_types_013.ShortUnorderedIntegerList' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_014 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments between incompatible structures > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_014 NegSem_060302_structured_types_014.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_014 { - - type record RecordType { - integer a, - integer b optional, - integer c - } - - type record of integer IntegerList; - - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_014() runs on GeneralComp { - - var RecordType v_record := { 1, omit, 2}; - var IntegerList v_IntList; - var integer v_array[2]; - - v_array:=v_record; //assignment between incompatible types - - } - - control{ - execute(TC_NegSem_060302_structured_types_014()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `integer\[2\]' was expected instead of `@NegSem_060302_structured_types_014.RecordType' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_015 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments between incompatible structures > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_015 NegSem_060302_structured_types_015.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_015 { - - type record RecordType { - integer a, - integer b optional, - integer c - } - - type record of integer IntegerList; - - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_015() runs on GeneralComp { - - var RecordType v_record := { 1, omit, 2}; - var IntegerList v_IntList; - var integer v_array[2]; - - v_IntList:=v_record; //assignment between incompatible types - - } - - control{ - execute(TC_NegSem_060302_structured_types_015()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_015.IntegerList' was expected instead of `@NegSem_060302_structured_types_015.RecordType' +error: Type mismatch: `@NegSem_060302_structured_types_011_importA.anytype' and `integer' are not compatible: Type anytype is compatible only with other anytype types <END_RESULT> <END_TC> @@ -7872,61 +7437,7 @@ module NegSem_060302_structured_types_016 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `integer\[2\]' was expected instead of `@NegSem_060302_structured_types_016.SetType' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_017 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments between incompatible structures > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_017 NegSem_060302_structured_types_017.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_017 { - - type set SetType { - integer a, - integer b optional, - integer c - } - - type set of integer IntegerList; - - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_017() runs on GeneralComp { - - var SetType v_set := { a:= 1, b:= omit, c:= 2}; // value list not work with sets - var IntegerList v_IntList; - var integer v_array[2]; - - v_IntList:=v_set; //assignment between incompatible types - - } - - control{ - execute(TC_NegSem_060302_structured_types_017()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_017.IntegerList' was expected instead of `@NegSem_060302_structured_types_017.SetType' +error: Type mismatch: `integer\[2\]' and `@NegSem_060302_structured_types_016.SetType' are not compatible: set/SET and set of/SET OF types are compatible only with other set/SET set of/SET OF types <END_RESULT> <END_TC> @@ -7976,92 +7487,7 @@ module NegSem_060302_structured_types_018 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch: a value of type `integer\[3\]' was expected instead of `@NegSem_060302_structured_types_018.SetType' -<END_RESULT> - -<END_TC> -:exmp - -*---------------------------------------------------------------------* -:h3. NegSem_060302_structured_types_019 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that the IUT rejects assignments between incompatible structures > - -<COMPILE> - -<MODULE TTCN NegSem_060302_structured_types_019 NegSem_060302_structured_types_019.ttcn > -/*************************************************** - ** @version 0.0.1 - ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and lengths - ** @verdict pass reject - ***************************************************/ - -module NegSem_060302_structured_types_019 { - - type record RecordType { - integer a, - integer b optional - } - - type set SetType { - integer a, - integer b optional - } - - type record length (1..2) of integer ShortIntegerList; - type record of integer IntegerList; - - type set length (1..2) of integer ShortUnorderedIntegerList; - type set of integer UnorderedIntegerList; - - - type component GeneralComp { - } - - testcase TC_NegSem_060302_structured_types_019() runs on GeneralComp { - - var IntegerList v_list1:={1,-}; - var ShortIntegerList v_list2; - var RecordType v_rec1; - var UnorderedIntegerList v_ulist1:={1,-}; - var ShortUnorderedIntegerList v_ulist2; - var SetType v_set1; - - var integer v_matcher[2] := {1,-}; - - var boolean v_check1; - - v_list2:=v_list1; - v_rec1:=v_list2; //incompatible assignment according to TTCN-3:2012 - v_ulist2:=v_ulist1; - v_set1:=v_ulist2; //incompatible assignment according to TTCN-3:2012 - - v_check1 := (v_list2[0]==1); - - - if ( v_check1 ) - { - setverdict(pass); - } - else { - setverdict(fail); - } - } - - control{ - execute(TC_NegSem_060302_structured_types_019()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_019.RecordType' was expected instead of `@NegSem_060302_structured_types_019.ShortIntegerList' -<END_RESULT> -<RESULT COUNT 1> -error: Type mismatch: a value of type `@NegSem_060302_structured_types_019.SetType' was expected instead of `@NegSem_060302_structured_types_019.ShortUnorderedIntegerList' +error: Type mismatch: `integer\[3\]' and `@NegSem_060302_structured_types_018.SetType' are not compatible: set/SET and set of/SET OF types are compatible only with other set/SET set of/SET OF types <END_RESULT> <END_TC> diff --git a/conformance_test/core_language_tests/negative_tests/07-14_folder.script b/conformance_test/core_language_tests/negative_tests/07-14_folder.script index 1e59ff9fe51619d0f743d79d1755f51d0b37cd93..78466105ce9ac4b54875a97008d022ce8d75b49b 100644 --- a/conformance_test/core_language_tests/negative_tests/07-14_folder.script +++ b/conformance_test/core_language_tests/negative_tests/07-14_folder.script @@ -2173,58 +2173,6 @@ error: at or before token `\?': syntax error, unexpected '\?' <END_TC> :exmp -*---------------------------------------------------------------------* -:h3. NegSem_1101_ValueVars_002 negative test -.*---------------------------------------------------------------------* -:xmp tab=0. - -<TC - Ensure that partially initialized variables are evaluated correctly. > - -<COMPILE> -<EXECUTE_PARALLEL> - -<MODULE TTCN NegSem_1101_ValueVars_002 NegSem_1101_ValueVars_002.ttcn > -/***************************************************************** - ** @version 0.0.1 - ** @purpose 1:11.1, Ensure that partially initialized variables are evaluated correctly. - ** @verdict pass reject - *****************************************************************/ - -module NegSem_1101_ValueVars_002 { - - type component GeneralComp { - } - - type set IntegerSet { - integer a1 optional, - integer a2 optional, - integer a3 optional - }; - - testcase TC_NegSem_1101_ValueVars_002() runs on GeneralComp { - var IntegerSet v_set := {a1:=1,a2:=omit}; - - if ( v_set == {a1:=1,a2:=omit,a3:=3} ) { //attempted use of partially initialized variable - setverdict(pass); - } else { - setverdict(fail); - } - } - - control{ - execute(TC_NegSem_1101_ValueVars_002()); - } - -} -<END_MODULE> - -<RESULT COUNT 1> -Dynamic test case error: The left operand of comparison is an unbound optional value. -<END_RESULT> - -<END_TC> -:exmp - *---------------------------------------------------------------------* :h3. NegSyn_1101_ValueVars_001 negative test .*---------------------------------------------------------------------* diff --git a/conformance_test/core_language_tests/negative_tests/15_templates.script b/conformance_test/core_language_tests/negative_tests/15_templates.script index 0b98d15806ed42e68bb199edc0aa1498c702faa1..49e46e37c76a98cdc6a428b31420c9be1bf76d4a 100644 --- a/conformance_test/core_language_tests/negative_tests/15_templates.script +++ b/conformance_test/core_language_tests/negative_tests/15_templates.script @@ -860,7 +860,7 @@ module NegSem_150602_ReferencingRecordAndSetFields_001 { <END_MODULE> <RESULT COUNT 1> -Dynamic test case error: Copying an uninitialized/unsupported template of type @NegSem_150602_ReferencingRecordAndSetFields_001.MyRecordTwo. +Dynamic test case error: Copying an uninitialized/unsupported record/set template. <END_RESULT> <END_TC> @@ -938,7 +938,7 @@ module NegSem_150602_ReferencingRecordAndSetFields_003 { <END_MODULE> <RESULT COUNT 1> -Dynamic test case error: Copying an uninitialized/unsupported template of type @NegSem_150602_ReferencingRecordAndSetFields_003.MyRecordTwo. +Dynamic test case error: Copying an uninitialized/unsupported record/set template. <END_RESULT> <END_TC> @@ -949,7 +949,7 @@ Dynamic test case error: Copying an uninitialized/unsupported template of type @ .*---------------------------------------------------------------------* :xmp tab=0. -<TC - Ensure that complement lists on the right-hand side of an assignment are not acceped. > +<TC - Ensure that complement lists on the right-hand side of an assignment are not accepted. > <COMPILE> <EXECUTE_PARALLEL> @@ -957,7 +957,7 @@ Dynamic test case error: Copying an uninitialized/unsupported template of type @ <MODULE TTCN NegSem_150602_ReferencingRecordAndSetFields_004 NegSem_150602_ReferencingRecordAndSetFields_004.ttcn > /***************************************************************** ** @version 0.0.1 - ** @purpose 1:15.6.2, Ensure that complement lists on the right-hand side of an assignment are not acceped. + ** @purpose 1:15.6.2, Ensure that complement lists on the right-hand side of an assignment are not accepted. ** @verdict pass reject *****************************************************************/ @@ -1015,7 +1015,7 @@ module NegSem_150602_ReferencingRecordAndSetFields_004 { <END_MODULE> <RESULT COUNT 1> -Dynamic test case error: Copying an uninitialized/unsupported template of type @NegSem_150602_ReferencingRecordAndSetFields_004.MyRecordTwo. +Dynamic test case error: Copying an uninitialized/unsupported record/set template. <END_RESULT> <END_TC> diff --git a/conformance_test/core_language_tests/negative_tests/16-20_folders.script b/conformance_test/core_language_tests/negative_tests/16-20_folders.script index 9fe703ddb1c970a07283adddab448b9b0b0b7f2a..fa4a72937d0e78952e11411aaa68f148b7c9601f 100644 --- a/conformance_test/core_language_tests/negative_tests/16-20_folders.script +++ b/conformance_test/core_language_tests/negative_tests/16-20_folders.script @@ -1529,7 +1529,7 @@ module NegSem_160102_predefined_functions_034 { <END_MODULE> <RESULT COUNT 1> -Dynamic test case error: While RAW-encoding type '@NegSem_160102_predefined_functions_034.R': Encoding an unbound value. +Dynamic test case error: Performing a valueof or send operation on a non-specific integer template. <END_RESULT> <END_TC> diff --git a/conformance_test/core_language_tests/negative_tests/22_communication_operations.script b/conformance_test/core_language_tests/negative_tests/22_communication_operations.script index a828c4b688ef8985631c64dc652bba94eaac641d..a9ef1a9ca368dbd0f49532fc93f052375b419fd9 100644 --- a/conformance_test/core_language_tests/negative_tests/22_communication_operations.script +++ b/conformance_test/core_language_tests/negative_tests/22_communication_operations.script @@ -569,7 +569,7 @@ module NegSem_220201_SendOperation_006 { <END_MODULE> <RESULT COUNT 1> -Dynamic test case error: Text encoder: Encoding an unbound integer value. +Dynamic test case error: Performing a valueof or send operation on a non-specific integer template. <END_RESULT> <END_TC> @@ -935,7 +935,71 @@ module NegSem_220202_ReceiveOperation_003 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch in value redirect: A variable of type `integer' was expected instead of `charstring' +error: Type mismatch in value redirect: A variable of type `integer' or of a compatible type was expected instead of `charstring' +<END_RESULT> + +<END_TC> +:exmp + +*---------------------------------------------------------------------* +:h3. NegSem_220202_ReceiveOperation_004 negative test +.*---------------------------------------------------------------------* +:xmp tab=0. + +<TC - type mismatch in redirect assignment of message fields > + +<COMPILE> + +<MODULE TTCN NegSem_220202_ReceiveOperation_004 NegSem_220202_ReceiveOperation_004.ttcn > +/****************************************************************************** + ** @version 0.0.1 + ** @purpose 1:22.2.2, type mismatch in redirect assignment of message fields + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The variable or formal parameter shall be type compatible with the type on the +// right hand side of the assignment symbol. + +module NegSem_220202_ReceiveOperation_004 { + type record R + { + integer field1[2], + charstring field2 + } + + type port P message { + inout R; + } with {extension "internal"} + + type component GeneralComp + { + port P p; + } + + testcase TC_NegSem_220202_ReceiveOperation_004() runs on GeneralComp { + var integer v_int; + var bitstring v_str; + + connect(self:p, self:p); + + p.send(R:{ field1 := { 1, 2 }, field2 := "abc" }); + alt { + [] p.receive(R:?) -> value ( v_int := field1[1], v_str := field2) { + setverdict (pass); + } + [] p.receive { setverdict(pass); } + } + } + + control { + execute(TC_NegSem_220202_ReceiveOperation_004(), 5.0); + } +} +<END_MODULE> + +<RESULT COUNT 1> +error: Type mismatch in value redirect: A variable of type `charstring' or of a compatible type was expected instead of `bitstring' <END_RESULT> <END_TC> @@ -1805,7 +1869,70 @@ module NegSem_220203_TriggerOperation_003 { <END_MODULE> <RESULT COUNT 1> -error: Type mismatch in value redirect: A variable of type `integer' was expected instead of `charstring' +error: Type mismatch in value redirect: A variable of type `integer' or of a compatible type was expected instead of `charstring' +<END_RESULT> + + +<END_TC> +:exmp + +*---------------------------------------------------------------------* +:h3. NegSem_220203_TriggerOperation_004 negative test +.*---------------------------------------------------------------------* +:xmp tab=0. + +<TC - type mismatch in redirect assignment of message fields > + +<COMPILE> + +<MODULE TTCN NegSem_220203_TriggerOperation_004 NegSem_220203_TriggerOperation_004.ttcn > +/****************************************************************************** + ** @version 0.0.1 + ** @purpose 1:22.2.3, type mismatch in redirect assignment of message fields + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Rules in clause 22.2.2 shall apply. +// The variable or formal parameter shall be type compatible with the type on the +// right hand side of the assignment symbol. + +module NegSem_220203_TriggerOperation_004 { + type record R { + integer field1[2], + charstring field2 + } + + type port P message { + inout R; + } with {extension "internal"} + + type component GeneralComp { + port P p; + } + + testcase TC_NegSem_220203_TriggerOperation_004() runs on GeneralComp { + var integer v_int; + var bitstring v_str; + + connect(self:p, self:p); + p.send(R:{ field1 := { 1, 2 }, field2 := "abc" }); + + alt { + [] p.trigger(R:?) -> value ( v_int := field1[1], v_str := field2) { + setverdict (pass); + } + } + } + + control { + execute(TC_NegSem_220203_TriggerOperation_004(), 5.0); + } +} +<END_MODULE> + +<RESULT COUNT 1> +error: Type mismatch in value redirect: A variable of type `charstring' or of a compatible type was expected instead of `bitstring' <END_RESULT> diff --git a/conformance_test/core_language_tests/negative_tests/SAtester.pl b/conformance_test/core_language_tests/negative_tests/SAtester.pl index d219a90a0ea70353a3a640fa9dba4e435357f16f..647762e9f3dabd8e3d4e7c0607f3015015ec5a54 100755 --- a/conformance_test/core_language_tests/negative_tests/SAtester.pl +++ b/conformance_test/core_language_tests/negative_tests/SAtester.pl @@ -41,7 +41,7 @@ my $sa_printHelp_cmd = 0; # Whether to show detailed info or not my $sa_printHelp_doc = 0; # Use function-test runtime or not -my $sa_titanRuntime2 = 0; +my $sa_titanRuntime2 = 1; # Enable coverage or not my $sa_coverageEnabled = 0; # Files existed before a test case execution diff --git a/conformance_test/core_language_tests/negative_tests/run_test_all b/conformance_test/core_language_tests/negative_tests/run_test_all index 44552c41318295a0c3a873d99b5e686f16c072ba..25a6bbf24d8d7dec247b30dc2e3f1c5a94e0e2db 100755 --- a/conformance_test/core_language_tests/negative_tests/run_test_all +++ b/conformance_test/core_language_tests/negative_tests/run_test_all @@ -12,5 +12,5 @@ done echo "Batch execution of SA tests: creating 1 report for each script file" echo "You must have a symlink in this directory named perl and pointing to perl 5.6.0 or higher" -echo "./perl ../../Tools/SAtester.pl $SCRIPTFLAGS -log SA_log.report *.script" -./perl ../../../function_test/Tools/SAtester.pl $SCRIPTFLAGS -log SA_log.report *.script +echo "./perl SAtester.pl $SCRIPTFLAGS -log SA_log.report *.script" +./perl SAtester.pl $SCRIPTFLAGS -log SA_log.report *.script diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_001.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_001.ttcn index c14305def8d6dc3966d294968b11ee85f2d89f6a..ff5ccdccee5b60eb2eda82eab9c2eed85187c0ce 100644 --- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_001.ttcn +++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_001.ttcn @@ -36,7 +36,7 @@ module NegSem_050401_top_level_001 { if (match(p_rec, {1, 2})) { setverdict(pass); } else { - setverdict(fail, "p_rec value not matching ", p_rec, {1, 2}); + setverdict(fail, "p_rec value not matching ", p_rec, R1:{1, 2}); } } diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_002.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_002.ttcn index 71f4eed862095bab61d17c9cd9598ed6f098e19a..9ae1cbdc96bd1b5d24b91df726b75010c878a962 100644 --- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_002.ttcn +++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_002.ttcn @@ -41,7 +41,7 @@ module NegSem_050401_top_level_002 { var R1 v_rec; f(v_rec); if ( match(v_rec, {1, 2})) { setverdict(pass); } - else { setverdict(fail, "p_rec value not matching ", v_rec, {1, 2}); } + else { setverdict(fail, "p_rec value not matching ", v_rec, R1:{1, 2}); } } control{ diff --git a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_003.ttcn b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_003.ttcn index 0d4979a85c68dc1d157e5436a671363384e454b6..5002927d9578f467cb1ccd0690171466bd5ecbfa 100644 --- a/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_003.ttcn +++ b/conformance_test/core_language_tests/positive_tests/05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/NegSem_050401_top_level_003.ttcn @@ -34,7 +34,7 @@ module NegSem_050401_top_level_003 { function f(inout R2 p_rec) { if (match(p_rec, {1, 2})) { setverdict(pass); } - else { setverdict(fail, "p_rec value not matching ", p_rec, {1, 2}); } + else { setverdict(fail, "p_rec value not matching ", p_rec, R1:{1, 2}); } } testcase TC_NegSem_050401_top_level_003() runs on GeneralComp { diff --git a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011_importB.ttcn b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011_importB.ttcn index feac2f9eaf10156df9aa6546ad6f3e14b88015f6..1f06fdc2efceb98379e3a1330982a0403c948b0f 100644 --- a/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011_importB.ttcn +++ b/conformance_test/core_language_tests/positive_tests/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011_importB.ttcn @@ -18,4 +18,7 @@ module NegSem_060302_structured_types_011_importB { type integer F; type anytype Atype; } +with { + extension "anytype F" +} diff --git a/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc b/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.cc deleted file mode 100644 index 952fdc8f8996f52ed5544fc9d3706c695c1014dd..0000000000000000000000000000000000000000 --- a/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.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 R4D -// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016 - -// Copyright (c) 2000-2016 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/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh b/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh deleted file mode 100644 index 9409aa67cce781c2e4dbe3aebae3a09f3d753ebc..0000000000000000000000000000000000000000 --- a/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort.hh +++ /dev/null @@ -1,44 +0,0 @@ -// 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-2016 Ericsson Telecom AB - -// You may modify this file. Add your attributes and prototypes of your -// member functions here. - -#ifndef loopbackPort_HH -#define loopbackPort_HH - -#include "Sem_0902_Communication_ports_001.hh" - -namespace Sem__0902__Communication__ports__001 { - -class loopbackPort : public loopbackPort_BASE { -public: - loopbackPort(const char *par_port_name = NULL); - ~loopbackPort(); - - 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/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc b/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.cc deleted file mode 100644 index 25fe4a81834d48af62d1d4cba1a40dc02a7d2b58..0000000000000000000000000000000000000000 --- a/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.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 R4D -// for eadrkir (eadrkir@eadrkir-VirtualBox) on Mon Apr 18 14:18:01 2016 - -// Copyright (c) 2000-2016 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/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh b/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh deleted file mode 100644 index c11ec566028e269a2d7021defe77214d32a47a7d..0000000000000000000000000000000000000000 --- a/conformance_test/core_language_tests/positive_tests/09_test_configurations/0902_test_system_interface/loopbackPort1.hh +++ /dev/null @@ -1,44 +0,0 @@ -// 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-2016 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/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/NegSem_220202_ReceiveOperation_023.ttcn b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/NegSem_220202_ReceiveOperation_023.ttcn index 6e2a6bcb612234b43b309fe8f54b0b3b911bf47d..59a01ac8273809b18c6554c3a47e526f9a83f301 100644 --- a/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/NegSem_220202_ReceiveOperation_023.ttcn +++ b/conformance_test/core_language_tests/positive_tests/22_communication_operations/2202_message_based_communication/220202_receive_operation/NegSem_220202_ReceiveOperation_023.ttcn @@ -23,13 +23,13 @@ module NegSem_220202_ReceiveOperation_023 { type record R { integer id, - octetstring payload + bitstring payload } type integer I with { variant "32 bit"}; type record Wrapped { - integer num + octetstring num } with { variant ""} type port P message { @@ -44,7 +44,7 @@ module NegSem_220202_ReceiveOperation_023 { var I input := 5; var Wrapped v_res; - var R v_rec := { id := 0, payload := bit2oct(encvalue(input)) }; + var R v_rec := { id := 0, payload := encvalue(input) }; connect(self:p, self:p); diff --git a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg index 14c1436c19fa7314306bca94bcfa68e6303d3565..f8b5d362dae3a111ec231d5c312a77e3171e2f06 100644 --- a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg +++ b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.cfg @@ -87,6 +87,7 @@ Sem_050401_top_level_013.control Sem_050401_top_level_014.control Sem_050401_top_level_015.control Sem_050401_top_level_016.control +Sem_050401_top_level_017.control Sem_050401_top_level_018.control Sem_050401_top_level_019.control Sem_050401_top_level_020.control @@ -269,6 +270,7 @@ Sem_050402_actual_parameters_179.control Sem_050402_actual_parameters_180.control Sem_050402_actual_parameters_182.control Sem_050402_actual_parameters_183.control +Sem_050402_actual_parameters_184.control Sem_050402_actual_parameters_185.control Sem_050402_actual_parameters_186.control Sem_050402_actual_parameters_187.control @@ -423,6 +425,7 @@ Sem_060207_arrays_006.control Sem_060207_arrays_007.control Sem_060207_arrays_008.control Sem_060207_arrays_009.control +Sem_060207_arrays_010.control Sem_060207_arrays_011.control Sem_060207_arrays_012.control Sem_060207_arrays_013.control @@ -734,7 +737,7 @@ Sem_160102_predefined_functions_016.control Sem_160102_predefined_functions_017.control Sem_160102_predefined_functions_018.control Sem_160102_predefined_functions_021.control -//Sem_160102_predefined_functions_025.control +Sem_160102_predefined_functions_025.control Sem_160102_predefined_functions_026.control Sem_160102_predefined_functions_027.control Sem_160102_predefined_functions_028.control @@ -947,6 +950,8 @@ Sem_220202_ReceiveOperation_002.control Sem_220202_ReceiveOperation_003.control Sem_220202_ReceiveOperation_006.control Sem_220202_ReceiveOperation_007.control +Sem_220202_ReceiveOperation_009.control +Sem_220202_ReceiveOperation_010.control Sem_220202_ReceiveOperation_011.control Sem_220202_ReceiveOperation_012.control Sem_220202_ReceiveOperation_013.control @@ -959,6 +964,8 @@ Sem_220203_TriggerOperation_002.control Sem_220203_TriggerOperation_003.control Sem_220203_TriggerOperation_006.control Sem_220203_TriggerOperation_007.control +Sem_220203_TriggerOperation_009.control +Sem_220203_TriggerOperation_010.control Sem_220203_TriggerOperation_011.control Sem_220203_TriggerOperation_012.control Sem_220203_TriggerOperation_013.control diff --git a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd index 7270a10d92191e8e1a383a9b0070fe453b08b735..9aaac7c99f01eb8040e5c9de11746c193fc60d01 100644 --- a/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd +++ b/conformance_test/core_language_tests/positive_tests/pos_conf_tests.tpd @@ -426,7 +426,7 @@ <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_014.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_014.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_015.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_015.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_016.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_016.ttcn"/> -<!-- <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_017.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_017.ttcn"/>--> + <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_017.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_017.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_018.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_018.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_019.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_019.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_020.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050401_formal_parameters/050401_top_level/Sem_050401_top_level_020.ttcn"/> @@ -767,7 +767,7 @@ <!-- <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_181.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_181.ttcn"/>--> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_182.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_182.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_183.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_183.ttcn"/> -<!-- <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_184.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_184.ttcn"/>--> + <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_184.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_184.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_185.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_185.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_186.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_186.ttcn"/> <FileResource projectRelativePath="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_187.ttcn" relativeURI="05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_187.ttcn"/> @@ -1149,7 +1149,7 @@ <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_007.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_007.ttcn"/> <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_008.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_008.ttcn"/> <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_009.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_009.ttcn"/> -<!-- <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_010.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_010.ttcn"/>--> + <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_010.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_010.ttcn"/> <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_011.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_011.ttcn"/> <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_012.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_012.ttcn"/> <FileResource projectRelativePath="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_013.ttcn" relativeURI="06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_013.ttcn"/> @@ -2108,7 +2108,7 @@ <!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_022.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_022.ttcn"/>--> <!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_023.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_023.ttcn"/>--> <!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_024.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_024.ttcn"/>--> -<!-- <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_025.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_025.ttcn"/>--> + <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_025.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_025.ttcn"/> <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_026.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_026.ttcn"/> <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_027.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_027.ttcn"/> <FileResource projectRelativePath="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_028.ttcn" relativeURI="16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_028.ttcn"/> @@ -2640,8 +2640,8 @@ <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_006.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_006.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_007.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_007.ttcn"/> <!-- <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_008.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_008.ttcn"/>--> -<!-- <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_009.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_009.ttcn"/>--> -<!-- <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_010.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_010.ttcn"/>--> + <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_009.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_009.ttcn"/> + <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_010.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_010.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_011.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_011.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_012.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_012.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_013.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_013.ttcn"/> @@ -2692,8 +2692,8 @@ <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_006.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_006.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_007.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_007.ttcn"/> <!-- <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_008.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_008.ttcn"/>--> -<!-- <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_009.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_009.ttcn"/>--> -<!-- <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_010.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_010.ttcn"/>--> + <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_009.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_009.ttcn"/> + <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_010.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_010.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_011.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_011.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_012.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_012.ttcn"/> <FileResource projectRelativePath="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_013.ttcn" relativeURI="22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_013.ttcn"/> diff --git a/conformance_test/xml_tests/negative_test/neg_xml_tests.script b/conformance_test/xml_tests/negative_test/neg_xml_tests.script index e5b19a62c65a2d742f48ccbf627833993fb726aa..83fe6bd14855189e3ab2c71a87bd1e3f125b9f91 100644 --- a/conformance_test/xml_tests/negative_test/neg_xml_tests.script +++ b/conformance_test/xml_tests/negative_test/neg_xml_tests.script @@ -759,6 +759,164 @@ error: 1 is not a valid value for type `integer' which has subtype \(6..10\) <END_TC> :exmp +*---------------------------------------------------------------------* +:h2. Neg_060105_enumeration_004 negative test +.*---------------------------------------------------------------------* +:xmp tab=0. + +<TC - Verify if tool rejects validation in case of restricted value due xsd type declaration. > + +<COMPILE> + +<MODULE TTCN Neg_060105_enumeration_004 Neg_060105_enumeration_004.ttcn > +/****************************************************************************** + ** @version 0.0.1 + ** @purpose 9:6.1.5, disallow enumeration values removed by restriction + ** @verdict pass reject + ***************************************************/ +module Neg_060105_enumeration_004 { + + import from schema_Neg_060105_enumeration_004 language "XSD" all; + + template C2 m_msg := uNKNOWN; + + external function enc_MyType(in C2 pdu) return octetstring + with { extension "prototype (convert) encode(XER:XER_EXTENDED)" } + + external function dec_MyType(in octetstring stream) return C2 + with { extension "prototype (convert) decode(XER:XER_EXTENDED)" } + + /** + * @desc The timeout given in seconds after which the test case will be stopped. + */ + modulepar float PX_TC_EXECUTION_TIMEOUT := 5.0; + + type universal charstring Raw; + + type port P message { + inout C2, Raw; + } with {extension "internal"} + + type component Comp { + port P p; + port P p1; + } + + testcase TC_Neg_060105_enumeration_004() runs on Comp system Comp { + connect(self:p, self:p1); + + // encode the message + p.send(oct2unichar(enc_MyType(valueof(m_msg)))); + log("template should either be rejected by compiler or by runtime latest while encoding"); + + setverdict(fail, "Invalid template should not be encoded"); + + } + + control { + execute(TC_Neg_060105_enumeration_004(), PX_TC_EXECUTION_TIMEOUT); + } + +} +<END_MODULE> + +<MODULE TTCN schema_Neg_060105_enumeration_004 schema_Neg_060105_enumeration_004.ttcn > +/******************************************************************************* +* Copyright (c) 2000-2016 Ericsson Telecom AB +* +* XSD to TTCN-3 Translator version: CRL 113 200/5 R5B01 +* +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +*******************************************************************************/ +// +// File: schema_Neg_060105_enumeration_004.ttcn +// Description: +// References: +// Rev: +// Prodnr: +// Updated: Mon Oct 10 13:56:48 2016 +// Contact: http://ttcn.ericsson.se +// +//////////////////////////////////////////////////////////////////////////////// +// Generated from file(s): +// - Neg_060105_enumeration_004.xsd +// /* xml version = "1.0" encoding = "UTF-8" */ +// /* targetnamespace = "schema:Neg_060105_enumeration_004" */ +//////////////////////////////////////////////////////////////////////////////// +// Modification header(s): +//----------------------------------------------------------------------------- +// Modified by: +// Modification date: +// Description: +// Modification contact: +//------------------------------------------------------------------------------ +//////////////////////////////////////////////////////////////////////////////// + + +module schema_Neg_060105_enumeration_004 { + + +import from XSD all; + + +type CType C +with { + variant "element"; +}; + + +type enumerated CType +{ + b2, + uNKNOWN +} +with { + variant "text 'b2' as capitalized"; + variant "text 'uNKNOWN' as capitalized"; +}; + + +type enumerated CTypeEnum +{ + b2 +} +with { + variant "text 'b2' as capitalized"; +}; + + +type CTypeEnum C2 +with { + variant "element"; +}; + + +} +with { + encode "XML"; + variant "namespace as 'schema:Neg_060105_enumeration_004' prefix 'ns'"; + variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'"; +} +<END_MODULE> + +<MODULE TTCN XSD XSD.ttcn > +xsd_tmp_keyword +<END_MODULE> + +<MODULE TTCN UsefulTtcn3Types UsefulTtcn3Types.ttcn > +usefultypes_tmp_keyword +<END_MODULE> + +<RESULT COUNT> +error: There is no local or imported definition with name `uNKNOWN' +<END_RESULT> + +<END_TC> +:exmp + *---------------------------------------------------------------------* :h2. Neg_060109_minexclusive_001 negative test .*---------------------------------------------------------------------* @@ -2656,7 +2814,7 @@ module schema_Neg_060504_date_001 { import from XSD all; -type XSD.DateTime T1 +type XSD.Date T1 with { variant "name as uncapitalized"; }; @@ -2686,7 +2844,7 @@ usefultypes_tmp_keyword <END_MODULE> <RESULT COUNT> -error: "99-04-12" is not a valid value for type `charstring' which has subtype pattern \(\(-\([1-9][0-9]#\(0,\)\)#\(,1\)\)#\(,1\)[0-9]#4-\(0[1-9]|1[0-2]\)-\(0[1-9]|[12][0-9]|3[01]\)T\(\([01][0-9]|2[0-3]\):\([0-5][0-9]\):\([0-5][0-9]\)\(.[0-9]#\(1,\)\)#\(,1\)|24:00:00\(.0#\(1,\)\)#\(,1\)\)\(Z|[+-]\(\(0[0-9]|1[0-3]\):[0-5][0-9]|14:00\)\)#\(,1\)\) +error: "99-04-12" is not a valid value for type `charstring' which has subtype pattern \(\(-\([1-9][0-9]#\(0,\)\)#\(,1\)\)#\(,1\)[0-9]#4-\(0[1-9]|1[0-2]\)-\(0[1-9]|[12][0-9]|3[01]\)\(Z|[+-]\(\(0[0-9]|1[0-3]\):[0-5][0-9]|14:00\)\)#\(,1\)\) <END_RESULT> <END_TC> @@ -6268,6 +6426,120 @@ error: -1 is not a valid value for type `integer' which has subtype \(0..infinit <END_TC> :exmp +*---------------------------------------------------------------------* +:h2. Neg_A_ttcn3_module_xsd_021 negative test +.*---------------------------------------------------------------------* +:xmp tab=0. + +<TC - Ensure the builtin XSD type Long allows only valid values > + +<COMPILE> + +<MODULE TTCN Neg_A_ttcn3_module_xsd_021 Neg_A_ttcn3_module_xsd_021.ttcn > +/****************************************************************************** + ** @version 0.0.1 + ** @purpose 9:A, Ensure the builtin XSD type Long allows only valid values + ** @verdict pass reject + ***************************************************/ +module Neg_A_ttcn3_module_xsd_021 { + + import from XSD all; + + template Long m_msg := "1"; + + /** + * @desc The timeout given in seconds after which the test case will be stopped. + */ + modulepar float PX_TC_EXECUTION_TIMEOUT := 5.0; + + type component C { + } + + testcase TC_Neg_A_ttcn3_module_xsd_021() runs on C system C { + // set a verdict before since valueof should throw error + setverdict(fail, "Should not be able to create an invalid value of the given built-in XSD type", m_msg); + log(valueof(m_msg)); // if testcase is compiling, valueof is expected to throw an testcase error since the value is invalid + } + + control { + execute(TC_Neg_A_ttcn3_module_xsd_021(), PX_TC_EXECUTION_TIMEOUT); + } + +} +<END_MODULE> + +<MODULE TTCN XSD XSD.ttcn > +xsd_tmp_keyword +<END_MODULE> + +<MODULE TTCN UsefulTtcn3Types UsefulTtcn3Types.ttcn > +usefultypes_tmp_keyword +<END_MODULE> + +<RESULT COUNT> +error: integer value was expected +<END_RESULT> + +<END_TC> +:exmp + +*---------------------------------------------------------------------* +:h2. Neg_A_ttcn3_module_xsd_022 negative test +.*---------------------------------------------------------------------* +:xmp tab=0. + +<TC - Ensure the builtin XSD type UnsignedLong allows only valid values > + +<COMPILE> + +<MODULE TTCN Neg_A_ttcn3_module_xsd_022 Neg_A_ttcn3_module_xsd_022.ttcn > +/****************************************************************************** + ** @version 0.0.1 + ** @purpose 9:A, Ensure the builtin XSD type UnsignedLong allows only valid values + ** @verdict pass reject + ***************************************************/ +module Neg_A_ttcn3_module_xsd_022 { + + import from XSD all; + + template UnsignedLong m_msg := -3; + + /** + * @desc The timeout given in seconds after which the test case will be stopped. + */ + modulepar float PX_TC_EXECUTION_TIMEOUT := 5.0; + + type component C { + } + + testcase TC_Neg_A_ttcn3_module_xsd_022() runs on C system C { + // set a verdict before since valueof should throw error + setverdict(fail, "Should not be able to create an invalid value of the given built-in XSD type", m_msg); + log(valueof(m_msg)); // if testcase is compiling, valueof is expected to throw an testcase error since the value is invalid + } + + control { + execute(TC_Neg_A_ttcn3_module_xsd_022(), PX_TC_EXECUTION_TIMEOUT); + } + +} +<END_MODULE> + +<MODULE TTCN XSD XSD.ttcn > +xsd_tmp_keyword +<END_MODULE> + +<MODULE TTCN UsefulTtcn3Types UsefulTtcn3Types.ttcn > +usefultypes_tmp_keyword +<END_MODULE> + +<RESULT COUNT> +error: -3 is not a valid value for type `integer' which has subtype \(0..18446744073709551615\) +<END_RESULT> + +<END_TC> +:exmp + *---------------------------------------------------------------------* :h2. Neg_A_ttcn3_module_xsd_023 negative test .*---------------------------------------------------------------------* diff --git a/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn b/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn index 4d30f51149652b8fe685fba8564fb870923214eb..c0c60f67d6f79128af8cc72078d206fdd6d465c3 100644 --- a/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn +++ b/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn @@ -43,7 +43,7 @@ module Pos_060107_mininclusive_004 { testcase TC_Pos_060107_mininclusive_004() runs on C system C { var Raw v_rcv; - var Raw v_Raw:="<ns052:e1 xmlns:ns052='schema:Pos_060107_mininclusive_004'>inf</ns052:e1>\n"; + var Raw v_Raw:="<ns052:e1 xmlns:ns052='schema:Pos_060107_mininclusive_004'>INF</ns052:e1>\n"; connect(self:p, self:p1); diff --git a/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn b/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn index add303cc883535d6f61b176865dbd907a4129468..8339a190b5f4e27b89d63bf7c43caccef4b648cf 100644 --- a/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn +++ b/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn @@ -43,7 +43,7 @@ module Pos_060107_mininclusive_005 { testcase TC_Pos_060107_mininclusive_005() runs on C system C { var Raw v_rcv; - var Raw v_Raw:="<ns053:e1 xmlns:ns053='schema:Pos_060107_mininclusive_005'>nan</ns053:e1>\n"; + var Raw v_Raw:="<ns053:e1 xmlns:ns053='schema:Pos_060107_mininclusive_005'>NaN</ns053:e1>\n"; connect(self:p, self:p1); diff --git a/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn b/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn index bc375b419d9c45b770c6d5c0fcdadea0385a8a12..2761f19e0e85603135c6dcb5d6eeafeeb4cec43e 100644 --- a/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn +++ b/conformance_test/xml_tests/positive_tests/ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn @@ -43,7 +43,7 @@ module Pos_060108_maxinclusive_004 { testcase TC_Pos_060108_maxinclusive_004() runs on C system C { var Raw v_rcv; - var Raw v_Raw:="<ns057:e1 xmlns:ns057='schema:Pos_060108_maxinclusive_004'>nan</ns057:e1>\n"; + var Raw v_Raw:="<ns057:e1 xmlns:ns057='schema:Pos_060108_maxinclusive_004'>NaN</ns057:e1>\n"; connect(self:p, self:p1); diff --git a/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/UsefulTtcn3Types.ttcn b/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/UsefulTtcn3Types.ttcn index fa840aa04d61546def50071c4554b979a31a7943..9690e0ca53228af50a35625297660b8fd9a5a550 100644 --- a/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/UsefulTtcn3Types.ttcn +++ b/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/UsefulTtcn3Types.ttcn @@ -1,7 +1,7 @@ /******************************************************************************* * Copyright (c) 2000-2016 Ericsson Telecom AB * -* XSD to TTCN-3 Translator version: CRL 113 200/5 R5A +* XSD to TTCN-3 Translator version: CRL 113 200/5 R5B01 * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -33,9 +33,9 @@ module UsefulTtcn3Types { type integer unsignedlong (0 .. 4294967295) with { variant "/*unsigned 32 bit*/" }; - type integer longlong /* ( -9223372036854775808 .. 9223372036854775807 ) */ with { variant "/*64 bit*/" }; + type integer longlong ( -9223372036854775808 .. 9223372036854775807 ) with { variant "/*64 bit*/" }; - type integer unsignedlonglong /* ( 0 .. 18446744073709551615 ) */ with { variant "/*unsigned 64 bit*/" }; + type integer unsignedlonglong ( 0 .. 18446744073709551615 ) with { variant "/*unsigned 64 bit*/" }; type float IEEE754float with { variant "/*IEEE754 float*/" }; diff --git a/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Neg_060105_enumeration_004.ttcn b/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Neg_060105_enumeration_004.ttcn index 7880a71fcf7c2a38935c25e9cf5aefc70fa5439b..ffdb5a5787df457aa61db5d2bf64cf02bc5909e3 100644 --- a/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Neg_060105_enumeration_004.ttcn +++ b/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Neg_060105_enumeration_004.ttcn @@ -1,7 +1,7 @@ /******************************************************************************* * Copyright (c) 2000-2016 Ericsson Telecom AB * -* XSD to TTCN-3 Translator version: CRL 113 200/5 R5A +* XSD to TTCN-3 Translator version: CRL 113 200/5 R5B01 * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -14,7 +14,7 @@ // References: // Rev: // Prodnr: -// Updated: Thu Jul 7 12:35:41 2016 +// Updated: Mon Oct 10 13:56:48 2016 // Contact: http://ttcn.ericsson.se // //////////////////////////////////////////////////////////////////////////////// @@ -58,12 +58,10 @@ with { type enumerated CTypeEnum { - b2, - uNKNOWN + b2 } with { variant "text 'b2' as capitalized"; - variant "text 'uNKNOWN' as capitalized"; }; diff --git a/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Pos_060105_enumeration_006.ttcn b/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Pos_060105_enumeration_006.ttcn index 69fd6414e1a5fefb25a9ce97bc379591d9f043db..46266a907a52524d794498560d5b44a90840f3e7 100644 --- a/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Pos_060105_enumeration_006.ttcn +++ b/conformance_test/xml_tests/positive_tests/ATS/xsd_converted/schema_Pos_060105_enumeration_006.ttcn @@ -1,7 +1,7 @@ /******************************************************************************* * Copyright (c) 2000-2016 Ericsson Telecom AB * -* XSD to TTCN-3 Translator version: CRL 113 200/5 R5A +* XSD to TTCN-3 Translator version: CRL 113 200/5 R5B01 * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -14,7 +14,7 @@ // References: // Rev: // Prodnr: -// Updated: Thu Jul 7 12:35:41 2016 +// Updated: Mon Oct 10 13:59:02 2016 // Contact: http://ttcn.ericsson.se // //////////////////////////////////////////////////////////////////////////////// @@ -58,12 +58,10 @@ with { type enumerated CTypeEnum { - b2, - uNKNOWN + b2 } with { variant "text 'b2' as capitalized"; - variant "text 'uNKNOWN' as capitalized"; }; diff --git a/conformance_test/xml_tests/positive_tests/XML_tests.cfg b/conformance_test/xml_tests/positive_tests/XML_tests.cfg index 5935a9d24642ca5dace5574bf595c799eabd420a..05e8137e5c6fbfc635ebb12db4faf93a92884768 100644 --- a/conformance_test/xml_tests/positive_tests/XML_tests.cfg +++ b/conformance_test/xml_tests/positive_tests/XML_tests.cfg @@ -17,6 +17,7 @@ Pos_050103_imports_001.control Pos_050104_attributes_of_the_xsd_schema_element_001.control Pos_050104_attributes_of_the_xsd_schema_element_002.control Pos_050104_attributes_of_the_xsd_schema_element_003.control +Pos_050104_attributes_of_the_xsd_schema_element_004.control Pos_050104_attributes_of_the_xsd_schema_element_005.control Pos_050104_attributes_of_the_xsd_schema_element_006.control Pos_050202_name_conversion_rules_001.control @@ -59,9 +60,12 @@ Pos_060105_enumeration_006.control Pos_060107_mininclusive_001.control Pos_060107_mininclusive_002.control Pos_060107_mininclusive_003.control +Pos_060107_mininclusive_004.control +Pos_060107_mininclusive_005.control Pos_060108_maxinclusive_001.control Pos_060108_maxinclusive_002.control Pos_060108_maxinclusive_003.control +Pos_060108_maxinclusive_004.control Pos_060109_minexclusive_001.control Pos_060109_minexclusive_002.control Pos_060110_maxexclusive_001.control @@ -242,6 +246,8 @@ Pos_A_ttcn3_module_xsd_017.control Pos_A_ttcn3_module_xsd_018.control Pos_A_ttcn3_module_xsd_019.control Pos_A_ttcn3_module_xsd_020.control +Pos_A_ttcn3_module_xsd_021.control +Pos_A_ttcn3_module_xsd_022.control Pos_A_ttcn3_module_xsd_023.control Pos_A_ttcn3_module_xsd_024.control Pos_A_ttcn3_module_xsd_025.control diff --git a/conformance_test/xml_tests/positive_tests/XML_tests.tpd b/conformance_test/xml_tests/positive_tests/XML_tests.tpd index b3df439dd32971bdd643154198fb4eaf977754cd..987055f5fcb6d30c1250e793637b418a1b41362d 100644 --- a/conformance_test/xml_tests/positive_tests/XML_tests.tpd +++ b/conformance_test/xml_tests/positive_tests/XML_tests.tpd @@ -592,8 +592,8 @@ <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_002.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_002.ttcn"/> <FileResource projectRelativePath="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_003/Pos_050104_attributes_of_the_xsd_schema_element_003.ttcn" relativeURI="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_003/Pos_050104_attributes_of_the_xsd_schema_element_003.ttcn"/> <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_003.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_003.ttcn"/> -<!-- <FileResource projectRelativePath="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_004/Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn" relativeURI="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_004/Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn"/> - <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn"/>--> + <FileResource projectRelativePath="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_004/Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn" relativeURI="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_004/Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn"/> + <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_004.ttcn"/> <FileResource projectRelativePath="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_005/Pos_050104_attributes_of_the_xsd_schema_element_005.ttcn" relativeURI="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_005/Pos_050104_attributes_of_the_xsd_schema_element_005.ttcn"/> <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_005.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_050104_attributes_of_the_xsd_schema_element_005.ttcn"/> <FileResource projectRelativePath="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_006/Pos_050104_attributes_of_the_xsd_schema_element_006.ttcn" relativeURI="ATS/05_mapping_xml_schemas/0501_namespaces/050104_attributes/Pos_050104_attributes_of_the_xsd_schema_element_006/Pos_050104_attributes_of_the_xsd_schema_element_006.ttcn"/> @@ -693,18 +693,18 @@ <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060107_mininclusive_002.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060107_mininclusive_002.ttcn"/> <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_003/Pos_060107_mininclusive_003.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_003/Pos_060107_mininclusive_003.ttcn"/> <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060107_mininclusive_003.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060107_mininclusive_003.ttcn"/> -<!-- <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn"/> - <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060107_mininclusive_004.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060107_mininclusive_004.ttcn"/>--> -<!-- <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn"/> - <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060107_mininclusive_005.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060107_mininclusive_005.ttcn"/>--> + <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_004/Pos_060107_mininclusive_004.ttcn"/> + <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060107_mininclusive_004.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060107_mininclusive_004.ttcn"/> + <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060107_mininclusive/Pos_060107_mininclusive_005/Pos_060107_mininclusive_005.ttcn"/> + <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060107_mininclusive_005.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060107_mininclusive_005.ttcn"/> <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_001/Pos_060108_maxinclusive_001.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_001/Pos_060108_maxinclusive_001.ttcn"/> <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060108_maxinclusive_001.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060108_maxinclusive_001.ttcn"/> <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_002/Pos_060108_maxinclusive_002.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_002/Pos_060108_maxinclusive_002.ttcn"/> <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060108_maxinclusive_002.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060108_maxinclusive_002.ttcn"/> <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_003/Pos_060108_maxinclusive_003.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_003/Pos_060108_maxinclusive_003.ttcn"/> <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060108_maxinclusive_003.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060108_maxinclusive_003.ttcn"/> -<!-- <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn"/> - <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060108_maxinclusive_004.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060108_maxinclusive_004.ttcn"/>--> + <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060108_maxinclusive/Pos_060108_maxinclusive_004/Pos_060108_maxinclusive_004.ttcn"/> + <FileResource projectRelativePath="ATS/xsd_converted/schema_Pos_060108_maxinclusive_004.ttcn" relativeURI="ATS/xsd_converted/schema_Pos_060108_maxinclusive_004.ttcn"/> <!-- <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060109_minexclusive/Neg_060109_minexclusive_001/Neg_060109_minexclusive_001.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060109_minexclusive/Neg_060109_minexclusive_001/Neg_060109_minexclusive_001.ttcn"/> <FileResource projectRelativePath="ATS/xsd_converted/schema_Neg_060109_minexclusive_001.ttcn" relativeURI="ATS/xsd_converted/schema_Neg_060109_minexclusive_001.ttcn"/>--> <!-- <FileResource projectRelativePath="ATS/06_built_in_data_types/0601_mapping_of_facets/060109_minexclusive/Neg_060109_minexclusive_002/Neg_060109_minexclusive_002.ttcn" relativeURI="ATS/06_built_in_data_types/0601_mapping_of_facets/060109_minexclusive/Neg_060109_minexclusive_002/Neg_060109_minexclusive_002.ttcn"/> @@ -1180,8 +1180,8 @@ <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_018/Pos_A_ttcn3_module_xsd_018.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_018/Pos_A_ttcn3_module_xsd_018.ttcn"/> <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_019/Pos_A_ttcn3_module_xsd_019.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_019/Pos_A_ttcn3_module_xsd_019.ttcn"/> <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_020/Pos_A_ttcn3_module_xsd_020.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_020/Pos_A_ttcn3_module_xsd_020.ttcn"/> -<!-- <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_021/Pos_A_ttcn3_module_xsd_021.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_021/Pos_A_ttcn3_module_xsd_021.ttcn"/>--> -<!-- <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_022/Pos_A_ttcn3_module_xsd_022.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_022/Pos_A_ttcn3_module_xsd_022.ttcn"/>--> + <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_021/Pos_A_ttcn3_module_xsd_021.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_021/Pos_A_ttcn3_module_xsd_021.ttcn"/> + <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_022/Pos_A_ttcn3_module_xsd_022.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_022/Pos_A_ttcn3_module_xsd_022.ttcn"/> <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_023/Pos_A_ttcn3_module_xsd_023.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_023/Pos_A_ttcn3_module_xsd_023.ttcn"/> <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_024/Pos_A_ttcn3_module_xsd_024.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_024/Pos_A_ttcn3_module_xsd_024.ttcn"/> <FileResource projectRelativePath="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_025/Pos_A_ttcn3_module_xsd_025.ttcn" relativeURI="ATS/A_ttcn3_module_xsd/Pos_A_ttcn3_module_xsd_025/Pos_A_ttcn3_module_xsd_025.ttcn"/> diff --git a/usrguide/SoC_TITAN.docx b/usrguide/SoC_TITAN.docx index 9d79f59fb1e5b81f2b7b2840f1735c5e88a439aa..b740578ba3431c2536063101f41f360365d84072 100644 Binary files a/usrguide/SoC_TITAN.docx and b/usrguide/SoC_TITAN.docx differ diff --git a/usrguide/SoC_XML_TITAN.docx b/usrguide/SoC_XML_TITAN.docx index 5bd5ce3450d0a27e7ae54e6ec7828ed3780877ee..ee60a6ed23e36060ee4aa05645b1d690404c1bf4 100644 Binary files a/usrguide/SoC_XML_TITAN.docx and b/usrguide/SoC_XML_TITAN.docx differ diff --git a/xsdconvert/RootType.cc b/xsdconvert/RootType.cc index 86eb146c3b3c7a51e9c781e903355e7dfc298875..1798667e138a5dceea3a941fffd6b23d11164bf6 100644 --- a/xsdconvert/RootType.cc +++ b/xsdconvert/RootType.cc @@ -261,3 +261,38 @@ bool RootType::hasVariant(const Mstring& var) const{ } return false; } + +void TypeType::upload(const Mstring& input, bool prefixCheck) { + if (input.empty()) return; + convertedValue = input; + originalValueWoPrefix = input.getValueWithoutPrefix(':'); + if (isBuiltInType(input)) { + refPrefix = input.getPrefix(':'); + if (prefixCheck) { + checkBuintInTypeReference(); + } + } +} + +void TypeType::checkBuintInTypeReference() { + bool found = false; + for (List<Mstring>::iterator px = t_module->getxmlSchemaPrefixes().begin(); px; px = px->Next) { + if (refPrefix == px->Data) { + found = true; + break; + } + } + // Second chance. It may be a prefix from one of the xsd-s. + if (!found) { + for (List<NamespaceType>::iterator ns = t_module->getDeclaredNamespaces().begin(); ns; ns = ns->Next) { + if (refPrefix == ns->Data.prefix.c_str()) { + found = true; + break; + } + } + } + if (!found) { + printError(t_module->getSchemaname(), t_parser->getActualLineNumber(), Mstring("Cannot find the namespace of type: ") + originalValueWoPrefix); + t_parser->incrNumErrors(); + } +} \ No newline at end of file diff --git a/xsdconvert/RootType.hh b/xsdconvert/RootType.hh index 7574136de6dd4a20de51d294abe518298e3f174a..a3fe1ae4cd41f102ed139a2004cc96c90456d8e5 100644 --- a/xsdconvert/RootType.hh +++ b/xsdconvert/RootType.hh @@ -117,40 +117,8 @@ public: {} // Default copy constructor, assignment operator and destructor are used - void upload(const Mstring& input, bool prefixCheck = true) { - if (input.empty()) return; - convertedValue = input; - originalValueWoPrefix = input.getValueWithoutPrefix(':'); - if (isBuiltInType(input)) { - refPrefix = input.getPrefix(':'); - if (prefixCheck) { - checkBuintInTypeReference(); - } - } - } - - void checkBuintInTypeReference() { - bool found = false; - for (List<Mstring>::iterator px = t_module->getxmlSchemaPrefixes().begin(); px; px = px->Next) { - if (refPrefix == px->Data) { - found = true; - break; - } - } - // Second chance. It may be a prefix from one of the xsd-s. - if (!found) { - for (List<NamespaceType>::iterator ns = t_module->getDeclaredNamespaces().begin(); ns; ns = ns->Next) { - if (refPrefix == ns->Data.prefix.c_str()) { - found = true; - break; - } - } - } - if (!found) { - printError(t_module->getSchemaname(), t_parser->getActualLineNumber(), Mstring("Cannot find the namespace of type: ") + originalValueWoPrefix); - t_parser->incrNumErrors(); - } -} + void upload(const Mstring& input, bool prefixCheck = true); + void checkBuintInTypeReference(); }; class SimpleType;