ItsSrem_TpFunctions.ttcn 2.89 KB
Newer Older
garciay's avatar
garciay committed
/**
 *    @author   ETSI STF517
 *    @version  $URL$
 *              $Id$
 *    @desc     SREM TP functions
 *
 */

garciay's avatar
garciay committed
    
    // 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 SREM_PDU_Descriptions language "ASN.1:1997" all;
    import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
    import from DSRC language "ASN.1:1997" all;
    
    // LibItsSremSsem
    import from LibItsSremSsem_TestSystem all;
    import from LibItsSremSsem_Functions all;
    import from LibItsSremSsem_Templates all;
    import from LibItsSremSsem_TypesAndValues all;
    import from LibItsSremSsem_Pics all;
    
    group mapeMessageDissemination { 
        
        group mapeMessageFormat { 
            
            /**
             * @desc    TP Function for TC_IS_TLC_MSGF_BV_01
             */
            function f_IS_TLC_MSGF_BV_01 () runs on ItsSremSsem {
                
                // Local variables
                
                // Test control
                if (not PICS_RSU or not PICS_SREM_GENERATION) {
                    log("*** " & testcasename() & ": 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
                tc_ac.start;
                alt {
                    [] sremSsemPort.receive(
                        mw_sremInd(
                            mw_sremPdu
                    )) { 
                        tc_ac.stop;
                        // FIXME Send SSEM
                        log("*** " & testcasename() & ": PASS: Successfully received SREM 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_01
            
        } // End of group sreMessageFormat 
        
    } // End of group sreMessageDissemination 
    
} // End of module ItsSrem_TpFunctions