Loading ttcn/dPMR_Defaults.ttcn +10 −11 Original line number Diff line number Diff line Loading @@ -20,8 +20,11 @@ module dPMR_Defaults { // import from dPMR_Pixits all; import from dPMR_Types all; import from dPMR_Values all; import from dPMR_Templates all; //TODO JP description /** * @desc These altsteps will catch unexpected events */ altstep a_dftUt() runs on Ut{ []syncPort.receive(m_syncServerStop){ Loading @@ -29,12 +32,12 @@ module dPMR_Defaults { log("a_dftUt: TEST COMPONENT NOW STOPPING ITSELF!"); stop; } //TODO JP update //[]utPort.receive(e_error){ // setverdict(inconc); // log("*** a_dftUt: Unexpected error message received on upper tester ***"); // repeat; //} []utPort.receive(mw_utConfirm_noSuccess){ setverdict(inconc); log("*** a_dftUt: Unexpected error message received on upper tester ***"); repeat; } []utPort.receive{ setverdict(inconc); log("*** a_dftUt: Unexpected message received on upper tester ***"); Loading @@ -42,10 +45,6 @@ module dPMR_Defaults { } } altstep a_dftMse() runs on Mse{ []syncPort.receive(m_syncServerStop){ Loading ttcn/dPMR_ExtFunctions.ttcn +4 −4 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ module dPMR_ExtFunctions { //Ats import from dPMR_Types all; //TODO JP add @param @remark clause /* * @desc: fx_calcDialString calculates and returns the dialstring * @desc fx_calcDialString calculates and returns the dialstring * that corresponds to the specified address. * @param p_addr Used to calculate the actual dial string used * @remark clause A.2.1 This is the reverse of the B2 algorithm */ external function fx_calcDialString( CSFAddress p_addr ) return DialString; Loading ttcn/dPMR_Functions.ttcn +13 −14 Original line number Diff line number Diff line Loading @@ -96,17 +96,17 @@ * in the Header frame the CalledId and OwnId. * @param p_cc is the CoulourCode used */ function f_msConfigureRx(ColourCode p_cc) runs on Mse return FncRetCode { var FncRetCode v_ret := e_success; if (PIC_ISF_OR_CSF == e_isf) { //TODO JP wrogn , CSF needs to be configured as well // get rid of f_msConfigureRx/Tx and just use f_utsHandshake_Ut v_ret := f_handshake_Ut( m_msCfgParamsIsfRx( p_cc, int2bit(PXT_APPLICABLE_COMMON_ID,8))); } return v_ret; }//end f_msConfigureRx // function f_msConfigureRx(ColourCode p_cc) // runs on Mse // return FncRetCode { // var FncRetCode v_ret := e_success; // if (PIC_ISF_OR_CSF == e_isf) { // //TODO JP wrong , CSF needs to be configured as well // // get rid of f_msConfigureRx/Tx and just use f_utsHandshake_Ut // v_ret := f_handshake_Ut( m_msCfgParamsIsfRx( p_cc, int2bit(PXT_APPLICABLE_COMMON_ID,8))); // } // return v_ret; // }//end f_msConfigureRx /* * @desc The ISF MSUT is configured to use PXT_APPLICABLE_COMMON_ID. Loading Loading @@ -139,12 +139,12 @@ utPort.send(p_utRequest); tc_maxTimeCfgActRly.start; alt{ []utPort.receive(mw_utsCfn_success){ []utPort.receive(mw_utConfirm_success){ tc_maxTimeCfgActRly.stop; setverdict(pass); return e_success; } []utPort.receive(mw_utsCfn_noSuccess){ []utPort.receive(mw_utConfirm_noSuccess){ tc_maxTimeCfgActRly.stop; log("*** f_handshake_Ut: Error message received on upper tester ***"); setverdict(fail); Loading Loading @@ -268,7 +268,6 @@ * @remark This function should perhaps be rewritten (split) , and the enumerated type UseAllCallCommonId removed */ function f_getCsfAddress (boolean p_testingEntityIsIUT) runs on Mse return CSFAddress { var CSFAddress v_ret; if (p_testingEntityIsIUT) { Loading ttcn/dPMR_Templates.ttcn +27 −5 Original line number Diff line number Diff line Loading @@ -285,18 +285,40 @@ group ConfigurationTemplates { //TODO JP use xxx_utReq / xxx_utCfn //TODO JP use xxx_utRequest / xxx_utConfirm // rename all templates template UtRequest m_msCfgParamsIsfRx( ColourCode p_cc, Common_ID p_commonId ) := { template UtRequest m_testToneDetected_utRequest( ColourCode p_cc, Common_ID p_commonId, UtActParams p_utActParameter ) := { colourCode := p_cc, politeLvl := omit, callType := omit, dialString := omit, isfCidAddr := p_commonId, utActParams := p_utActParameter } template UtRequest m_msToStandBy_utRequest( ColourCode p_cc, DialString p_dialString, Common_ID p_commonId ) := { colourCode := p_cc, politeLvl := omit, callType := omit, dialString := p_dialString, isfCidAddr := p_commonId, utActParams := omit } template UtRequest m_msPressPttThenDekeyPtt_utRequest( ColourCode p_cc, DialString p_dialstr ) := { colourCode := p_cc, politeLvl := omit, callType := omit, dialString := p_dialstr, isfCidAddr := omit, utActParams := omit } template UtRequest m_msCfgParamsCsfPoliteRx( ColourCode p_cc, DialString p_dialstr ) := { colourCode := p_cc, politeLvl := omit, Loading Loading @@ -345,12 +367,12 @@ }//end FncRetCodeTmplts template UtConfirm mw_utsCfn_success := { template UtConfirm mw_utConfirm_success := { success := e_ut_success, observation := * } template UtConfirm mw_utsCfn_noSuccess := { template UtConfirm mw_utConfirm_noSuccess := { success := complement(e_ut_success), observation := * } Loading ttcn/dPMR_TestCases.ttcn +47 −37 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ module dPMR_TestCases { import from dPMR_Values all; import from dPMR_Types all; import from dPMR_Functions all; import from dPMR_ExtFunctions all; import from dPMR_Defaults all; import from dPMR_Pixits all; import from dPMR_Pics all; Loading Loading @@ -105,7 +106,7 @@ module dPMR_TestCases { //Test body v_mse.start(f_TC_voiceTx_MS01(p_cc)); v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc, PXT_POLITE_LVL, PXT_CALL_TYPE)); //TODO JP v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc, PXT_CALL_TYPE)); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); Loading Loading @@ -320,21 +321,22 @@ module dPMR_TestCases { v_dftUt := activate(a_dftUt()); //Preamble v_ret := f_msConfigureRx(p_cc); v_ret := f_handshake_Ut(m_testToneDetected_utRequest(p_cc, c_allCall,e_testToneReceived)); f_clientSyncAndVerdict(c_prDone, v_ret); //Test body//TODO JP make it an f_handshake_Ut(m_testToneDetected_utReq) // tc_maxCaseExecPeriod.start; // alt { // []utPort.receive(m_testToneDetected){ // tc_maxCaseExecPeriod.stop; /// setverdict(pass); // } // []tc_maxCaseExecPeriod.timeout{ // log("**** f_TC_msWaitVoiceReceived_UT: Timeout: Expected message not received. ****"); // setverdict(fail); // } // }//end alt //Test body tc_maxCaseExecPeriod.start; alt { []utPort.receive(mw_utConfirm_success){ tc_maxCaseExecPeriod.stop; setverdict(pass); } []tc_maxCaseExecPeriod.timeout{ log("**** f_TC_msWaitVoiceReceived_UT: Timeout: Expected message not received. ****"); setverdict(fail); } }//end alt f_clientSyncAndVerdict(c_tbDone, v_ret); //no Postamble Loading @@ -343,7 +345,10 @@ module dPMR_TestCases { } // end function f_TC_msWaitVoiceReceived_UT //TODO JP change this name // forgot why?? //TODO JP change this name /** * @desc Set MS to standby */ function f_TC_msToStandby_UT( ColourCode p_cc ) runs on Ut { //Variables Loading @@ -356,7 +361,10 @@ module dPMR_TestCases { activate(a_dftUt()); //Preamble v_ret := f_msConfigureRx(p_cc); v_ret := f_handshake_Ut(m_msToStandBy_utRequest(p_cc, fx_calcDialString(f_getCsfAddress(true)), f_getCommonId(vc_ut.iutId))); //TODO REMOVE v_ret := f_msConfigureRx(p_cc); f_clientSyncAndVerdict(c_prDone, v_ret); //No Test body Loading Loading @@ -384,7 +392,9 @@ module dPMR_TestCases { activate(a_dftUt()); //Preamble v_ret := f_msConfigureTx(p_cc, p_politeLvl, p_callType); // TODO JP SM FK Why should this have a polite level, // v_ret := f_handshake_Ut(m_msPressPttThenDekeyPtt_utRequest(p_cc,)); // v_ret := f_msConfigureTx(p_cc, p_politeLvl, p_callType); f_clientSyncAndVerdict(c_prDone, v_ret); //Test body//TODO JP make it an f_handshake_Ut(m_testToneDetected_utReq) Loading Loading
ttcn/dPMR_Defaults.ttcn +10 −11 Original line number Diff line number Diff line Loading @@ -20,8 +20,11 @@ module dPMR_Defaults { // import from dPMR_Pixits all; import from dPMR_Types all; import from dPMR_Values all; import from dPMR_Templates all; //TODO JP description /** * @desc These altsteps will catch unexpected events */ altstep a_dftUt() runs on Ut{ []syncPort.receive(m_syncServerStop){ Loading @@ -29,12 +32,12 @@ module dPMR_Defaults { log("a_dftUt: TEST COMPONENT NOW STOPPING ITSELF!"); stop; } //TODO JP update //[]utPort.receive(e_error){ // setverdict(inconc); // log("*** a_dftUt: Unexpected error message received on upper tester ***"); // repeat; //} []utPort.receive(mw_utConfirm_noSuccess){ setverdict(inconc); log("*** a_dftUt: Unexpected error message received on upper tester ***"); repeat; } []utPort.receive{ setverdict(inconc); log("*** a_dftUt: Unexpected message received on upper tester ***"); Loading @@ -42,10 +45,6 @@ module dPMR_Defaults { } } altstep a_dftMse() runs on Mse{ []syncPort.receive(m_syncServerStop){ Loading
ttcn/dPMR_ExtFunctions.ttcn +4 −4 Original line number Diff line number Diff line Loading @@ -16,11 +16,11 @@ module dPMR_ExtFunctions { //Ats import from dPMR_Types all; //TODO JP add @param @remark clause /* * @desc: fx_calcDialString calculates and returns the dialstring * @desc fx_calcDialString calculates and returns the dialstring * that corresponds to the specified address. * @param p_addr Used to calculate the actual dial string used * @remark clause A.2.1 This is the reverse of the B2 algorithm */ external function fx_calcDialString( CSFAddress p_addr ) return DialString; Loading
ttcn/dPMR_Functions.ttcn +13 −14 Original line number Diff line number Diff line Loading @@ -96,17 +96,17 @@ * in the Header frame the CalledId and OwnId. * @param p_cc is the CoulourCode used */ function f_msConfigureRx(ColourCode p_cc) runs on Mse return FncRetCode { var FncRetCode v_ret := e_success; if (PIC_ISF_OR_CSF == e_isf) { //TODO JP wrogn , CSF needs to be configured as well // get rid of f_msConfigureRx/Tx and just use f_utsHandshake_Ut v_ret := f_handshake_Ut( m_msCfgParamsIsfRx( p_cc, int2bit(PXT_APPLICABLE_COMMON_ID,8))); } return v_ret; }//end f_msConfigureRx // function f_msConfigureRx(ColourCode p_cc) // runs on Mse // return FncRetCode { // var FncRetCode v_ret := e_success; // if (PIC_ISF_OR_CSF == e_isf) { // //TODO JP wrong , CSF needs to be configured as well // // get rid of f_msConfigureRx/Tx and just use f_utsHandshake_Ut // v_ret := f_handshake_Ut( m_msCfgParamsIsfRx( p_cc, int2bit(PXT_APPLICABLE_COMMON_ID,8))); // } // return v_ret; // }//end f_msConfigureRx /* * @desc The ISF MSUT is configured to use PXT_APPLICABLE_COMMON_ID. Loading Loading @@ -139,12 +139,12 @@ utPort.send(p_utRequest); tc_maxTimeCfgActRly.start; alt{ []utPort.receive(mw_utsCfn_success){ []utPort.receive(mw_utConfirm_success){ tc_maxTimeCfgActRly.stop; setverdict(pass); return e_success; } []utPort.receive(mw_utsCfn_noSuccess){ []utPort.receive(mw_utConfirm_noSuccess){ tc_maxTimeCfgActRly.stop; log("*** f_handshake_Ut: Error message received on upper tester ***"); setverdict(fail); Loading Loading @@ -268,7 +268,6 @@ * @remark This function should perhaps be rewritten (split) , and the enumerated type UseAllCallCommonId removed */ function f_getCsfAddress (boolean p_testingEntityIsIUT) runs on Mse return CSFAddress { var CSFAddress v_ret; if (p_testingEntityIsIUT) { Loading
ttcn/dPMR_Templates.ttcn +27 −5 Original line number Diff line number Diff line Loading @@ -285,18 +285,40 @@ group ConfigurationTemplates { //TODO JP use xxx_utReq / xxx_utCfn //TODO JP use xxx_utRequest / xxx_utConfirm // rename all templates template UtRequest m_msCfgParamsIsfRx( ColourCode p_cc, Common_ID p_commonId ) := { template UtRequest m_testToneDetected_utRequest( ColourCode p_cc, Common_ID p_commonId, UtActParams p_utActParameter ) := { colourCode := p_cc, politeLvl := omit, callType := omit, dialString := omit, isfCidAddr := p_commonId, utActParams := p_utActParameter } template UtRequest m_msToStandBy_utRequest( ColourCode p_cc, DialString p_dialString, Common_ID p_commonId ) := { colourCode := p_cc, politeLvl := omit, callType := omit, dialString := p_dialString, isfCidAddr := p_commonId, utActParams := omit } template UtRequest m_msPressPttThenDekeyPtt_utRequest( ColourCode p_cc, DialString p_dialstr ) := { colourCode := p_cc, politeLvl := omit, callType := omit, dialString := p_dialstr, isfCidAddr := omit, utActParams := omit } template UtRequest m_msCfgParamsCsfPoliteRx( ColourCode p_cc, DialString p_dialstr ) := { colourCode := p_cc, politeLvl := omit, Loading Loading @@ -345,12 +367,12 @@ }//end FncRetCodeTmplts template UtConfirm mw_utsCfn_success := { template UtConfirm mw_utConfirm_success := { success := e_ut_success, observation := * } template UtConfirm mw_utsCfn_noSuccess := { template UtConfirm mw_utConfirm_noSuccess := { success := complement(e_ut_success), observation := * } Loading
ttcn/dPMR_TestCases.ttcn +47 −37 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ module dPMR_TestCases { import from dPMR_Values all; import from dPMR_Types all; import from dPMR_Functions all; import from dPMR_ExtFunctions all; import from dPMR_Defaults all; import from dPMR_Pixits all; import from dPMR_Pics all; Loading Loading @@ -105,7 +106,7 @@ module dPMR_TestCases { //Test body v_mse.start(f_TC_voiceTx_MS01(p_cc)); v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc, PXT_POLITE_LVL, PXT_CALL_TYPE)); //TODO JP v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc, PXT_CALL_TYPE)); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); Loading Loading @@ -320,21 +321,22 @@ module dPMR_TestCases { v_dftUt := activate(a_dftUt()); //Preamble v_ret := f_msConfigureRx(p_cc); v_ret := f_handshake_Ut(m_testToneDetected_utRequest(p_cc, c_allCall,e_testToneReceived)); f_clientSyncAndVerdict(c_prDone, v_ret); //Test body//TODO JP make it an f_handshake_Ut(m_testToneDetected_utReq) // tc_maxCaseExecPeriod.start; // alt { // []utPort.receive(m_testToneDetected){ // tc_maxCaseExecPeriod.stop; /// setverdict(pass); // } // []tc_maxCaseExecPeriod.timeout{ // log("**** f_TC_msWaitVoiceReceived_UT: Timeout: Expected message not received. ****"); // setverdict(fail); // } // }//end alt //Test body tc_maxCaseExecPeriod.start; alt { []utPort.receive(mw_utConfirm_success){ tc_maxCaseExecPeriod.stop; setverdict(pass); } []tc_maxCaseExecPeriod.timeout{ log("**** f_TC_msWaitVoiceReceived_UT: Timeout: Expected message not received. ****"); setverdict(fail); } }//end alt f_clientSyncAndVerdict(c_tbDone, v_ret); //no Postamble Loading @@ -343,7 +345,10 @@ module dPMR_TestCases { } // end function f_TC_msWaitVoiceReceived_UT //TODO JP change this name // forgot why?? //TODO JP change this name /** * @desc Set MS to standby */ function f_TC_msToStandby_UT( ColourCode p_cc ) runs on Ut { //Variables Loading @@ -356,7 +361,10 @@ module dPMR_TestCases { activate(a_dftUt()); //Preamble v_ret := f_msConfigureRx(p_cc); v_ret := f_handshake_Ut(m_msToStandBy_utRequest(p_cc, fx_calcDialString(f_getCsfAddress(true)), f_getCommonId(vc_ut.iutId))); //TODO REMOVE v_ret := f_msConfigureRx(p_cc); f_clientSyncAndVerdict(c_prDone, v_ret); //No Test body Loading Loading @@ -384,7 +392,9 @@ module dPMR_TestCases { activate(a_dftUt()); //Preamble v_ret := f_msConfigureTx(p_cc, p_politeLvl, p_callType); // TODO JP SM FK Why should this have a polite level, // v_ret := f_handshake_Ut(m_msPressPttThenDekeyPtt_utRequest(p_cc,)); // v_ret := f_msConfigureTx(p_cc, p_politeLvl, p_callType); f_clientSyncAndVerdict(c_prDone, v_ret); //Test body//TODO JP make it an f_handshake_Ut(m_testToneDetected_utReq) Loading