Commit 0ec286f5 authored by petersenj's avatar petersenj
Browse files

Code included in first Testcase for Back to Back testing. However methinks...

Code included in first Testcase for Back to Back testing. However methinks that a simulation would be more appropriate. Will come in week 5/2008 to discuss.
Code compiles and run under TestingTech and Telelogic tester 3.0. A problem with McAfee with testing tech, the virus control takes over for EACH jar file.
Another problem is timers in Teting tech, the message to a component is sent but is not matched until the/a timer expire! running same testcase several times makes problem disapear, but when reloading the problem arises again...
parent 98922490
Loading
Loading
Loading
Loading
+10 −4
Original line number Original line Diff line number Diff line
@@ -110,6 +110,7 @@
		function f_handshake_Ut( template UtRequest p_utRequest)
		function f_handshake_Ut( template UtRequest p_utRequest)
		runs on Ut return FncRetCode{
		runs on Ut return FncRetCode{
			
			
			log("f_handshake_Ut");
			utPort.send(p_utRequest);
			utPort.send(p_utRequest);
			tc_maxTimeCfgActRly.start;
			tc_maxTimeCfgActRly.start;
			alt{
			alt{
@@ -351,14 +352,19 @@ group UtilityFunctions {
		 * @param   MsAddress
		 * @param   MsAddress
		*/
		*/
		function f_msAddress2Upper(MsAddress p_msAddress) return Bit12 {
		function f_msAddress2Upper(MsAddress p_msAddress) return Bit12 {
			var Bit12 v_retval;
			if (ischosen(p_msAddress.isfAddress)) {
			if (ischosen(p_msAddress.isfAddress)) {
				var bitstring v_bs_commanId := p_msAddress.isfAddress.common_ID;
				var bitstring v_bs_commanId := p_msAddress.isfAddress.common_ID;
				var bitstring v_bs_fixedPart := p_msAddress.isfAddress.fixedPart;
				var bitstring v_bs_fixedPart := p_msAddress.isfAddress.fixedPart;
				return (v_bs_commanId << 4) or4b (v_bs_fixedPart >> 8);
				//v_retval := p_msAddress.isfAddress.common_ID & substring()
				//v_bs_commanId := v_bs_commanId & v_bs_fixedPart;
				//v_retval := substr(v_bs_commanId >> 12,0,12);
				//return v_retval;
				return v_bs_commanId & substr(v_bs_fixedPart,0,4);
			}
			}
			else {//csf
			else {//csf
				var bitstring v_bs_commanId := p_msAddress.csfAddress;
				var bitstring v_bs_commanId := p_msAddress.csfAddress;
				return v_bs_commanId >> 12;
				return substr(v_bs_commanId,0,12);
			}
			}
		} // end f_msAddress2Upper
		} // end f_msAddress2Upper


@@ -371,11 +377,11 @@ group UtilityFunctions {
			if (ischosen(p_msAddress.isfAddress)) {
			if (ischosen(p_msAddress.isfAddress)) {
				var bitstring v_bs_commanId := p_msAddress.isfAddress.common_ID;
				var bitstring v_bs_commanId := p_msAddress.isfAddress.common_ID;
				var bitstring v_bs_fixedPart := p_msAddress.isfAddress.fixedPart;
				var bitstring v_bs_fixedPart := p_msAddress.isfAddress.fixedPart;
				return v_bs_fixedPart and4b c_lowerPartSelector;
				return substr(v_bs_fixedPart,4,12);
			}
			}
			else {//csf
			else {//csf
				var bitstring v_bs_commanId := p_msAddress.csfAddress;
				var bitstring v_bs_commanId := p_msAddress.csfAddress;
				return v_bs_commanId and4b c_lowerPartSelector;
				return substr(v_bs_commanId,12,12);
			}
			}
		} // end f_msAddress2Lower
		} // end f_msAddress2Lower
        
        
+8 −1
Original line number Original line Diff line number Diff line
@@ -642,4 +642,11 @@ module dPMR_Pics {


	}
	}


	group ValidationGroup {
		/**
		* @desc  	Use validation?
		*/
		modulepar {boolean PIC_VALIDATION := true}
	}

} // end module dPMR_PICS
} // end module dPMR_PICS
+3 −1
Original line number Original line Diff line number Diff line
@@ -112,7 +112,9 @@ module dPMR_Pixits {
		/**
		/**
		* @desc 	Max Time of IUT sending back response of configuration/action's func/msg 
		* @desc 	Max Time of IUT sending back response of configuration/action's func/msg 
		*/
		*/
		modulepar {float PXT_MAX_TIME_CFG_ACT_RLY := 200E-3}  // TODO Value To be checked !!!
		//modulepar {float PXT_MAX_TIME_CFG_ACT_RLY := 200E-3}  // TODO Value To be checked !!!
		// Changed for validation to 10 seconds, should perhaps be permanent?
		modulepar {float PXT_MAX_TIME_CFG_ACT_RLY := 20.0}  // TODO Value To be checked !!!




		/** 
		/** 
+27 −0
Original line number Original line Diff line number Diff line
@@ -864,6 +864,14 @@
		observation := omit
		observation := omit
	}
	}


 	template UtRequest mw_validate_utReq := {
		channelNr := *,
		politeLvl := *,
		dialString:= *,
		isfCidAddr:= *,
		utActParams:= *
	}
	
	template UtConfirm  mw_utConfirm_success := {
	template UtConfirm  mw_utConfirm_success := {
		success := e_ut_success,
		success := e_ut_success,
		observation := *
		observation := *
@@ -920,6 +928,25 @@
		}
		}
	 
	 
	}
	}
	group validationTemplates {

 		template PayloadTransmission mw_plt_val(
	 		template HeaderFrame p_headerFrame ,
			template SuperFrameList p_superFrameList ,
			template EndFrame p_endFrame ) := 
		{
			extHdrFrameList := omit ,
			headerFrame := p_headerFrame ,
			sfList := p_superFrameList ,
			endFrame := p_endFrame 
 		}
		template TaRequest mw_toStandBy_taRequest := {
	  		channelNr :=  *,
			politeLvl  := *,
			signalLevel := *,
			colourCode  := *
		}
	}




} // end module dPMR_Templates
} // end module dPMR_Templates
+143 −77
Original line number Original line Diff line number Diff line
@@ -32,32 +32,33 @@ module dPMR_TestCases {
		group AllCall { // Clause 5.1.1
		group AllCall { // Clause 5.1.1
		
		
			
			
			testcase TC_VAL()
//			testcase TC_VAL()
			runs on ServerSyncComp
//			runs on ServerSyncComp
			system TestAdapter {
//			system TestAdapter {
	
//	
				//Variables
//				//Variables
				var Mse v_mse;
//				var Mse v_mse;
				var Ut v_ut;
//				var Ut v_ut;
				var Mse v_mse_val;//SM VAL
//				var Mse v_mse_val;//SM VAL
	
//				var Mse v_ut_val;
				//Configuration Up
//	
				//f_cfMseUp(v_mse, v_ut);
//				//Configuration Up
				f_cfMseUp_val(v_mse, v_ut, v_mse_val); //SM VAL
//				//f_cfMseUp(v_mse, v_ut);
	
//				f_cfMseUp_val(v_mse, v_ut, v_mse_val,v_ut_val); //SM VAL
				//Test body
//	
				v_mse.start(f_TC_MS01_Val());
//				//Test body
//				v_mse.start(f_TC_MS01_Val());
//				v_ut.start(f_TC_msAction_UT(e_toStandby, m_testToneDetected_utRequest(c_defaultCommonId, omit, e_testToneReceived)));
//				v_ut.start(f_TC_msAction_UT(e_toStandby, m_testToneDetected_utRequest(c_defaultCommonId, omit, e_testToneReceived)));
	
//	
				v_mse_val.start(f_TC_VAL());//SM VAL
//				//v_mse_val.start(f_TC_VAL());//SM VAL
				// synchronize both PTCs
//				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});
//				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});
	
//	
				// Configuration Down
//				// Configuration Down
				//f_cfMseDown(v_mse, v_ut); //SM VAL
//				//f_cfMseDown(v_mse, v_ut); //SM VAL
	
//	
			} // end TC_VAL
//			} // end TC_VAL

//
			/**
			/**
			*  All call in ISF
			*  All call in ISF
			*/
			*/
@@ -68,22 +69,25 @@ module dPMR_TestCases {
				//Variables
				//Variables
				var Mse v_mse;
				var Mse v_mse;
				var Ut v_ut;
				var Ut v_ut;
				var Mse v_mse_val;//SM VAL
				var Mse v_mse_val;
				var Mse v_ut_val;


				//Configuration Up
				//Configuration Up
				//f_cfMseUp(v_mse, v_ut);
				//f_cfMseUp(v_mse, v_ut);
				f_cfMseUp_val(v_mse, v_ut, v_mse_val); //SM VAL
				f_cfMseUp_val(v_mse, v_ut, v_mse_val, v_ut_val); //SM VAL


				//Test body
				//Test body
				v_mse.start(f_TC_testToneTransmissionCommon_ID_set_to_255_MS01());
				v_mse.start(f_TC_testToneTransmissionCommon_ID_set_to_255_MS01());
				v_ut.start(f_TC_msAction_UT(e_toStandby, m_testToneDetected_utRequest(c_defaultCommonId, omit, e_testToneReceived)));
				v_ut.start(f_TC_msAction_UT(e_toStandby, m_testToneDetected_utRequest(c_defaultCommonId, omit, e_testToneReceived)));
				
				
				v_mse_val.start(f_TC_VAL());//SM VAL
				f_startValidation("TC_PMR_0824_01",v_mse_val,v_ut_val);
				
				//v_mse_val.start(f_TC_VAL_UT());//SM VAL
				// synchronize both PTCs
				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});
				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});


				// Configuration Down
				// Configuration Down
				//f_cfMseDown(v_mse, v_ut); //SM VAL
				f_cfMseDown(v_mse, v_ut); 


			} // end TC_PMR_0824_01
			} // end TC_PMR_0824_01


