Commit 19cb8a58 authored by petersenj's avatar petersenj
Browse files

Changed TC: 0406_01

New TCs:0840_02, 0840_03,0836_01, 0843_01,0808_01
Untestable: 0837_01,0844_01
parent 87666631
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ module dPMR_Defaults {
			{ 
				dp1Port.send(	m_acknowledgement(
									m_headerInformation(
										e_ack,
										e_ackHeader,
										vc_mse.testerId, 
										vc_mse.iutId,
										p_commsMode, 
+12 −0
Original line number Diff line number Diff line
@@ -58,6 +58,18 @@ module dPMR_Pixits {
		modulepar {DataLength PXT_DATA_T1_F2_length}
		modulepar {DataLength PXT_DATA_T1_F3_length}
		modulepar {DataLength PXT_DATA_T1_F4_length}

		/**
		* @desc 	Preset Slow Data.
		*			The data is 2x2 bytes, but lets define 4 bytes
		* 	
		* @remark 	only used for TP 0836_1 and 0843_01 
		*/
		modulepar {Bit8 PXT_SLOW_DATA_BYTE_1 := '00001101'B}
		modulepar {Bit8 PXT_SLOW_DATA_BYTE_2 := '01011101'B}
		modulepar {Bit8 PXT_SLOW_DATA_BYTE_3 := '10101001'B}
		modulepar {Bit8 PXT_SLOW_DATA_BYTE_4 := '01101100'B}
		
	} // end InputData

	group AddressesAndIdsUsed {
+18 −8
Original line number Diff line number Diff line
@@ -448,7 +448,25 @@
	  		callInformation := { 
				ciInformationNormalOrPws :=c_ciInformationNormal }
		} // end m_headerInformation
	 	template HeaderInformation  m_ackHeaderInformation( HeaderType p_hdrTp,
														 MsAddress p_calledId , 
													     MsAddress    p_ownId, 
													     CommunicationsMode p_commMode,
													     CommsFormat p_commFormat,
														 in template CallInformation p_callInfo
													    ) := {
			headerType := p_hdrTp,
	  		calledId := p_calledId,
	  		ownId := p_ownId,
	  		communicationsMode := p_commMode,
	    	commsFormat := p_commFormat,
	  		reserved2bit := c_reserved2bits,
	  		callInformation := p_callInfo
		} // end m_headerInformation

		template CallInformation m_callInfoAck(CiTypeAck p_callInfoAck) := {
			ciInformationAck := {p_callInfoAck, '00000001'B}
		}

	 	template PacketDataHeaderInformation  m_packetDataHeaderInformation(HeaderType p_hdrTp,
																			MsAddress p_calledId , 
@@ -567,14 +585,6 @@

	group ConfigurationTemplates {

		template UtRequest m_sendSomeT3Data_utRequest(	in template DialString p_dialString,
														UtActParams p_utActParameter ) := {
	  		channelNr :=  omit,
			politeLvl  := omit ,
			dialString := p_dialString ,
			isfCidAddr := omit,
			utActParams := p_utActParameter
		}

		template UtRequest m_testToneDetected_utRequest(	in template Common_ID p_commonId, 
															in template DialString p_dialString,
+318 −11
Original line number Diff line number Diff line
@@ -190,7 +190,9 @@ module dPMR_TestCases {

				//Test body
				v_mse.start(f_TC_ackOnConnectionRequest_MS01());
				v_ut.start(f_TC_msToStandby_UT( )); 
				v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest(	c_defaultPeerToPeerDialString , 
																	e_ifOACSUEnabledPleaseAccept)));
				// TODOREMOVE v_ut.start(f_TC_msToStandby_UT( )); // TODO JP change to reequest:IfOACSUEnabledPleaseAccept

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone});
@@ -325,7 +327,7 @@ module dPMR_TestCases {

					//Test body
					v_mse.start(f_TC_T3DataHeaderTx_MS01());
					v_ut.start(f_TC_msAction_UT(m_sendSomeT3Data_utRequest( c_defaultPeerToPeerDialString, e_testToneReceived))); // TODO JP must be wrong!!!!
					v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest( c_defaultPeerToPeerDialString, e_makeT3DataCall))); // TODO JP must be wrong!!!!

					// synchronize both PTCs
					f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
@@ -898,6 +900,7 @@ module dPMR_TestCases {
				} // end TC_PMR_0852_01

			} // end group ISDM_FreeTestMessage

			group ISDM_PrecodedMessage {// Clause 5.2.3.2

				/**
@@ -964,12 +967,136 @@ module dPMR_TestCases {
				f_cfMseDown(v_mse, v_ut);
			} // end TC_PMR_0840_01

		/**
		* @desc	Check that when an ACK is received after OACSU call setup, the user is signalled that the call may take place
		*       
		*/
			testcase TC_PMR_0840_02()
			runs on ServerSyncComp
			system TestAdapter {

				//Variables
				var Mse v_mse;
				var Ut v_ut;

				//Configuration Up
				f_cfMseUp(v_mse, v_ut);

				//Test body
				v_mse.start(f_TC_connectionRequestTxSendAck_MS01(e_ack));
				v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest(	c_defaultPeerToPeerDialString , 
																	e_makeOACSUCallandSayOkWhenDisplayedThatCallCanStart)));

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone});

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);

			} // end TC_PMR_0840_02

			testcase TC_PMR_0840_03()
			runs on ServerSyncComp
			system TestAdapter {

				//Variables
				var Mse v_mse;
				var Ut v_ut;

				//Configuration Up
				f_cfMseUp(v_mse, v_ut);

				//Test body
				v_mse.start(f_TC_connectionRequestTxSendAck_MS01(e_nackReqDenied));
				v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest(	c_defaultPeerToPeerDialString , 
																	e_makeOACSUCallAndCheckCallFail)));

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone});

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);

			} // end TC_PMR_0840_03

		} // end group OACSU
		group ShortAppendedData { // Clause 5.2.5
			// not applicable
		} // end group ShortAppendedData
		group SlowUserData { // Clause 5.2.6

			testcase TC_PMR_0836_01()
			runs on ServerSyncComp
			system TestAdapter {

				//Variables
				var Mse v_mse;
				var Ut v_ut;

				//Configuration Up
				f_cfMseUp(v_mse, v_ut);

				//Test body 
				v_mse.start(f_TC_voiceTXCheckSLD_MS01(e_callAll));
				v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest(	c_defaultCallGroupDialString , 
																	e_enableSlowDataAndSetPresetSlowDataAndPresPtt)));

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone});

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);

			} // end TC_PMR_0836_01

			testcase TC_PMR_0843_01()
			runs on ServerSyncComp
			system TestAdapter {

				//Variables
				var Mse v_mse;
				var Ut v_ut;

				//Configuration Up
				f_cfMseUp(v_mse, v_ut);

				//Test body 
				v_mse.start(f_TC_voiceTXCheckSLD_MS01(e_callAll));
				v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest(	c_defaultPeerToPeerDialString , 
																	e_enableSlowDataAndSetPresetSlowDataAndPresPtt)));

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone});

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);

			} // end TC_PMR_0843_01

		} // end group SlowUserData
		group Type3Data { // Clause 5.2.7

			testcase TC_PMR_0808_01(   )
			runs on ServerSyncComp
			system TestAdapter {
		      	var Mse v_mse;
				var Ut v_ut;
				var FncRetCode v_ret := e_success;

				//Configuration Up
				f_cfMseUp(v_mse, v_ut);

				//Test body
				v_mse.start(f_TC_T3DataHeaderTx_MS01());
				v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest( c_defaultPeerToPeerDialString, e_makeT3DataCall))); // TODO JP must be wrong!!!!

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);
			} // end TC_PMR_0808_01

		} // end group Type3Data
	} // end group CSF_only
	group ISF_only {// Clause 5.3
@@ -1162,7 +1289,7 @@ module dPMR_TestCases {
		} // end f_TC_sendVoiceToGroup_MS01
		
		/**
		* @desc Checks that the MS responds with an ACK when receiving an Connect Request message.
		* @desc Checks that the MS responds with an ACK when receiving an Connection Request message.
		*/
		function f_TC_ackOnConnectionRequest_MS01(  )
		runs on Mse{
@@ -1189,7 +1316,7 @@ module dPMR_TestCases {
						);
			alt {
				[] dp1Port.receive(m_acknowledgement(
									    m_headerInformation(e_ack, vc_mse.testerId, vc_mse.iutId, e_voice, e_p2p),
									    m_headerInformation(e_ackHeader, vc_mse.testerId, vc_mse.iutId, e_voice, e_p2p),
										vc_mse.colourCode)
								   )
					{
@@ -1269,7 +1396,7 @@ module dPMR_TestCases {

			alt {
				[] dp1Port.receive(m_acknowledgement(
									    m_headerInformation(e_ack, vc_mse.testerId, vc_mse.iutId, e_voice, e_p2p),
									    m_headerInformation(e_ackHeader, vc_mse.testerId, vc_mse.iutId, e_voice, e_p2p),
										vc_mse.colourCode)
								   )
					{
@@ -1277,7 +1404,7 @@ module dPMR_TestCases {
						setverdict(pass);
					}
				[] tc_ac.timeout {
						log("**** f_TC_ackOnConnectionRequest_MS01: Timeout: TC Timer expiration before reception of Acknowledgement ****");
						log("**** f_TC_ackOnT1Data_MS01: Timeout: TC Timer expiration before reception of Acknowledgement ****");
						setverdict(fail);	
					}
			} // end alt
@@ -1286,7 +1413,7 @@ module dPMR_TestCases {
		
			deactivate;

		} // end f_TC_ackOnConnectionRequest_MS01
		} // end f_TC_ackOnT1Data_MS01

		/**
		* @desc	Check that a voice transmission from the MS (IUT) consists of a Header Frame, a list of
@@ -1685,6 +1812,79 @@ module dPMR_TestCases {



		/**
		* @desc	Check that a voice transmission from the MS (IUT) consists of a Header Frame, a list of
		*       Super Frames, and an End Frame, Check the Communicationsmode and the Communications Format
		*		in the PayloadFrames
		*/
		function f_TC_voiceTXCheckSLD_MS01 ( CommsFormat p_commsFormat )
		runs on Mse{
			// Variables
			var FncRetCode v_ret := e_success;
			var PayloadTransmission v_payloadTransmission;
			var CommunicationsMode v_headerCommsMode;
			var CommsFormat v_headerCommsFormat;
			var SuperFrame v_superFrame;
			
			var default v_defvar;
			var integer i;

			//Test System Parameters
			f_initMse();
	
			//Default
			v_defvar := activate(a_dftMse(vc_mse.colourCode, e_voice));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_voiceorT1orT2PayloadTransmission(
									m_headerFrame(
										mw_headerInformationTx(
											vc_mse.testerId, 
											vc_mse.iutId, 
											e_voiceSlowData, 
											p_commsFormat),
					                       vc_mse.colourCode),
									mw_superFrameList_OneOrManyElem(
										m_superFrame(
											mw_frame1Voice(vc_mse.testerIdUP ),
				            	       		mw_frame2Voice(vc_mse.testerIdLP, vc_mse.colourCode),
											mw_frame3Voice(vc_mse.iutIdUP),
											mw_frame4Voice(vc_mse.iutIdLP,vc_mse.colourCode))),
									m_endFrame(mw_endInformation(e_noAckReq)))) -> value v_payloadTransmission
 				{
					tc_ac.stop ;
					// received correctly, but only one {header, superframelist,endframe} now check the slowdata to match PIXIT values
					v_superFrame := v_payloadTransmission.sfList[0];
					if ((v_superFrame.frame1.slowData.slowDataInVoice.userData1==PXT_SLOW_DATA_BYTE_1) and
						(v_superFrame.frame1.slowData.slowDataInVoice.userData2==PXT_SLOW_DATA_BYTE_2) and
						(v_superFrame.frame2.slowData.slowDataInVoice.userData1==PXT_SLOW_DATA_BYTE_3) and
						(v_superFrame.frame2.slowData.slowDataInVoice.userData2==PXT_SLOW_DATA_BYTE_4))
					{
						log("**** f_TC_voiceTxCheckCommsModeandCommsFormatIn_MS01: Not same communication Mode or communication Format in header and in one superframe frame ****");
						setverdict(pass);
					}
					else
					{
						setverdict(fail);
					}
				}
			[] tc_ac.timeout
			  	{
					log("**** f_TC_voiceTXCheckSLD_MS01: Timeout: TC Timer expiration before reception of complete Voice transmission ****");
					setverdict(fail);	
				}
			} // end alt
			f_clientSyncAndVerdict(c_tbDone, v_ret);

			deactivate;

		} // end function f_TC_voiceTXCheckSLD_MS01

		/**
		* @desc	Check that a T3DataHeader transmission from the MS (IUT) contain a Packet data header with a framsync of FS4
		*
@@ -1700,7 +1900,7 @@ module dPMR_TestCases {
			f_initMse();
	
			//Default
			v_defvar := activate(a_dftMse(vc_mse.colourCode, e_voice));
			v_defvar := activate(a_dftMse(vc_mse.colourCode, e_dataT3));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);
@@ -1733,6 +1933,54 @@ module dPMR_TestCases {

		} // end function f_TC_T3DataHeaderTx_MS01

		/**
		* @desc	Check that a T3DataHeader transmission from the MS (IUT) contain a Packet data header with a framsync of FS4
		*
		*/
		function f_TC_T3Tx_MS01 (CommunicationsMode p_commsMode  )
		runs on Mse{
			// Variables
			var FncRetCode v_ret := e_success;
			var UInt16 v_sfCount := 0;
			var default v_defvar;

			//Test System Parameters
			f_initMse();
	
			//Default
			v_defvar := activate(a_dftMse(vc_mse.colourCode, p_commsMode));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_packetDataHeaderFrame(
									m_headerInformation(
										e_commStartHeader,
										vc_mse.testerId, 
										vc_mse.iutId,
										p_commsMode,
										e_p2p),
									vc_mse.colourCode))
				{
					// received correctly
					tc_ac.stop ;
					setverdict(pass);
				}
			[] tc_ac.timeout
			  	{
					log("**** f_TC_T3DataHeaderTx_MS01: Timeout: TC Timer expiration before reception of complete Voice transmission ****");
					setverdict(fail);	
				}
			} // end alt
			f_clientSyncAndVerdict(c_tbDone, v_ret);

			deactivate;

		} // end function f_TC_T3DataHeaderTx_MS01

	   /**
		* @desc	Check that a voice transmission from the MS (IUT) consists of a Header Frame, a list of
		*       Super Frames, and an End Frame,
@@ -1767,7 +2015,7 @@ module dPMR_TestCases {
				}
			[] tc_ac.timeout
				{
					log("**** f_TC_VoiceWithAutomaticConnectionRequestTx_MS01: Timeout: TC Timer expiration before reception of Connection Request ****");
					log("**** f_TC_voiceWithAutomaticConnectionRequestOnlyCheckFramesTx_MS01: Timeout: TC Timer expiration before reception of Connection Request ****");
					setverdict(fail);	
				}
			} // end alt
@@ -1776,7 +2024,7 @@ module dPMR_TestCases {

			deactivate;

		} // end function f_TC_voiceWithAutomaticConnectionRequestTx_MS01
		} // end function f_TC_voiceWithAutomaticConnectionRequestOnlyCheckFramesTx_MS01

	   /**
		* @desc	Check that a voice transmission from the MS (IUT) consists of a Header Frame, a list of
@@ -1885,7 +2133,7 @@ module dPMR_TestCases {
 				{
					// received correctly
					dp1Port.send(	m_acknowledgement(
										m_headerInformation(e_ack, vc_mse.testerId, vc_mse.iutId, e_dataT1, e_p2p),
										m_headerInformation(e_ackHeader, vc_mse.testerId, vc_mse.iutId, e_dataT1, e_p2p),
										vc_mse.colourCode));
					repeat;
				}
@@ -2131,6 +2379,64 @@ module dPMR_TestCases {
		} // end function f_TC_connectionRequestTx_MS01


		/**
		* @desc	Check that a manual Connection Request is sent from the IUT
		*       
		*/
		// TODO JP check if ok.. This should be ok, but if not configurable the TC may not be applicable
		function f_TC_connectionRequestTxSendAck_MS01 (CiTypeAck p_ackType)
		runs on Mse{
			// Variables
			var FncRetCode v_ret := e_success;
			var default v_defvar;

			//Test System Parameters
			f_initMse();
	
			//Default
			v_defvar := activate(a_dftMse(vc_mse.colourCode, e_voice));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[]	dp1Port.receive(m_callSetUpOrServiceRequest(
										m_headerFrame(
											mw_headerInformationTx(
												vc_mse.testerId, 
												vc_mse.iutId, 
												?, 
												e_p2p),
				                            vc_mse.colourCode),
										m_endFrame(mw_endInformation(e_AckReq))))
				{
					// got the connection request
					tc_ac.stop ;

					dp1Port.send(	m_headerFrame(
								 		m_ackHeaderInformation(
											e_ackHeader,
											vc_mse.iutId,
											vc_mse.testerId,
											e_voice,
											e_p2p,
											m_callInfoAck(p_ackType)),
										vc_mse.colourCode) );
					setverdict(pass);
				}
			[] tc_ac.timeout {
					log("**** f_TC_ConnectionRequestTx_MS01: Timeout: TC Timer expiration before reception of Connection Request ****");
					setverdict(fail);	
				}
			} // end alt
			f_clientSyncAndVerdict(c_tbDone, v_ret);

			deactivate;

		} // end function f_TC_connectionRequestTxSendAck_MS01

		/**
		* @desc	Check that a manual Disconnection Request is sent from the IUT on dataT1
		*       
@@ -2177,6 +2483,7 @@ module dPMR_TestCases {

		} // end function f_TC_disconnectionRequestTx_MS01
		

	}//end group commonTCFunctions


+24 −5
Original line number Diff line number Diff line
@@ -57,6 +57,8 @@ module dPMR_TestExecution {
				//	} // end group typeT2Data
				//	group Voice { // Clause 5.1.3.4.3

						execute(TC_PMR_0801_01(  ) );

				//	} // end group Voice
			//	} // end group GroupSuperFrame
		//	} // end group Framing
@@ -109,26 +111,43 @@ module dPMR_TestExecution {
		//	group OACSU { // Clause 5.2.4

				if (PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0840_01() );}
				if (PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0840_02() );}
				if (PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0840_03() );}

		//	} // end group OACSU
		//	group ShortAppendedData { // Clause 5.2.5
				// NOTTESTABLE!!!!!!!!!!!!!!!!!!!!!!!!!!
		//	} // end group ShortAppendedData
		//	group SlowUserData { // Clause 5.2.6

				if (PIC_CSF_GROUP_VOICE_SS_SLD) {execute(TC_PMR_0836_01() );}
				if (PIC_CSF_VOICE_SS_SLD) {execute(TC_PMR_0843_01() );}

		//	} // end group SlowUserData
		//	group Type3Data { // Clause 5.2.7
				if (PIC_CSF_T3Data_INDIVIDUAL_DATA_MESSAGE) {execute(TC_PMR_0808_01() );}
//				if (PIC_CSF_T3Data_INDIVIDUAL_DATA_MESSAGE) {execute(TC_PMR_0817_01() );}
//				if (PIC_CSF_T3Data_INDIVIDUAL_DATA_MESSAGE) {execute(TC_PMR_0819_01() );}
//				if (PIC_CSF_T3Data_INDIVIDUAL_DATA_MESSAGE) {execute(TC_PMR_0820_01() );}
//				if (PIC_CSF_T3Data_INDIVIDUAL_DATA_MESSAGE) {execute(TC_PMR_0821_01() );}
//				if (PIC_CSF_T3Data_INDIVIDUAL_DATA_MESSAGE) {execute(TC_PMR_0822_01() );}
		//	} // end group Type3Data
		//} // end group CSF_only
		//group ISF_only {// Clause 5.3
		//} // end group ISF_only


		if (PIC_ISF_OR_CSF == e_csf) {execute( TC_PMR_0406_01() );}
		// Group:
		execute(TC_PMR_0801_01(  ) );


//		if (PIC_ISF_OR_CSF == e_csf
//			and PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0405_02(  ) );}










// TODO TO BE DONE
Loading