BTS_Tests: introduce and use as_pcuif_check_pdch_mask()

This altstep would reduce code duplication.

Change-Id: Ic66598e3d2706da7caca7b27b9880562b0fcb9bd
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 574d47b..1c8127b 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -5438,9 +5438,21 @@
  * Osmocom Style Dynamic Timeslot Support
  ***********************************************************************/
 
-private function f_dyn_osmo_pdch_act(integer pcu_conn_id, integer bts_nr, integer trx_nr)
+private altstep as_pcuif_check_pdch_mask(integer pcu_conn_id, BIT1 exp,
+					 integer bts_nr, integer trx_nr)
 runs on ConnHdlr {
 	var PCUIF_send_data sd;
+
+	[] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd {
+		var bitstring pdch_mask := sd.data.u.info_ind.trx[trx_nr].pdch_mask;
+		if (substr(pdch_mask, g_chan_nr.tn, 1) != exp) {
+			repeat;
+		}
+	}
+}
+
+private function f_dyn_osmo_pdch_act(integer pcu_conn_id, integer bts_nr, integer trx_nr)
+runs on ConnHdlr {
 	/* Expect BTS to immediately acknowledge activation as PDCH */
 	PCU.clear;
 	f_rsl_chan_act(g_pars.chan_mode);
@@ -5448,13 +5460,7 @@
 	timer T_wait := 2.0;
 	T_wait.start;
 	alt {
-	[] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd {
-		if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '1'B) {
-			log("PCUIF_INFO_IND PDCH_MASK not yet '1' after PDCH ACT on TS", g_chan_nr.tn,
-			    " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask);
-			repeat;
-		}
-		}
+	[] as_pcuif_check_pdch_mask(pcu_conn_id, '1'B, bts_nr, trx_nr);
 	[] PCU.receive { repeat; }
 	[] T_wait.timeout {
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
@@ -5468,7 +5474,6 @@
 
 private function f_dyn_osmo_pdch_deact(integer pcu_conn_id, integer bts_nr, integer trx_nr)
 runs on ConnHdlr {
-	var PCUIF_send_data sd;
 	/* Send RSL CHAN REL (deactivate) */
 	PCU.clear;
 	RSL.send(ts_RSL_RF_CHAN_REL(g_chan_nr));
@@ -5476,13 +5481,7 @@
 	timer T_wait := 2.0;
 	T_wait.start;
 	alt {
-	[] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd {
-		if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '0'B) {
-			log("PCUIF_INFO_IND PDCH_MASK not yet '0' after PDCH DEACT on TS", g_chan_nr.tn,
-			    " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask);
-			repeat;
-		}
-		}
+	[] as_pcuif_check_pdch_mask(pcu_conn_id, '0'B, bts_nr, trx_nr);
 	[] PCU.receive { repeat; }
 	[] T_wait.timeout {
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
@@ -5638,7 +5637,6 @@
 
 private function f_dyn_ipa_pdch_act(integer pcu_conn_id, integer bts_nr, integer trx_nr)
 runs on ConnHdlr {
-	var PCUIF_send_data sd;
 	/* Expect BTS to immediately acknowledge activation as PDCH */
 	PCU.clear;
 	RSL.send(ts_RSL_IPA_PDCH_ACT(g_chan_nr));
@@ -5646,13 +5644,7 @@
 	timer T_wait := 2.0;
 	T_wait.start;
 	alt {
-	[] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd {
-		if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '1'B) {
-			log("PCUIF_INFO_IND PDCH_MASK not yet '1' after PDCH ACT on TS", g_chan_nr.tn,
-			    " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask);
-			repeat;
-		}
-		}
+	[] as_pcuif_check_pdch_mask(pcu_conn_id, '1'B, bts_nr, trx_nr);
 	[] PCU.receive { repeat; }
 	[] T_wait.timeout {
 	        Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
@@ -5668,7 +5660,6 @@
 
 private function f_dyn_ipa_pdch_deact(integer pcu_conn_id, integer bts_nr, integer trx_nr)
 runs on ConnHdlr {
-	var PCUIF_send_data sd;
 	/* Send RSL CHAN REL (deactivate) */
 	RSL.send(ts_RSL_IPA_PDCH_DEACT(g_chan_nr));
 	PCU.clear;
@@ -5676,13 +5667,7 @@
 	timer T_wait := 2.0;
 	T_wait.start;
 	alt {
-	[] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd {
-		if (substr(sd.data.u.info_ind.trx[trx_nr].pdch_mask, g_chan_nr.tn, 1) != '0'B) {
-			log("PCUIF_INFO_IND PDCH_MASK not yet '0' after PDCH DEACT on TS", g_chan_nr.tn,
-			    " mask:", sd.data.u.info_ind.trx[trx_nr].pdch_mask);
-			repeat;
-		}
-		}
+	[] as_pcuif_check_pdch_mask(pcu_conn_id, '0'B, bts_nr, trx_nr);
 	[] PCU.receive { repeat; }
 	[] T_wait.timeout {
 	        Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,