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