Loading ItsAvm_TestCases.ttcn +82 −11 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ module ItsAvm_TestCases { group mimMessageDissemination { group mimMessageFormat { group mimMessageGeneration { /** * @desc Check that MIM messages are generated upon activation of the AVM entity Loading Loading @@ -56,7 +56,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_01() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_01(); f_TC_MIM_DISS_BV_01(); } // End of TC_MIM_DISS_BV_01 Loading Loading @@ -87,7 +87,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_02() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_02(); f_TC_MIM_DISS_BV_02(); } // End of TC_MIM_DISS_BV_02 Loading Loading @@ -118,7 +118,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_03() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_03(); f_TC_MIM_DISS_BV_03(); } // End of TC_MIM_DISS_BV_03 Loading Loading @@ -146,7 +146,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_04() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_04(); f_TC_MIM_DISS_BV_04(); } // End of TC_MIM_DISS_BV_04 Loading Loading @@ -177,7 +177,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_TI_01() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_TI_01_02(); f_TC_MIM_DISS_TI_01_02(); } // End of TC_MIM_DISS_TI_01 Loading Loading @@ -210,7 +210,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_TI_02() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_TI_01_02(); f_TC_MIM_DISS_TI_01_02(); } // End of TC_MIM_DISS_TI_01 Loading Loading @@ -241,10 +241,81 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_0x() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_0x(); f_TC_MIM_DISS_BV_0x(); } // End of TC_MIM_DISS_BV_0x } // End of group mimMessageGeneration group mimMessageFormat { /** * @desc Check that the rollingCounter is initialized with 0 for the first generation request * <pre> * Pics Selection: PICS_MIM_GENERATION * Initial conditions: * with { * the IUT being in the "initial state" * and no MIM has been sent yet * } * Expected behaviour: * ensure that { * when { * a MIM is generated for the first time * } * then { * MIM is generated * containing e2eProtection * containing rollingCounter * indicating value 0 * } * } * </pre> * * @see ETSI TS 104 202-2 v2.2.1 TP/MIM/MSGF/BV-01 * @reference ETSI TS 103 882 v2.2.1, Annex B */ testcase TC_MIM_MSGF_BV_01() runs on ItsAvm system ItsAvmSystem { f_TC_MIM_MSGF_BV_01(); } // End of TC_MIM_MSGF_BV_01 /** * @desc Check that the rollingConter is incremented by 1 for every subsequent generation request after the first request * <pre> * Pics Selection: PICS_MIM_GENERATION * Initial conditions: * with { * AVM entity is active * MIM has been sent at T_0 * containing e2eProtection * containing rollingCounter * indicating value R * } * Expected behaviour: * ensure that { * when { * a MIM generation is requested at T_1 * } * then { * MIM is generated * containing e2eProtection * containing rollingCounter * indicating value R + 1 * } * } * </pre> * * @see ETSI TS 104 202-2 v2.2.1 TP/MIM/MSGF/BV-02 * @reference ETSI TS 103 882 v2.2.1, Annex B */ testcase TC_MIM_MSGF_BV_02() runs on ItsAvm system ItsAvmSystem { f_TC_MIM_MSGF_BV_02(); } // End of TC_MIM_MSGF_BV_02 } // End of group mimMessageFormat group mimLowerLayerParameters { Loading Loading @@ -274,7 +345,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_MSD_PAR_BV_01() runs on ItsAvm system ItsAvmSystem { f_MIM_MSD_PAR_BV_01(); f_TC_MIM_MSD_PAR_BV_01(); } // End of TC_MIM_MSD_PAR_BV_01 Loading Loading @@ -303,7 +374,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_MSD_PAR_BV_02() runs on ItsAvm system ItsAvmSystem { f_MIM_MSD_PAR_BV_02(); f_TC_MIM_MSD_PAR_BV_02(); } // End of TC_MIM_MSD_PAR_BV_02 Loading Loading @@ -335,7 +406,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_MSD_PAR_BV_03() runs on ItsAvm system ItsAvmSystem { f_MIM_MSD_PAR_BV_03(); f_TC_MIM_MSD_PAR_BV_03(); } // End of TC_MIM_MSD_PAR_BV_03 Loading ItsAvm_TestControl.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,8 @@ module ItsAvm_TestControl { execute(TC_MIM_DISS_TI_01()); execute(TC_MIM_DISS_TI_02()); execute(TC_MIM_MSGF_BV_01()); } if (PICS_VO_ROLE) { Loading ItsAvm_TpFunctions.ttcn +155 −19 Original line number Diff line number Diff line Loading @@ -90,12 +90,12 @@ module ItsAvm_TpFunctions { group mimMessageDissemination { group mimMessageFormat { group mimMessageGeneration { /** * @desc TP Function for TC_MIM_DISS_BV_01 */ function f_MIM_DISS_BV_01() runs on ItsAvm { function f_TC_MIM_DISS_BV_01() runs on ItsAvm { // Local variables Loading Loading @@ -132,12 +132,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_01 } // End of function f_TC_MIM_DISS_BV_01 /** * @desc TP Function for TC_MIM_DISS_BV_02 */ function f_MIM_DISS_BV_02() runs on ItsAvm { function f_TC_MIM_DISS_BV_02() runs on ItsAvm { // Local variables Loading Loading @@ -185,12 +185,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_02 } // End of function f_TC_MIM_DISS_BV_02 /** * @desc TP Function for TC_MIM_DISS_BV_03 */ function f_MIM_DISS_BV_03() runs on ItsAvm { function f_TC_MIM_DISS_BV_03() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -239,12 +239,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_03 } // End of function f_TC_MIM_DISS_BV_03 /** * @desc TP Function for TC_MIM_DISS_BV_04 */ function f_MIM_DISS_BV_04() runs on ItsAvm { function f_TC_MIM_DISS_BV_04() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -297,12 +297,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_04 } // End of function f_TC_MIM_DISS_BV_04 /** * @desc TP Function for TC_MIM_DISS_TI_01/TC_MIM_DISS_TI_02 */ function f_MIM_DISS_TI_01_02() runs on ItsAvm { function f_TC_MIM_DISS_TI_01_02() runs on ItsAvm { // Local variables timer t_minTransInterval := PICS_T_GENMIMMIN * PX_INC_TIMER_CONTROL_FACTOR; Loading Loading @@ -397,12 +397,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_TI_01_02 } // End of function f_TC_MIM_DISS_TI_01_02 /** * @desc TP Function for TC_MIM_DISS_BV_0x */ function f_MIM_DISS_BV_0x() runs on ItsAvm { function f_TC_MIM_DISS_BV_0x() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -447,7 +447,143 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_0x } // End of function f_TC_MIM_DISS_BV_0x } // End of group mimMessageGeneration group mimMessageFormat { /** * @desc TP Function for TC_MIM_MSGF_BV_01 */ function f_TC_MIM_MSGF_BV_01() runs on ItsAvm { // Local variables // Test control if (not PICS_RO_ROLE or not PICS_MIM_GENERATION) { log("*** " & testcasename() & ": PICS_RO_ROLE and PICS_MIM_GENERATION required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cfUp(); // Test adapter configuration // Preamble f_prInitialState(); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body tc_ac.start; alt { [] avmPort.receive( mw_mimInd( mw_mimMsg_e2eProtection( mw_avm_e2e_protection( -, 0 )))) { tc_ac.stop; log("*** " & testcasename() & ": PASS: Expected MIM with rollingConter set to 0 ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { log("*** " & testcasename() & ": INCONC: MIM not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } // Postamble f_poDefault(); f_cfDown(); } // End of function f_TC_MIM_MSGF_BV_01 /** * @desc TP Function for TC_MIM_MSGF_BV_02 */ function f_TC_MIM_MSGF_BV_02() runs on ItsAvm { // Local variables var integer v_counter := 0; var integer v_expected_rolling_counter := 0; var MimInd v_avmInd; // Test control if (not PICS_RO_ROLE or not PICS_MIM_GENERATION) { log("*** " & testcasename() & ": PICS_RO_ROLE and PICS_MIM_GENERATION required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cfUp(); // Test adapter configuration // Preamble f_prInitialState(); avmPort.clear; tc_ac.start; alt { [] avmPort.receive(mw_mimInd(mw_mimMsg)) -> value v_avmInd { tc_ac.stop; v_expected_rolling_counter := v_avmInd.msgIn.e2eProtection.rollingCounter + 1; log("*** " & testcasename() & ": INFO: Initial conditions: First MI message received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); } [] tc_ac.timeout { log("*** " & testcasename() & ": INCONC: Initial conditions: MI message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); stop; } } // Test Body tc_ac.start; alt { [] avmPort.receive( mw_mimInd( mw_mimMsg_e2eProtection( mw_avm_e2e_protection( -, v_expected_rolling_counter )))) { tc_ac.stop; if (v_counter == PX_REPEATITION_BEFORE_VERDICT) { log("*** " & testcasename() & ": PASS: MIM received with the expected rolling counter value ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { log("*** " & testcasename() & ": INFO: MIM received with the expected rolling counter value ***"); v_counter := v_counter + 1; v_expected_rolling_counter := v_expected_rolling_counter + 1; tc_ac.start; repeat; } } [] avmPort.receive( mw_mimInd( mw_mimMsg_e2eProtection )) { tc_ac.stop; log("*** " & testcasename() & ": FAIL: MIM received with unexpected rolling counter ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } [] tc_ac.timeout { log("*** " & testcasename() & ": FAIL: No MIM received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } // Postamble f_poDefault(); f_cfDown(); } // End of function f_TC_MIM_MSGF_BV_02 } // End of group mimMessageFormat Loading @@ -456,7 +592,7 @@ module ItsAvm_TpFunctions { /** * @desc TP Function for TC_MIM_MSD_PAR_BV_01 */ function f_MIM_MSD_PAR_BV_01() runs on ItsAvm { function f_TC_MIM_MSD_PAR_BV_01() runs on ItsAvm { // Local variables const LibCommon_BasicTypesAndValues.UInt8 c_gnNhBtpB := 2; Loading Loading @@ -505,12 +641,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_MSD_PAR_BV_01 } // End of function f_TC_MIM_MSD_PAR_BV_01 /** * @desc TP Function for TC_MIM_MSD_PAR_BV_02 */ function f_MIM_MSD_PAR_BV_02() runs on ItsAvm { function f_TC_MIM_MSD_PAR_BV_02() runs on ItsAvm { // Local variables const LibCommon_BasicTypesAndValues.UInt8 c_gnHtTsb := 5; Loading Loading @@ -560,12 +696,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_MSD_PAR_BV_02 } // End of function f_TC_MIM_MSD_PAR_BV_02 /** * @desc TP Function for TC_MIM_MSD_PAR_BV_03 */ function f_MIM_MSD_PAR_BV_03() runs on ItsAvm { function f_TC_MIM_MSD_PAR_BV_03() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -614,7 +750,7 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_MSD_PAR_BV_03 } // End of function f_TC_MIM_MSD_PAR_BV_03 } // end group mimLowerLayerParameters } // End of group mimMessageDissemination Loading lib/LibItsAvm_Templates.ttcn +9 −0 Original line number Diff line number Diff line Loading @@ -311,6 +311,15 @@ module LibItsAvm_Templates { } } /** * @desc Default Receive template for MIM PDU */ template (present) MIM mw_mimMsg_e2eProtection( in template (present) AvmE2EProtection p_e2eProtection := ? ) modifies mw_mimMsg_any := { e2eProtection := p_e2eProtection } group mim { template (omit) Mim m_mim( Loading Loading
ItsAvm_TestCases.ttcn +82 −11 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ module ItsAvm_TestCases { group mimMessageDissemination { group mimMessageFormat { group mimMessageGeneration { /** * @desc Check that MIM messages are generated upon activation of the AVM entity Loading Loading @@ -56,7 +56,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_01() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_01(); f_TC_MIM_DISS_BV_01(); } // End of TC_MIM_DISS_BV_01 Loading Loading @@ -87,7 +87,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_02() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_02(); f_TC_MIM_DISS_BV_02(); } // End of TC_MIM_DISS_BV_02 Loading Loading @@ -118,7 +118,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_03() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_03(); f_TC_MIM_DISS_BV_03(); } // End of TC_MIM_DISS_BV_03 Loading Loading @@ -146,7 +146,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_04() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_04(); f_TC_MIM_DISS_BV_04(); } // End of TC_MIM_DISS_BV_04 Loading Loading @@ -177,7 +177,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_TI_01() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_TI_01_02(); f_TC_MIM_DISS_TI_01_02(); } // End of TC_MIM_DISS_TI_01 Loading Loading @@ -210,7 +210,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_TI_02() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_TI_01_02(); f_TC_MIM_DISS_TI_01_02(); } // End of TC_MIM_DISS_TI_01 Loading Loading @@ -241,10 +241,81 @@ module ItsAvm_TestCases { */ testcase TC_MIM_DISS_BV_0x() runs on ItsAvm system ItsAvmSystem { f_MIM_DISS_BV_0x(); f_TC_MIM_DISS_BV_0x(); } // End of TC_MIM_DISS_BV_0x } // End of group mimMessageGeneration group mimMessageFormat { /** * @desc Check that the rollingCounter is initialized with 0 for the first generation request * <pre> * Pics Selection: PICS_MIM_GENERATION * Initial conditions: * with { * the IUT being in the "initial state" * and no MIM has been sent yet * } * Expected behaviour: * ensure that { * when { * a MIM is generated for the first time * } * then { * MIM is generated * containing e2eProtection * containing rollingCounter * indicating value 0 * } * } * </pre> * * @see ETSI TS 104 202-2 v2.2.1 TP/MIM/MSGF/BV-01 * @reference ETSI TS 103 882 v2.2.1, Annex B */ testcase TC_MIM_MSGF_BV_01() runs on ItsAvm system ItsAvmSystem { f_TC_MIM_MSGF_BV_01(); } // End of TC_MIM_MSGF_BV_01 /** * @desc Check that the rollingConter is incremented by 1 for every subsequent generation request after the first request * <pre> * Pics Selection: PICS_MIM_GENERATION * Initial conditions: * with { * AVM entity is active * MIM has been sent at T_0 * containing e2eProtection * containing rollingCounter * indicating value R * } * Expected behaviour: * ensure that { * when { * a MIM generation is requested at T_1 * } * then { * MIM is generated * containing e2eProtection * containing rollingCounter * indicating value R + 1 * } * } * </pre> * * @see ETSI TS 104 202-2 v2.2.1 TP/MIM/MSGF/BV-02 * @reference ETSI TS 103 882 v2.2.1, Annex B */ testcase TC_MIM_MSGF_BV_02() runs on ItsAvm system ItsAvmSystem { f_TC_MIM_MSGF_BV_02(); } // End of TC_MIM_MSGF_BV_02 } // End of group mimMessageFormat group mimLowerLayerParameters { Loading Loading @@ -274,7 +345,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_MSD_PAR_BV_01() runs on ItsAvm system ItsAvmSystem { f_MIM_MSD_PAR_BV_01(); f_TC_MIM_MSD_PAR_BV_01(); } // End of TC_MIM_MSD_PAR_BV_01 Loading Loading @@ -303,7 +374,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_MSD_PAR_BV_02() runs on ItsAvm system ItsAvmSystem { f_MIM_MSD_PAR_BV_02(); f_TC_MIM_MSD_PAR_BV_02(); } // End of TC_MIM_MSD_PAR_BV_02 Loading Loading @@ -335,7 +406,7 @@ module ItsAvm_TestCases { */ testcase TC_MIM_MSD_PAR_BV_03() runs on ItsAvm system ItsAvmSystem { f_MIM_MSD_PAR_BV_03(); f_TC_MIM_MSD_PAR_BV_03(); } // End of TC_MIM_MSD_PAR_BV_03 Loading
ItsAvm_TestControl.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,8 @@ module ItsAvm_TestControl { execute(TC_MIM_DISS_TI_01()); execute(TC_MIM_DISS_TI_02()); execute(TC_MIM_MSGF_BV_01()); } if (PICS_VO_ROLE) { Loading
ItsAvm_TpFunctions.ttcn +155 −19 Original line number Diff line number Diff line Loading @@ -90,12 +90,12 @@ module ItsAvm_TpFunctions { group mimMessageDissemination { group mimMessageFormat { group mimMessageGeneration { /** * @desc TP Function for TC_MIM_DISS_BV_01 */ function f_MIM_DISS_BV_01() runs on ItsAvm { function f_TC_MIM_DISS_BV_01() runs on ItsAvm { // Local variables Loading Loading @@ -132,12 +132,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_01 } // End of function f_TC_MIM_DISS_BV_01 /** * @desc TP Function for TC_MIM_DISS_BV_02 */ function f_MIM_DISS_BV_02() runs on ItsAvm { function f_TC_MIM_DISS_BV_02() runs on ItsAvm { // Local variables Loading Loading @@ -185,12 +185,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_02 } // End of function f_TC_MIM_DISS_BV_02 /** * @desc TP Function for TC_MIM_DISS_BV_03 */ function f_MIM_DISS_BV_03() runs on ItsAvm { function f_TC_MIM_DISS_BV_03() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -239,12 +239,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_03 } // End of function f_TC_MIM_DISS_BV_03 /** * @desc TP Function for TC_MIM_DISS_BV_04 */ function f_MIM_DISS_BV_04() runs on ItsAvm { function f_TC_MIM_DISS_BV_04() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -297,12 +297,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_04 } // End of function f_TC_MIM_DISS_BV_04 /** * @desc TP Function for TC_MIM_DISS_TI_01/TC_MIM_DISS_TI_02 */ function f_MIM_DISS_TI_01_02() runs on ItsAvm { function f_TC_MIM_DISS_TI_01_02() runs on ItsAvm { // Local variables timer t_minTransInterval := PICS_T_GENMIMMIN * PX_INC_TIMER_CONTROL_FACTOR; Loading Loading @@ -397,12 +397,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_TI_01_02 } // End of function f_TC_MIM_DISS_TI_01_02 /** * @desc TP Function for TC_MIM_DISS_BV_0x */ function f_MIM_DISS_BV_0x() runs on ItsAvm { function f_TC_MIM_DISS_BV_0x() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -447,7 +447,143 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_DISS_BV_0x } // End of function f_TC_MIM_DISS_BV_0x } // End of group mimMessageGeneration group mimMessageFormat { /** * @desc TP Function for TC_MIM_MSGF_BV_01 */ function f_TC_MIM_MSGF_BV_01() runs on ItsAvm { // Local variables // Test control if (not PICS_RO_ROLE or not PICS_MIM_GENERATION) { log("*** " & testcasename() & ": PICS_RO_ROLE and PICS_MIM_GENERATION required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cfUp(); // Test adapter configuration // Preamble f_prInitialState(); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body tc_ac.start; alt { [] avmPort.receive( mw_mimInd( mw_mimMsg_e2eProtection( mw_avm_e2e_protection( -, 0 )))) { tc_ac.stop; log("*** " & testcasename() & ": PASS: Expected MIM with rollingConter set to 0 ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } [] tc_ac.timeout { log("*** " & testcasename() & ": INCONC: MIM not received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } // Postamble f_poDefault(); f_cfDown(); } // End of function f_TC_MIM_MSGF_BV_01 /** * @desc TP Function for TC_MIM_MSGF_BV_02 */ function f_TC_MIM_MSGF_BV_02() runs on ItsAvm { // Local variables var integer v_counter := 0; var integer v_expected_rolling_counter := 0; var MimInd v_avmInd; // Test control if (not PICS_RO_ROLE or not PICS_MIM_GENERATION) { log("*** " & testcasename() & ": PICS_RO_ROLE and PICS_MIM_GENERATION required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cfUp(); // Test adapter configuration // Preamble f_prInitialState(); avmPort.clear; tc_ac.start; alt { [] avmPort.receive(mw_mimInd(mw_mimMsg)) -> value v_avmInd { tc_ac.stop; v_expected_rolling_counter := v_avmInd.msgIn.e2eProtection.rollingCounter + 1; log("*** " & testcasename() & ": INFO: Initial conditions: First MI message received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); } [] tc_ac.timeout { log("*** " & testcasename() & ": INCONC: Initial conditions: MI message not received ***"); f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_timeout); stop; } } // Test Body tc_ac.start; alt { [] avmPort.receive( mw_mimInd( mw_mimMsg_e2eProtection( mw_avm_e2e_protection( -, v_expected_rolling_counter )))) { tc_ac.stop; if (v_counter == PX_REPEATITION_BEFORE_VERDICT) { log("*** " & testcasename() & ": PASS: MIM received with the expected rolling counter value ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { log("*** " & testcasename() & ": INFO: MIM received with the expected rolling counter value ***"); v_counter := v_counter + 1; v_expected_rolling_counter := v_expected_rolling_counter + 1; tc_ac.start; repeat; } } [] avmPort.receive( mw_mimInd( mw_mimMsg_e2eProtection )) { tc_ac.stop; log("*** " & testcasename() & ": FAIL: MIM received with unexpected rolling counter ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } [] tc_ac.timeout { log("*** " & testcasename() & ": FAIL: No MIM received ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); } } // Postamble f_poDefault(); f_cfDown(); } // End of function f_TC_MIM_MSGF_BV_02 } // End of group mimMessageFormat Loading @@ -456,7 +592,7 @@ module ItsAvm_TpFunctions { /** * @desc TP Function for TC_MIM_MSD_PAR_BV_01 */ function f_MIM_MSD_PAR_BV_01() runs on ItsAvm { function f_TC_MIM_MSD_PAR_BV_01() runs on ItsAvm { // Local variables const LibCommon_BasicTypesAndValues.UInt8 c_gnNhBtpB := 2; Loading Loading @@ -505,12 +641,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_MSD_PAR_BV_01 } // End of function f_TC_MIM_MSD_PAR_BV_01 /** * @desc TP Function for TC_MIM_MSD_PAR_BV_02 */ function f_MIM_MSD_PAR_BV_02() runs on ItsAvm { function f_TC_MIM_MSD_PAR_BV_02() runs on ItsAvm { // Local variables const LibCommon_BasicTypesAndValues.UInt8 c_gnHtTsb := 5; Loading Loading @@ -560,12 +696,12 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_MSD_PAR_BV_02 } // End of function f_TC_MIM_MSD_PAR_BV_02 /** * @desc TP Function for TC_MIM_MSD_PAR_BV_03 */ function f_MIM_MSD_PAR_BV_03() runs on ItsAvm { function f_TC_MIM_MSD_PAR_BV_03() runs on ItsAvm { // Local variables var MimInd v_mimInd; Loading Loading @@ -614,7 +750,7 @@ module ItsAvm_TpFunctions { f_poDefault(); f_cfDown(); } // End of function f_MIM_MSD_PAR_BV_03 } // End of function f_TC_MIM_MSD_PAR_BV_03 } // end group mimLowerLayerParameters } // End of group mimMessageDissemination Loading
lib/LibItsAvm_Templates.ttcn +9 −0 Original line number Diff line number Diff line Loading @@ -311,6 +311,15 @@ module LibItsAvm_Templates { } } /** * @desc Default Receive template for MIM PDU */ template (present) MIM mw_mimMsg_e2eProtection( in template (present) AvmE2EProtection p_e2eProtection := ? ) modifies mw_mimMsg_any := { e2eProtection := p_e2eProtection } group mim { template (omit) Mim m_mim( Loading