Loading ttcn/IVIM/LibItsIvim_Functions.ttcn +14 −11 Original line number Diff line number Diff line Loading @@ -58,12 +58,12 @@ module LibItsIvim_Functions { * @desc Requests to bring the IUT in an initial state * @param p_init The initialisation to trigger. */ function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsIvim { function f_utInitializeIut(template (value) UtIvimInitialize p_init) runs on ItsIvim { utPort.send(p_init); tc_wait.start; alt { [] utPort.receive(UtInitializeResult:true) { [] utPort.receive(UtIvimResults: { utIvimInitializeResult := true }) { tc_wait.stop; log("*** " & testcasename() & ": INFO: IUT initialized ***"); } Loading @@ -89,15 +89,15 @@ module LibItsIvim_Functions { in template (value) UtIvimTrigger p_event ) runs on ItsIvim return IviIdentificationNumber { var IviIdentificationNumber v_iviIdentificationNumber; var UtIvimTriggerResult v_result; var UtIvimResults v_result; utPort.send(p_event); tc_wait.start; alt { [] utPort.receive(UtIvimTriggerResult:?) -> value v_result { [] utPort.receive(UtIvimResults: { utIvimTriggerResult := ? }) -> value v_result { tc_wait.stop; v_iviIdentificationNumber := v_result.iviIdentificationNumber; if ( not v_result.result ) { v_iviIdentificationNumber := v_result.utIvimTriggerResult.iviIdentificationNumber; if ( not v_result.utIvimTriggerResult.result ) { f_selfOrClientSyncAndVerdict("IVIM Trigger failed", e_error); } } Loading Loading @@ -125,14 +125,17 @@ module LibItsIvim_Functions { in template (value) UtIvimUpdate p_event ) runs on ItsIvim return IviIdentificationNumber { var IviIdentificationNumber v_iviIdentificationNumber; var UtIvimUpdateResult v_result; var UtIvimResults v_result; utPort.send(p_event); tc_wait.start; alt { [] utPort.receive(UtIvimUpdateResult:?) -> value v_result { [] utPort.receive(UtIvimResults: { utIvimUpdateResult := ? }) -> value v_result { tc_wait.stop; v_iviIdentificationNumber := v_result.iviIdentificationNumber; v_iviIdentificationNumber := v_result.utIvimUpdateResult.iviIdentificationNumber; if ( not v_result.utIvimUpdateResult.result ) { f_selfOrClientSyncAndVerdict("IVIM Update failed", e_error); } } [] a_utDefault() { //empty on purpose Loading @@ -159,7 +162,7 @@ module LibItsIvim_Functions { utPort.send(p_event); tc_wait.start; alt { [] utPort.receive(UtIvimTerminationResult:?) { [] utPort.receive(UtIvimResults: { utIvimTerminationResult := ? }) { tc_wait.stop; } [] tc_wait.timeout { Loading ttcn/IVIM/LibItsIvim_Templates.ttcn +3 −3 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ module LibItsIvim_Templates { /** * @desc Send template for Upper Tester event initialization */ template (value) UtInitialize m_ivimStructureInitialize := { template (value) UtIvimInitialize m_ivimStructureInitialize := { hashedId8 := '0000000000000000'O } // End of template m_ivimStructureInitialize Loading Loading @@ -419,7 +419,7 @@ module LibItsIvim_Templates { */ template (present) Provider mw_provider( template (present) CountryCode p_countryCode := ?, template (present) IssuerIdentifier p_providerIdentifier := ? template (present) AVIAEIIssuerIdentifier p_providerIdentifier := ? ) := { countryCode := p_countryCode, providerIdentifier := p_providerIdentifier Loading ttcn/IVIM/LibItsIvim_TestSystem.ttcn +4 −5 Original line number Diff line number Diff line Loading @@ -35,9 +35,9 @@ module LibItsIvim_TestSystem { */ type port AdapterControlPort message { out AcGnssPrimitive, AcSecPrimitive; AcSecPrimitive; in AcGnssResponse, AcGnssDistanceCovered, AcSecResponse; AdapterControlResults; } // end AdapterControlPort /** Loading @@ -45,10 +45,9 @@ module LibItsIvim_TestSystem { */ type port UpperTesterPort message { out UtInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination, UtChangePosition, UtChangePseudonym; UtIvimInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination; in UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimTerminationResult, UtChangePositionResult, UtChangePseudonymResult, UtIvimEventInd; UtIvimResults, UtIvimEventInd; } // end UpperTesterPort } // end portDefinitions Loading ttcn/IVIM/LibItsIvim_TypesAndValues.ttcn +67 −5 Original line number Diff line number Diff line Loading @@ -11,6 +11,10 @@ */ module LibItsIvim_TypesAndValues { // LibCommon import from LibCommon_DataStrings all; import from LibCommon_BasicTypesAndValues all; // LibIts import from IVIM_PDU_Descriptions language "ASN.1:1997" all; import from IVI language "ASN.1:1997" all; Loading Loading @@ -53,6 +57,33 @@ module LibItsIvim_TypesAndValues { group utPrimitives { /** * @desc Upper Tester message to initialize IUT * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use */ type record UtIvimInitialize { Oct8 hashedId8 } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester results message of the IVIM IUT * @member utIvimInitialize - * @member utIvimTriggerResult - * @member utIvimUpdateResult, - * @member utIvimChangePositionResult - * @member utIvimChangePseudonymResult - */ type union UtIvimResults { boolean utIvimInitializeResult, UtIvimTriggerResult utIvimTriggerResult, UtIvimUpdateResult utIvimUpdateResult, UtIvimTermination utIvimTerminationResult } with { variant "" } // End of type UtIvimResults /** * @desc Upper Tester message to request triggering of an event at IUT */ Loading @@ -62,6 +93,8 @@ module LibItsIvim_TypesAndValues { TimestampIts repetitionInterval optional/*, IVIManagementContainer.connectedIviStructures connectedIviStructures optional, IviStructure.optional_ optional_ optional*/ } with { variant "FIELDORDER(msb)" } /** Loading @@ -70,6 +103,8 @@ module LibItsIvim_TypesAndValues { type record UtIvimTriggerResult { boolean result, IviIdentificationNumber iviIdentificationNumber } with { variant "FIELDORDER(msb)" } /** Loading @@ -82,6 +117,8 @@ module LibItsIvim_TypesAndValues { TimestampIts validTo optional, IVIManagementContainer.connectedIviStructures connectedIviStructures optional, IviStructure.optional_ optional_ optional } with { variant "FIELDORDER(msb)" } /** Loading @@ -90,6 +127,8 @@ module LibItsIvim_TypesAndValues { type record UtIvimUpdateResult { boolean result, IviIdentificationNumber iviIdentificationNumber } with { variant "FIELDORDER(msb)" } /** Loading @@ -97,6 +136,8 @@ module LibItsIvim_TypesAndValues { */ type record UtIvimTermination { IviIdentificationNumber iviIdentificationNumber } with { variant "FIELDORDER(msb)" } /** Loading @@ -104,6 +145,26 @@ module LibItsIvim_TypesAndValues { */ type boolean UtIvimTerminationResult; /** * @desc Upper Tester message to change the position of IUT. Values a relatives */ type record UtIvimChangePosition { Int32 latitude, Int32 longitude, Int32 elevation } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to change the pseudonym of the DENM IUT */ type record UtIvimChangePseudonym { // empty on purpose } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to check event/status on Ivim IUT */ Loading @@ -126,6 +187,7 @@ module LibItsIvim_TypesAndValues { } with { encode "UpperTester" variant "" } } with { Loading ttcn/MapemSpatem/LibItsMapemSpatem_Functions.ttcn +4 −4 Original line number Diff line number Diff line Loading @@ -39,12 +39,12 @@ module LibItsMapemSpatem_Functions { * @desc Requests to bring the IUT in an initial state * @param p_init The initialisation to trigger. */ function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsMapemSpatem { function f_utInitializeIut(template (value) UtMapemSpatemInitialize p_init) runs on ItsMapemSpatem { utPort.send(p_init); tc_wait.start; alt { [] utPort.receive(UtInitializeResult:true) { [] utPort.receive(UtMapemSpatemResults: { utMapemSpatemInitializeResult := true }) { tc_wait.stop; log("*** " & testcasename() & ": INFO: IUT initialized ***"); } Loading @@ -71,7 +71,7 @@ module LibItsMapemSpatem_Functions { utPort.send ( p_event ); tc_wait.start; alt { [] utPort.receive ( UtMapemSpatemTriggerResult:? ) -> value v_result { [] utPort.receive ( UtMapemSpatemResults: { utMapemSpatemTriggerResult := ? }) -> value v_result { tc_wait.stop; if ( not v_result ) { f_selfOrClientSyncAndVerdict("MapSpat Trigger failed", e_error); Loading Loading
ttcn/IVIM/LibItsIvim_Functions.ttcn +14 −11 Original line number Diff line number Diff line Loading @@ -58,12 +58,12 @@ module LibItsIvim_Functions { * @desc Requests to bring the IUT in an initial state * @param p_init The initialisation to trigger. */ function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsIvim { function f_utInitializeIut(template (value) UtIvimInitialize p_init) runs on ItsIvim { utPort.send(p_init); tc_wait.start; alt { [] utPort.receive(UtInitializeResult:true) { [] utPort.receive(UtIvimResults: { utIvimInitializeResult := true }) { tc_wait.stop; log("*** " & testcasename() & ": INFO: IUT initialized ***"); } Loading @@ -89,15 +89,15 @@ module LibItsIvim_Functions { in template (value) UtIvimTrigger p_event ) runs on ItsIvim return IviIdentificationNumber { var IviIdentificationNumber v_iviIdentificationNumber; var UtIvimTriggerResult v_result; var UtIvimResults v_result; utPort.send(p_event); tc_wait.start; alt { [] utPort.receive(UtIvimTriggerResult:?) -> value v_result { [] utPort.receive(UtIvimResults: { utIvimTriggerResult := ? }) -> value v_result { tc_wait.stop; v_iviIdentificationNumber := v_result.iviIdentificationNumber; if ( not v_result.result ) { v_iviIdentificationNumber := v_result.utIvimTriggerResult.iviIdentificationNumber; if ( not v_result.utIvimTriggerResult.result ) { f_selfOrClientSyncAndVerdict("IVIM Trigger failed", e_error); } } Loading Loading @@ -125,14 +125,17 @@ module LibItsIvim_Functions { in template (value) UtIvimUpdate p_event ) runs on ItsIvim return IviIdentificationNumber { var IviIdentificationNumber v_iviIdentificationNumber; var UtIvimUpdateResult v_result; var UtIvimResults v_result; utPort.send(p_event); tc_wait.start; alt { [] utPort.receive(UtIvimUpdateResult:?) -> value v_result { [] utPort.receive(UtIvimResults: { utIvimUpdateResult := ? }) -> value v_result { tc_wait.stop; v_iviIdentificationNumber := v_result.iviIdentificationNumber; v_iviIdentificationNumber := v_result.utIvimUpdateResult.iviIdentificationNumber; if ( not v_result.utIvimUpdateResult.result ) { f_selfOrClientSyncAndVerdict("IVIM Update failed", e_error); } } [] a_utDefault() { //empty on purpose Loading @@ -159,7 +162,7 @@ module LibItsIvim_Functions { utPort.send(p_event); tc_wait.start; alt { [] utPort.receive(UtIvimTerminationResult:?) { [] utPort.receive(UtIvimResults: { utIvimTerminationResult := ? }) { tc_wait.stop; } [] tc_wait.timeout { Loading
ttcn/IVIM/LibItsIvim_Templates.ttcn +3 −3 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ module LibItsIvim_Templates { /** * @desc Send template for Upper Tester event initialization */ template (value) UtInitialize m_ivimStructureInitialize := { template (value) UtIvimInitialize m_ivimStructureInitialize := { hashedId8 := '0000000000000000'O } // End of template m_ivimStructureInitialize Loading Loading @@ -419,7 +419,7 @@ module LibItsIvim_Templates { */ template (present) Provider mw_provider( template (present) CountryCode p_countryCode := ?, template (present) IssuerIdentifier p_providerIdentifier := ? template (present) AVIAEIIssuerIdentifier p_providerIdentifier := ? ) := { countryCode := p_countryCode, providerIdentifier := p_providerIdentifier Loading
ttcn/IVIM/LibItsIvim_TestSystem.ttcn +4 −5 Original line number Diff line number Diff line Loading @@ -35,9 +35,9 @@ module LibItsIvim_TestSystem { */ type port AdapterControlPort message { out AcGnssPrimitive, AcSecPrimitive; AcSecPrimitive; in AcGnssResponse, AcGnssDistanceCovered, AcSecResponse; AdapterControlResults; } // end AdapterControlPort /** Loading @@ -45,10 +45,9 @@ module LibItsIvim_TestSystem { */ type port UpperTesterPort message { out UtInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination, UtChangePosition, UtChangePseudonym; UtIvimInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination; in UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimTerminationResult, UtChangePositionResult, UtChangePseudonymResult, UtIvimEventInd; UtIvimResults, UtIvimEventInd; } // end UpperTesterPort } // end portDefinitions Loading
ttcn/IVIM/LibItsIvim_TypesAndValues.ttcn +67 −5 Original line number Diff line number Diff line Loading @@ -11,6 +11,10 @@ */ module LibItsIvim_TypesAndValues { // LibCommon import from LibCommon_DataStrings all; import from LibCommon_BasicTypesAndValues all; // LibIts import from IVIM_PDU_Descriptions language "ASN.1:1997" all; import from IVI language "ASN.1:1997" all; Loading Loading @@ -53,6 +57,33 @@ module LibItsIvim_TypesAndValues { group utPrimitives { /** * @desc Upper Tester message to initialize IUT * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use */ type record UtIvimInitialize { Oct8 hashedId8 } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester results message of the IVIM IUT * @member utIvimInitialize - * @member utIvimTriggerResult - * @member utIvimUpdateResult, - * @member utIvimChangePositionResult - * @member utIvimChangePseudonymResult - */ type union UtIvimResults { boolean utIvimInitializeResult, UtIvimTriggerResult utIvimTriggerResult, UtIvimUpdateResult utIvimUpdateResult, UtIvimTermination utIvimTerminationResult } with { variant "" } // End of type UtIvimResults /** * @desc Upper Tester message to request triggering of an event at IUT */ Loading @@ -62,6 +93,8 @@ module LibItsIvim_TypesAndValues { TimestampIts repetitionInterval optional/*, IVIManagementContainer.connectedIviStructures connectedIviStructures optional, IviStructure.optional_ optional_ optional*/ } with { variant "FIELDORDER(msb)" } /** Loading @@ -70,6 +103,8 @@ module LibItsIvim_TypesAndValues { type record UtIvimTriggerResult { boolean result, IviIdentificationNumber iviIdentificationNumber } with { variant "FIELDORDER(msb)" } /** Loading @@ -82,6 +117,8 @@ module LibItsIvim_TypesAndValues { TimestampIts validTo optional, IVIManagementContainer.connectedIviStructures connectedIviStructures optional, IviStructure.optional_ optional_ optional } with { variant "FIELDORDER(msb)" } /** Loading @@ -90,6 +127,8 @@ module LibItsIvim_TypesAndValues { type record UtIvimUpdateResult { boolean result, IviIdentificationNumber iviIdentificationNumber } with { variant "FIELDORDER(msb)" } /** Loading @@ -97,6 +136,8 @@ module LibItsIvim_TypesAndValues { */ type record UtIvimTermination { IviIdentificationNumber iviIdentificationNumber } with { variant "FIELDORDER(msb)" } /** Loading @@ -104,6 +145,26 @@ module LibItsIvim_TypesAndValues { */ type boolean UtIvimTerminationResult; /** * @desc Upper Tester message to change the position of IUT. Values a relatives */ type record UtIvimChangePosition { Int32 latitude, Int32 longitude, Int32 elevation } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to change the pseudonym of the DENM IUT */ type record UtIvimChangePseudonym { // empty on purpose } with { variant "FIELDORDER(msb)" } /** * @desc Upper Tester message to check event/status on Ivim IUT */ Loading @@ -126,6 +187,7 @@ module LibItsIvim_TypesAndValues { } with { encode "UpperTester" variant "" } } with { Loading
ttcn/MapemSpatem/LibItsMapemSpatem_Functions.ttcn +4 −4 Original line number Diff line number Diff line Loading @@ -39,12 +39,12 @@ module LibItsMapemSpatem_Functions { * @desc Requests to bring the IUT in an initial state * @param p_init The initialisation to trigger. */ function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsMapemSpatem { function f_utInitializeIut(template (value) UtMapemSpatemInitialize p_init) runs on ItsMapemSpatem { utPort.send(p_init); tc_wait.start; alt { [] utPort.receive(UtInitializeResult:true) { [] utPort.receive(UtMapemSpatemResults: { utMapemSpatemInitializeResult := true }) { tc_wait.stop; log("*** " & testcasename() & ": INFO: IUT initialized ***"); } Loading @@ -71,7 +71,7 @@ module LibItsMapemSpatem_Functions { utPort.send ( p_event ); tc_wait.start; alt { [] utPort.receive ( UtMapemSpatemTriggerResult:? ) -> value v_result { [] utPort.receive ( UtMapemSpatemResults: { utMapemSpatemTriggerResult := ? }) -> value v_result { tc_wait.stop; if ( not v_result ) { f_selfOrClientSyncAndVerdict("MapSpat Trigger failed", e_error); Loading