@@ -97,13 +101,18 @@ module dPMR_TestCases {
				//Variables
				//Variables
				var Mse v_mse;
				var Mse v_mse;
				var Ut v_ut;
				var Ut v_ut;
				var Mse v_mse_val;
				var Mse v_ut_val;


				//Configuration Up
				//Configuration Up
				f_cfMseUp(v_mse, v_ut);
				//f_cfMseUp(v_mse, v_ut);
				f_cfMseUp_val(v_mse, v_ut, v_mse_val, v_ut_val); //SM VAL


				//Test body
				//Test body
				v_mse.start(f_TC_testToneTransmissionCommon_ID_set_to_255_MS01());
				v_mse.start(f_TC_testToneTransmissionCommon_ID_set_to_255_MS01());
				v_ut.start(f_TC_msAction_UT(e_setCommonIdTo255, m_testToneDetected_utRequest(c_allCallCommonId, omit, e_testToneReceived)));
				v_ut.start(f_TC_msAction_UT(e_setCommonIdTo255, m_testToneDetected_utRequest(c_allCallCommonId, omit, e_testToneReceived)));

				f_startValidation("TC_PMR_0824_02",v_mse_val,v_ut_val);
				// synchronize both PTCs
				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});
				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});


@@ -122,13 +131,18 @@ module dPMR_TestCases {
				//Variables
				//Variables
				var Mse v_mse;
				var Mse v_mse;
				var Ut v_ut;
				var Ut v_ut;
				var Mse v_mse_val;
				var Mse v_ut_val;


				//Configuration Up
				//Configuration Up
				f_cfMseUp(v_mse, v_ut);
				//f_cfMseUp(v_mse, v_ut);
				f_cfMseUp_val(v_mse, v_ut, v_mse_val, v_ut_val); //SM VAL


				//Test body
				//Test body
				v_mse.start(f_TC_testToneTransmissionCommon_ID_set_to_default_MS01());
				v_mse.start(f_TC_testToneTransmissionCommon_ID_set_to_default_MS01());
				v_ut.start(f_TC_msAction_UT(e_setCommonIdTo255, m_testToneDetected_utRequest(c_allCall, omit,e_testToneReceived))); 
				v_ut.start(f_TC_msAction_UT(e_setCommonIdTo255, m_testToneDetected_utRequest(c_allCall, omit,e_testToneNotReceived))); 

				f_startValidation("TC_PMR_0824_03",v_mse_val,v_ut_val);


				// synchronize both PTCs
				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});
				f_serverSync2ClientsAndStop({c_prDone,c_tbDone});
