Commit 7c662475 authored by petersenj's avatar petersenj
Browse files

implemented 0802_01, 0802_02 and half of 0802_03

parent 86754196
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -470,7 +470,7 @@
	 	template HeaderInformation  mw_headerInformationTx ( MsAddress p_calledId , 
													      		  MsAddress    p_ownId, 
													      		  template CommunicationsMode p_commMode,
													          	  CommsFormat p_commFormat
													          	  template CommsFormat p_commFormat
													     		) := {
			headerType := e_commStartHeader,
	  		calledId := p_calledId,
+398 −36
Original line number Diff line number Diff line
@@ -27,9 +27,9 @@ module dPMR_TestCases {
	import from dPMR_Pixits all;
	import from dPMR_Pics all;

	group IsfCsfCommon {
	group IsfCsfCommon { // Clause 5.1

		group AllCall {
		group AllCall { // Clause 5.1.1

			/**
			* @param p_cc The colour code (channel) used
@@ -86,7 +86,10 @@ module dPMR_TestCases {

		} // end group AllCall

		group Framing {
		group ChannelAccess { // Clause 5.1.2
		} // end group ChannelAccess

		group Framing {// Clause 5.1.3

			/**
			* @param p_cc The colour code (channel) used
@@ -139,7 +142,14 @@ module dPMR_TestCases {

				//Test body  
				v_mse.start(f_TC_connectionRequestTx_MS01(p_cc));
				v_ut.start(f_TC_msMakeManualConnectionRequest_UT(p_cc)); 
				v_ut.start(f_TC_msCommandConfirm(m_commandCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
																			c_defaultPeerToPeerAddress , 
																			e_makeManualConnectionRequest)));
//TODO remove				v_ut.start(f_TC_msMakeManualConnectionRequest_UT(p_cc)); 
//
//				v_ret := f_handshake_Ut(m_commandCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
//																	c_defaultPeerToPeerAddress , 
//																	e_makeManualConnectionRequest));

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
@@ -163,7 +173,12 @@ module dPMR_TestCases {

				//Test body  
				v_mse.start(f_TC_voiceWithAutomaticConnectionRequestTx_MS01(p_cc));
				v_ut.start(f_TC_msVoiceWithAutomaticConnectionRequest_UT(p_cc)); 
				v_ut.start(f_TC_msCommandConfirm(m_commandCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
																c_defaultPeerToPeerAddress , 
																e_makeVoiceWithAutmaticConnectionRequest)));

				
//	TODOremove			v_ut.start(f_TC_msVoiceWithAutomaticConnectionRequest_UT(p_cc)); 

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
@@ -238,7 +253,12 @@ module dPMR_TestCases {

				//Test body  
				v_mse.start(f_TC_disconnectionRequestTx_MS01(p_cc));
				v_ut.start(f_TC_msMakeManualDisconnectionRequest_UT(p_cc)); 
				v_ut.start(f_TC_msCommandConfirm(
								m_commandCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
														c_defaultPeerToPeerAddress , 
														e_makeManualDisconnectionRequest)));

// Todod Remove				v_ut.start(f_TC_msMakeManualDisconnectionRequest_UT(p_cc)); 

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
@@ -262,7 +282,14 @@ module dPMR_TestCases {

				//Test body  
				v_mse.start(f_TC_T1DataWithAutomaticDisconnectionRequestTx_MS01(p_cc));
				v_ut.start(f_TC_msT1DataWithAutomaticDisconnectionRequest_UT(p_cc)); 
				v_ut.start(f_TC_msCommandConfirm(
								m_commandCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
														c_defaultPeerToPeerAddress , 
														e_makeT1DataWithAutomaticDisconnectionRequest)));



// TODO remove				v_ut.start(f_TC_msT1DataWithAutomaticDisconnectionRequest_UT(p_cc)); 

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
@@ -286,7 +313,11 @@ module dPMR_TestCases {

				//Test body  
				v_mse.start(f_TC_voiceTx_MS01(p_cc));
				v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc));
					v_ut.start(f_TC_msCommandConfirm(m_commandISFCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
																		c_defaultCallGroup, 
																		omit , 
																		e_pressPtt)));
//TODO remove				v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc));

				// synchronize both PTCs
				f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
@@ -296,9 +327,95 @@ module dPMR_TestCases {
			} // end TC_PMR_0811_01
			

			group SuperFrame {
		group HeaderFrames { // Clause 5.1.3.2

			/**
			* @param p_cc The colour code (channel) used
			*/
			testcase TC_PMR_0816_01( ColourCode p_cc  )
			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(p_cc));
				v_ut.start(f_TC_msCommandConfirm(m_sendSomeT3Data_utRequest(f_getChannelNrFromColourCode(p_cc), c_defaultPeerToPeerAddress, e_testToneReceived)));

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

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

		}// end group HeaderFrames

			group GroupSuperFrame { // Clause 5.1.3.4

				group typeT1Data { // Clause 5.1.3.4.1

				group Voice {
					testcase TC_PMR_0807_01( ColourCode p_cc  )
					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_T1DataHeaderTx_MS01(p_cc));
						v_ut.start(f_TC_msCommandConfirm(
										m_commandCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
																c_defaultPeerToPeerAddress , 
																e_makeT1DataCall)));

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

						// Configuration Down
						f_cfMseDown(v_mse, v_ut);

					} // end TC_PMR_0807_01

				} // end group typeT1Data

				group typeT2Data { // Clause 5.1.3.4.1

					testcase TC_PMR_0806_01( ColourCode p_cc  )
					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_T2DataHeaderTx_MS01(p_cc));
						v_ut.start(f_TC_msCommandConfirm(
										m_commandCSF_utRequest(	f_getChannelNrFromColourCode(p_cc), 
																c_defaultPeerToPeerAddress , 
																e_makeT2DataCall)));

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

						// Configuration Down
						f_cfMseDown(v_mse, v_ut);

					} // end TC_PMR_0806_01

				} // end group typeT2Data

				group Voice { // Clause 5.1.3.4.3

					/**
					* @param p_cc The colour code (channel) used
@@ -315,7 +432,23 @@ module dPMR_TestCases {

						//Test body
						v_mse.start(f_TC_voiceTx_MS01(p_cc));
						v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc));
						if (PIC_ISF_OR_CSF == e_isf) {
							v_ut.start(f_TC_msCommandConfirm(
											m_commandISFCSF_utRequest(	
												f_getChannelNrFromColourCode(p_cc), 
												omit , 
												c_defaultCommonId,
												e_pressPtt)));
						} else {
							v_ut.start(f_TC_msCommandConfirm(
											m_commandISFCSF_utRequest(	
												f_getChannelNrFromColourCode(p_cc), 
												c_defaultCallGroup, 
												omit , 
												e_pressPtt)));
						}

//TODO remove						v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc));
		
						// synchronize both PTCs
						f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
@@ -326,16 +459,52 @@ module dPMR_TestCases {

				} // end group Voice 

				group LateEntry { // Clause 5.1.4

			} // end group SuperFrame
					/**
					* @param p_cc The colour code (channel) used
					*/
					testcase TC_PMR_0802_01( ColourCode p_cc  )
					runs on ServerSyncComp
					system TestAdapter {
				      	var Mse v_mse;
						var Ut v_ut;
						var FncRetCode v_ret := e_success;

		} // end group Framing
		group HeaderFrames {
						//Configuration Up
						f_cfMseUp(v_mse, v_ut);

						//Test body
						v_mse.start(f_TC_voiceTx_MS01(p_cc)); // TODO Check if change needed!!
						if (PIC_ISF_OR_CSF == e_isf) {
							v_ut.start(f_TC_msCommandConfirm(
											m_commandISFCSF_utRequest(	
												f_getChannelNrFromColourCode(p_cc), 
												omit , 
												c_defaultCommonId,
												e_pressPtt)));
						} else {
							v_ut.start(f_TC_msCommandConfirm(
											m_commandISFCSF_utRequest(	
												f_getChannelNrFromColourCode(p_cc), 
												c_defaultCallGroup, 
												omit , 
												e_pressPtt)));
						}

//TODO remove						v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc));
		
						// synchronize both PTCs
						f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
		
						// Configuration Down
						f_cfMseDown(v_mse, v_ut);
					} // end TC_PMR_0802_01

					/**
					* @param p_cc The colour code (channel) used
					*/
			testcase TC_PMR_0816_01( ColourCode p_cc  )
					testcase TC_PMR_0802_02( ColourCode p_cc  )
					runs on ServerSyncComp
					system TestAdapter {
				      	var Mse v_mse;
@@ -346,17 +515,38 @@ module dPMR_TestCases {
						f_cfMseUp(v_mse, v_ut);

						//Test body
				v_mse.start(f_TC_T3DataHeaderTx_MS01(p_cc));
				v_ut.start(f_TC_msCommandConfirm(m_sendSomeT3Data_utRequest(f_getChannelNrFromColourCode(p_cc), c_defaultPeerToPeerAddress, e_testToneReceived)));
						v_mse.start(f_TC_voiceTx_MS01(p_cc)); // TODO Check if change needed!!
						if (PIC_ISF_OR_CSF == e_isf) {
							v_ut.start(f_TC_msCommandConfirm(
											m_commandISFCSF_utRequest(	
												f_getChannelNrFromColourCode(p_cc), 
												omit , 
												c_defaultCommonId,
												e_pressPtt)));
						} else {
							v_ut.start(f_TC_msCommandConfirm(
											m_commandISFCSF_utRequest(	
												f_getChannelNrFromColourCode(p_cc), 
												c_defaultCallGroup, 
												omit , 
												e_pressPtt)));
						}

//TODO remove						v_ut.start(f_TC_msPressPttThenDekeyPtt_UT(p_cc));
		
						// synchronize both PTCs
						f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
		
						// Configuration Down
						f_cfMseDown(v_mse, v_ut);
			} // end TC_PMR_0816_01
					} // end TC_PMR_0802_02
	
				} // end group LateEntry

		}// end group IsfCsfCommon

			} // end group GroupSuperFrame

		} // end group Framing


	} // end group HeaderFrames
