ItsRtcmem_TpFunctions.ttcn 2.73 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
module ItsRtcmem_TpFunctions {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_Sync all;
    import from LibCommon_VerdictControl all;
    import from LibCommon_Time all;
    
    // LibItsCommon
    import from LibItsCommon_Functions all;
    import from LibItsCommon_TypesAndValues all;
    
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;
    import from RTCMEM_PDU_Descriptions language "ASN.1:1997" all;
    
    // LibItsRtcmem
    import from LibItsRtcmem_TestSystem all;
    import from LibItsRtcmem_Functions all;
    import from LibItsRtcmem_Templates all;
    import from LibItsRtcmem_TypesAndValues all;
    import from LibItsRtcmem_Pics all;
    import from LibItsRtcmem_Pixits all;
    
                /**
                 * @desc    TP Function for TC_IS_GPC_GEN_MSGF_BV_01
                 */
                function f_IS_GPC_GEN_MSGF_BV_01 () runs on ItsRtcmem {
                    
                    // Local variables
                    
                    // Test control
                    if (not PICS_RTCMEM_GENERATION) {
                        log("*** " & testcasename() & ": PICS_RTCMEM_GENERATION required for executing the TC ***");
                        setverdict(inconc);
                        stop;
                    }
                    
                    // Test component configuration
                    f_cfUp();
                    
                    // Preamble
                    f_prInitialState();
                    f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
                        
                    // Test Body
                    f_utTriggerEvent(m_utTriggerEvent(0, -, { '00000000'O }));
                    
                    tc_ac.start;
                    alt {
                        [] rtcmemPort.receive(
                            mw_rtcmemInd(
                                mw_rtcmemPdu
                        )) { 
                            tc_ac.stop;
                            log("*** " & testcasename() & ": PASS: Successfully received RTCMEM 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_GPC_GEN_MSGF_BV_01
} // End of module ItsRtcmem_TpFunctions