@@ -7120,49 +7134,89 @@ module dPMR_TestCases {
	
	
	group valFns {
	group valFns {
		
		
		function f_TC_MS01_Val()
//		function f_TC_MS01_Val()
//		runs on Mse{
//			// Variables
//			var default v_dftMse;
//			var FncRetCode v_ret := e_success;
//
//		
//			//Preamble
//			v_ret := f_handshake_Ta(m_toStandBy_taRequest(
//				f_getChannelNrFromColourCode(
//					m_isfColourCode('11110000'B))));
//			//f_clientSyncAndVerdict(c_prDone, v_ret); 
//	
//			Test Body
//			dp1Port.send(	m_voiceorT1orT2PayloadTransmission(
//								m_headerFrame(									
//									m_headerInformation(e_commStartHeader,
//														m_msAddressFromIsfAddr({'10101010'B,'1010101010101010'B}), 
//														m_msAddressFromIsfAddr({'10101010'B,'1010101010101010'B}), 
//														e_voice, 
//														e_p2p),
//									m_isfColourCode('11110000'B)),
//								m_superFrameList_4Elem(
//									m_superFrame(
//
//										m_frame1AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F1, e_callAll),
//										m_frame2AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F2, m_isfColourCode('11110000'B), e_callAll),
//										m_frame3AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F3, e_callAll),
//										m_frame4AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F4, m_isfColourCode('11110000'B), e_callAll)
//									)
//								),
//								m_endFrame(m_endInformationNoAck))
//						);
//			f_clientSyncAndVerdict(c_tbDone, v_ret); 
//		
//			//no Postamble
//		
//			deactivate;
//
//		} // end function f_TC_MS01_Val

		/**
		 * @desc 	Validation component for the UT
		 */
		function f_TC_VAL_UT()
		runs on Mse{
		runs on Mse{
			// Variables
			// Variables
			var default v_dftMse;
			var default v_dftMse;
			var FncRetCode v_ret := e_success;
			var FncRetCode v_ret := e_success;
		
			tc_maxTimeCfgActRlyUT.start;
			//Preamble
			alt {	
			v_ret := f_handshake_Ta(m_toStandBy_taRequest(
				[] utPort.receive(mw_validate_utReq) {
				f_getChannelNrFromColourCode(
					tc_maxTimeCfgActRlyUT.stop;
					m_isfColourCode('11110000'B))));
					log("*** f_handshake_UT: received handshake ***");
			//f_clientSyncAndVerdict(c_prDone, v_ret); 
					utPort.send(m_utConfirm_success);
	
					tc_maxTimeCfgActRlyUT.start;
			//Test Body
					alt {	
			dp1Port.send(	m_voiceorT1orT2PayloadTransmission(
						[] utPort.receive(mw_validate_utReq) {
								m_headerFrame(									
							tc_maxTimeCfgActRlyUT.stop;
									m_headerInformation(e_commStartHeader,
							log("*** f_handshake_UT: received handshake ***");
														m_msAddressFromIsfAddr({'10101010'B,'1010101010101010'B}), 
							utPort.send(m_utConfirm_success);
														m_msAddressFromIsfAddr({'10101010'B,'1010101010101010'B}), 
						}
														e_voice, 
						[]tc_maxTimeCfgActRlyUT.timeout{
														e_p2p),
							log("*** f_handshake_UT: timeout of configuration or action ***");
									m_isfColourCode('11110000'B)),
							setverdict(fail);
								m_superFrameList_4Elem(
							utPort.send(m_utConfirm_noSuccess);
									m_superFrame(
							repeat;
										m_frame1AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F1, e_callAll),
						}
										m_frame2AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F2, m_isfColourCode('11110000'B), e_callAll),
					}				
										m_frame3AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F3, e_callAll),
				}
										m_frame4AudibleTestTone('111100001111'B, PXT_VOICE_TEST_TONE_F4, m_isfColourCode('11110000'B), e_callAll)
				[]tc_maxTimeCfgActRlyUT.timeout{
									)
					log("*** f_handshake_UT: timeout of configuration or action ***");
								),
					setverdict(fail);
								m_endFrame(m_endInformationNoAck))
					utPort.send(m_utConfirm_noSuccess);
						);
					repeat;
			f_clientSyncAndVerdict(c_tbDone, v_ret); 
				}
		
			}
			//no Postamble
		}
		
			deactivate;

		} // end function f_TC_MS01_Val


		/**
		/**
		 * @desc 	Validation component
		 * @desc 	Validation component
		 */
		 */
		function f_TC_VAL()
		function f_TC_VAL(charstring p_testCaseName)
		runs on Mse{
		runs on Mse{
			// Variables
			// Variables
			var default v_dftMse;
			var default v_dftMse;
@@ -7171,11 +7225,11 @@ module dPMR_TestCases {
			//Test System Parameters
			//Test System Parameters


			//Default
			//Default
		
			log("*** f_TC_VAL: inside ! ***");
			//Preamble
			//Preamble
			tc_maxTimeCfgActRly.start;
			tc_maxTimeCfgActRly.start;
			alt{
			alt { // here receive whatever is neccessary !
				[]taPort.receive(?){
				[]taPort.receive(mw_toStandBy_taRequest){ //
					tc_maxTimeCfgActRly.stop;
					tc_maxTimeCfgActRly.stop;
					setverdict(pass);
					setverdict(pass);
					taPort.send(m_taConfirm_success);
					taPort.send(m_taConfirm_success);
@@ -7186,12 +7240,24 @@ module dPMR_TestCases {
					taPort.send(m_taConfirm_noSuccess);
					taPort.send(m_taConfirm_noSuccess);
				}
				}
			}
			}
			// first the PIC values must be set to reflect the TC
			if (p_testCaseName == "TC_PMR_0824_01") {
				dp1Port.receive(mw_plt_val(?,?,?));
				return;
			}
		} // end function f_TC_VAL
		
		function f_startValidation(charstring p_testCaseName, Mse p_mse_val, Mse p_ut_val) 
		 {
			 if (PIC_VALIDATION) {
				p_mse_val.start(f_TC_VAL(p_testCaseName));
				p_ut_val.start(f_TC_VAL_UT());
			 }
		}			
				
				
			//Test Body
			dp1Port.receive(?); 
		
		
		} // end function f_TC_VAL
	
	
	}//end valFns
	}//end valFns
	
	

} // end module dPMR_TestCases
} // end module dPMR_TestCases
Loading