@@ -641,6 +831,75 @@ module dPMR_TestCases {

		} // end function f_TC_voiceTx_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, Check the Communicationsmode and the Communications Format
		*		in the PayloadFrames
		* @param 	p_cc Colour Code
		*/
		function f_TC_voiceTxCheckCommsModeandCommsFormatIn_MS01 ( ColourCode p_cc )
		runs on Mse{
			// Variables
			var FncRetCode v_ret := e_success;
			var HeaderFrame v_headerFrame;
			var SuperFrame v_superFrame;
			var default v_defvar;

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

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_headerFrame(
									mw_headerInformationTx(
										vc_mse.testerId, 
										vc_mse.iutId, 
										e_voice, 
										?),
				                       p_cc)) // TODO JP-> v_headerFrame
				{
					alt {
					[] dp1Port.receive(
									m_superFrame(
										mw_frame1Voice(vc_mse.testerIdUP ),
			            	       		mw_frame2Voice(vc_mse.testerIdLP, p_cc),
										mw_frame3Voice(vc_mse.iutIdUP),
										mw_frame4Voice(vc_mse.iutIdLP,p_cc))) // TODO JP-> v_superFrame
						{
							//TODO JP v_headerFrame
							repeat;
						}
					[] dp1Port.receive(m_endFrame(mw_endInformation(e_noAckReq)))
						{	
							// received correctly
							tc_ac.stop ;
							setverdict(pass);
						}
					[] tc_ac.timeout
					  	{
							log("**** f_TC_voiceTx_MS01: Timeout: TC Timer expiration before reception of complete Voice transmission ****");
							setverdict(fail);	
						}
					} // end alt
				}
			[] tc_ac.timeout
			  	{
					log("**** f_TC_voiceTx_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_voiceTx_MS01



@@ -815,6 +1074,108 @@ module dPMR_TestCases {

		} // end function f_TC_T1DataWithAutomaticDisconnectionRequestTx_MS01

		/**
		* @desc	Check that a data on T1 transmission from the MS (IUT) consists of 
		*		a Header Frame containing the Communication Mode set to '010b'
		* @param 	p_cc Colour Code
		*/
		function f_TC_T1DataHeaderTx_MS01 ( ColourCode p_cc )
		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(p_cc,e_dataT1));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_headerFrame(
									m_headerInformation(
										e_commStartHeader,
										vc_mse.testerId, 
										vc_mse.iutId,
										e_dataT1, // this is '010b' as in TP
										e_p2p),
									p_cc))
				{
					// received correctly
					tc_ac.stop ;
					setverdict(pass);
				}
			  [] tc_ac.timeout
			  	{
					log("**** f_TC_T1DataWithAutomaticDisconnectionRequestTx_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_T1DataHeaderTx_MS01

		/**
		* @desc	Check that a data on T1 transmission from the MS (IUT) consists of 
		*		a Header Frame containing the Communication Mode set to '010b'
		* @param 	p_cc Colour Code
		*/
		function f_TC_T2DataHeaderTx_MS01 ( ColourCode p_cc )
		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(p_cc,e_dataT1));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_headerFrame(
									m_headerInformation(
										e_commStartHeader,
										vc_mse.testerId, 
										vc_mse.iutId,
										e_dataT2, // this is '011b' as in TP
										e_p2p),
									p_cc))
				{
					// received correctly
					tc_ac.stop ;
					setverdict(pass);
				}
			  [] tc_ac.timeout
			  	{
					log("**** f_TC_T1DataWithAutomaticDisconnectionRequestTx_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_T2DataHeaderTx_MS01

		/**
		* @desc	Check that a manual Connection Request is sent from the IUT
		*       
@@ -1076,6 +1437,7 @@ module dPMR_TestCases {
			* @desc This function commands Tester to press PTT and then dekey PTT.
			* @param 	p_cc Colour Code
			*/
//TODO remove!
function f_TC_msPressPttThenDekeyPtt_UT(ColourCode p_cc)
			runs on Ut{
				//Variables
@@ -1118,7 +1480,7 @@ module dPMR_TestCases {
		   /**
			* @desc This function commands Tester to make manual Connection Request.
			* @param 	p_cc Colour Code
			*/
			*///TODOremove!
			function f_TC_msMakeManualConnectionRequest_UT(ColourCode p_cc)
			runs on Ut{
				//Variables
+3 −1
Original line number Diff line number Diff line
@@ -596,7 +596,9 @@ module dPMR_Types {
			e_makeManualConnectionRequest (4), // Make a manual Connection Request
			e_makeVoiceWithAutmaticConnectionRequest (5), // Make a voice with Automatic Connection Request
			e_makeManualDisconnectionRequest (6), // Make a manual Disconnection Request
			e_makeT1DataWithAutomaticDisconnectionRequest (7) // Make a T1 data with Automatic Disconnection Request
			e_makeT1DataWithAutomaticDisconnectionRequest (7), // Make a T1 data with Automatic Disconnection Request
			e_makeT1DataCall (8), // Make a T1 data call
			e_makeT2DataCall (9) // Make a T2 data call
		}

		/**