diff --git a/ttcn/AtsSremSsem/ItsSrem_TestCases.ttcn b/ttcn/AtsSremSsem/ItsSrem_TestCases.ttcn index b1eab4baa04c8b5630619c9ebac3fd2743969b4d..cc67df4ecfdbb99f858513447f6e299af4eec87d 100644 --- a/ttcn/AtsSremSsem/ItsSrem_TestCases.ttcn +++ b/ttcn/AtsSremSsem/ItsSrem_TestCases.ttcn @@ -23,7 +23,7 @@ module ItsSrem_TestCases { /** * @desc Check that protocolVersion is set to 1 and messageID is set to 9 (ITS-S) *
- * Pics Selection: not PICS_RSU and PICS_SREM_GENERATION + * Pics Selection: not PICS_RSU * Initial conditions: * with { * the IUT being in the "initial state" @@ -131,20 +131,20 @@ module ItsSrem_TestCases { /** * @desc Check that the IUT can successfully process all mandatory fields of SSEM received (ITS-S) *- * Pics Selection: not PICS_RSU and PICS_SREM_RECEPTION + * Pics Selection: not PICS_RSU and PICS_SSEM_RECEPTION * Initial conditions: * with { * the IUT being in the "initial state" - * and the IUT having receive a valid SREM + * and the IUT having send a valid SREM * } * Expected behaviour: * ensure that { * when { - * the IUT receives a valid SREM + * the IUT receives a valid SSEM * } * then { - * the IUT forwards the SREM content to upper layers - * and the IUT forwards the SREM content to other facilities + * the IUT forwards the SSEM content to upper layers + * and the IUT forwards the SSEM content to other facilities * } * } *@@ -165,8 +165,85 @@ module ItsSrem_TestCases { group rsuRole { + group sreMessageDisseminationRsu { + + group sreMessageFormatRsu { + + /** + * @desc Check that protocolVersion is set to 1 and messageID is set to 10 (TLC-S) + *+ * Pics Selection: PICS_RSU and PICS_SREM_GENERATION + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT having receive a valid SREM + * } + * then { + * the IUT sends a valid SREM + * containing ITS PDU header + * containing protocolVersion + * indicating value '1' + * and containing messageID + * indicating value '10' + * } + * } + *+ * + * @version 1.0.4 + * @see ETSI TS 103 191-2 v0.0.1 TP_IS_RLT_MSGF_BV_04 + * @reference ETSI TS 103 301 V1.0.4 Clause 6.3 + */ + testcase TP_IS_TLC_MSGF_BV_04 () runs on ItsSremSsem system ItsSremSsemSystem { + + f_IS_TLC_MSGF_BV_04(); + + } // End of testcase TP_IS_TLC_MSGF_BV_04 + + } // End of group sreMessageFormatRsu + + group sreCommunicationRsu { + + } // End of group sreCommunicationRsu + + } // End of group sreMessageDisseminationRsu - + group sreMessageProcessing { + + /** + * @desc Check that the IUT can successfully process all mandatory fields of SREM received (TLC-S) + *+ * Pics Selection: PICS_RSU and PICS_SREM_GENERATION + * Initial conditions: + * with { + * the IUT being in the "initial state" + * } + * Expected behaviour: + * ensure that { + * when { + * the IUT having receive a valid SREM + * } + * then { + * the IUT forwards the SSEM content to upper layers + * and the IUT forwards the SSEM content to other facilities + * } + * } + *+ * + * @version 1.0.4 + * @see ETSI TS 103 191-2 v0.0.1 TP_IS_RLT_MSGF_BV_02 + * @reference ETSI TS 103 301 V1.0.4 Clause 6.3 + */ + testcase TP_IS_TLC_MSGF_BV_02 () runs on ItsSremSsem system ItsSremSsemSystem { + + f_IS_TLC_MSGF_BV_02(); + + } // End of testcase TP_IS_TLC_MSGF_BV_02 + + } // End of group sreMessageProcessing } // End of group rsuRole diff --git a/ttcn/AtsSremSsem/ItsSrem_TpFunctions.ttcn b/ttcn/AtsSremSsem/ItsSrem_TpFunctions.ttcn index 0095cfc95e5c5420132c53d6b56eb40a9fe20f87..bdf5971dbcaf56425f334d2ea1e6e017a3d7fbbf 100644 --- a/ttcn/AtsSremSsem/ItsSrem_TpFunctions.ttcn +++ b/ttcn/AtsSremSsem/ItsSrem_TpFunctions.ttcn @@ -289,11 +289,11 @@ module ItsSrem_TpFunctions { function f_IS_TLC_MSGF_BV_03 () runs on ItsSremSsem { // Local variables - var SremReq v_sremReq; + var SsemReq v_ssemReq; var integer i; - if (PICS_RSU or not PICS_SREM_RECEPTION) { - log("*** " & testcasename() & ": not PICS_RSU and PICS_SREM_RECEPTION required for executing the TC ***"); + if (PICS_RSU or not PICS_SSEM_RECEPTION) { + log("*** " & testcasename() & ": not PICS_RSU and PICS_SSEM_RECEPTION required for executing the TC ***"); setverdict(inconc); stop; } @@ -305,14 +305,14 @@ module ItsSrem_TpFunctions { f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); // Test Body - v_sremReq := valueof(m_sremReq(m_sremPdu(m_defaultSrem))); - sremSsemPort.send(v_sremReq) ; + v_ssemReq := valueof(m_ssemReq(m_ssemPdu(m_defaultSsem))); + sremSsemPort.send(v_ssemReq) ; f_sleep(PX_TAC); - for (i := 0; i < lengthof(vc_utSremEvents) and not match (v_sremReq.msgOut , vc_utSremEvents[i].sreMsg); i := i + 1) { + for (i := 0; i < lengthof(vc_utSremEvents) and not match (v_ssemReq.msgOut , vc_utSsemEvents[i].sreMsg); i := i + 1) { // empty on purpose } - if (i < lengthof(vc_utSremEvents) ) { + if (i < lengthof(vc_utSsemEvents) ) { log("*** " & testcasename() & ": PASS: SREM was transmitted to upper layer ***"); f_selfOrClientSyncAndVerdict(c_tbDone, e_success); } else { @@ -330,11 +330,117 @@ module ItsSrem_TpFunctions { } // End of group iTS_SRole - group rsuRole { - + group rsuRole { + group sreMessageDisseminationRsu { + + group sreMessageFormatRsu { + + /** + * @desc TP Function for TC_IS_TLC_MSGF_BV_04 + */ + function f_IS_TLC_MSGF_BV_04 () runs on ItsSremSsem { + + // Local variables + + // Test control + if (PICS_RSU or not PICS_SREM_GENERATION) { + log("*** " & testcasename() & ": not PICS_RSU and PICS_SREM_GENERATION required for executing the TC ***"); + setverdict(inconc); + stop; + } + + // Test component configuration + f_cfUp(); + + // Preamble + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); + + // Test Body + // Send SSEM + sremSsemPort.send( + m_sremReq( + m_ssemPdu( + m_ssemPdu + ))); + + tc_ac.start; + alt { + [] sremSsemPort.receive( + mw_ssemInd( + mw_ssemPdu + )) { + tc_ac.stop; + log("*** " & testcasename() & ": PASS: Successfully received SSEM PDU header. ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_success); + } + [] tc_ac.timeout { + log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout); + } + } + + // Postamble + f_poDefault(); + f_cfDown(); + + } // End of function f_IS_TLC_MSGF_BV_04 + + } // End of group sreMessageFormatRsu + + group sreCommunicationRsu { + + } // End of group sreCommunicationRsu + + } // End of group sreMessageDisseminationRsu + group sreMessageProcessingRsu { + + /** + * @desc TP Function for TC_IS_TLC_MSGF_BV_02 + */ + function f_IS_TLC_MSGF_BV_02 () runs on ItsSremSsem { + + // Local variables + var SsemReq v_sremReq; + var integer i; + + if (PICS_RSU or not PICS_SREM_RECEPTION) { + log("*** " & testcasename() & ": not PICS_RSU and PICS_SREM_RECEPTION required for executing the TC ***"); + setverdict(inconc); + stop; + } + + // Test component configuration + f_cfUp(); + + // Preamble + f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success); + + // Test Body + v_sremReq := valueof(m_ssemReq(m_sremPdu(m_defaultSrem))); + sremSsemPort.send(v_sremReq) ; + + f_sleep(PX_TAC); + for (i := 0; i < lengthof(vc_utSremEvents) and not match (v_sremReq.msgOut , vc_utSremEvents[i].sreMsg); i := i + 1) { + // empty on purpose + } + if (i < lengthof(vc_utSsemEvents) ) { + log("*** " & testcasename() & ": PASS: SSEM was transmitted to upper layer ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_success); + } else { + log("*** " & testcasename() & ": FAIL: SSEM was not transmitted to upper layer ***"); + f_selfOrClientSyncAndVerdict(c_tbDone, e_error); + } + + // Postamble + f_poDefault(); + f_cfDown(); + + } // End of function f_IS_TLC_MSGF_BV_02 + + } // End of group sreMessageProcessingRsu - } // End of group rsuRole + } // End of group rsuRole } // End of module ItsSrem_TpFunctions \ No newline at end of file