/** * @author ETSI / STF405 * @version $URL$ * $Id$ * @desc Module containing functions for GeoNetworking * */ module LibItsGeoNetworking_Functions { // LibIts import from LibIts_TestSystem all; import from LibIts_Interface all; /** * @desc Create Facility component and connects GeoNetworking port * @remark Only used when ItsFa is a PTC * @param p_ptcDenm returned Facility component variable */ function f_ptcGeoNetworkingUp(out ItsNt p_ptcGeoNetworking) { // Create Facility component p_ptcGeoNetworking := ItsNt.create("GeoNetworking Tester"); // map ports map(p_ptcGeoNetworking:geoNetworkingPort, system:geoNetworkingPort); } // end f_ptcGeoNetworkingUp /** * @desc Wait for component to finish and unmap GeoNetworking ports * @remark Only used when ItsFa is a PTC * @param p_camPtc Facility component variable */ function f_ptcGeoNetworkingDown(in ItsNt p_ptcGeoNetworking) runs on ItsMtc { tc_guard.start; alt { [] p_ptcGeoNetworking.done { tc_guard.stop; } [] tc_guard.timeout { log("*** f_ptcGeoNetworkingDown: ERROR: Timeout while waiting for component ***"); setverdict(inconc); } } unmap(p_ptcGeoNetworking:geoNetworkingPort); } // end f_ptcGeoNetworkingDown group altsteps { /** * @desc The base default. */ altstep a_default() runs on ItsNt { [] geoNetworkingPort.receive { setverdict (inconc, "Received an unexpected message"); //TODO shall stop be called here? stop; } [] tc_wait.timeout { setverdict (inconc, "Timeout while awaiting reaction of the IUT prior to Upper Tester action"); //TODO shall stop be called here? stop; } [] tc_ac.timeout { setverdict (inconc, "Timeout while awaiting the reception of a message"); //TODO shall stop be called here? stop; } } } group preambles { /** * @desc The default preamble. */ function f_prDefault() runs on ItsNt { activate(a_default()); } /** * @desc Brings the IUT into an initial state. * @return */ function f_prInitialState() runs on ItsNt { f_prDefault(); // TODO: any specific action ? setverdict(pass); } } // end preambles group postambles { /** * @desc The default postamble. */ function f_poDefault() runs on ItsNt { setverdict(pass); } } // end postambles group upperTester { function f_utGenerateIpv6Message() runs on ItsNt { } } // end upperTester } // end LibItsGeoNetworking_Functions