[PATCH] osmo-ttcn3-hacks[master]: bts: Add TC_sacch_multi_chg

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Mon Mar 12 14:07:47 UTC 2018


Review at  https://gerrit.osmocom.org/7253

bts: Add TC_sacch_multi_chg

Change-Id: I0b002488729f30cc8d0ff6f4ca16637c35ee956f
---
M bts/BTS_Tests.ttcn
1 file changed, 72 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/7253/1

diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index b0b0198..c5bcfcd 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -636,6 +636,7 @@
 	f_shutdown();
 }
 
+/* verify that given SACCH payload is present */
 private function f_sacch_present(template octetstring l3_exp) runs on ConnHdlr {
 	var L1ctlDlMessage dl;
 	/* check that the specified SI5 value is actually sent */
@@ -655,6 +656,30 @@
 	[] T_sacch.timeout {
 		setverdict(fail, "Timeout waiting for SACCH ", l3_exp);
 		self.stop;
+		}
+	}
+}
+
+/* verify that given SACCH payload is not present */
+private function f_sacch_missing(template octetstring l3_exp) runs on ConnHdlr {
+	var L1ctlDlMessage dl;
+	/* check that the specified SI5 value is actually sent */
+	timer T_sacch := 3.0;
+	L1CTL.clear;
+	T_sacch.start;
+	alt {
+	[] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(0))) -> value dl {
+		var octetstring l3 := substr(dl.payload.data_ind.payload, 4, 19);
+		if (match(l3, l3_exp)) {
+			setverdict(fail, "Received unexpected SACCH ", dl);
+			self.stop;
+		} else {
+			repeat;
+		}
+		}
+	[] L1CTL.receive { repeat; }
+	[] T_sacch.timeout {
+		setverdict(pass);
 		}
 	}
 }
@@ -778,6 +803,52 @@
 		pars := valueof(t_Pars(g_AllChannels[i], ts_RSL_ChanMode_SIGN));
 		log(testcasename(), ": Starting for ", g_AllChannels[i]);
 		vc_conn := f_start_handler(refers(f_TC_sacch_multi), pars);
+		vc_conn.done;
+	}
+	/* TODO: do the above in parallel, rather than sequentially? */
+	f_shutdown();
+}
+
+/* Test if SACH information is modified as expected */
+private function f_TC_sacch_multi_chg(charstring id) runs on ConnHdlr {
+	var octetstring si5 := f_rnd_octstring(19);
+	var octetstring si6 := f_rnd_octstring(19);
+
+	/* First, configure both SI5 and SI6 to be transmitted */
+	RSL.send(ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_5, si5));
+	RSL.send(ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_6, si6));
+
+	f_l1_tune(L1CTL);
+	RSL.clear;
+
+	/* activate the logical channel */
+	f_est_dchan();
+	L1CTL.clear;
+
+	/* check that SACCH actually are received as expected */
+	f_sacch_present(si5);
+	f_sacch_present(si6);
+
+	/* disable SI6 */
+	RSL.send(ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_6, ''O));
+
+	/* check that SI5 is still transmitted */
+	f_sacch_present(si5);
+	/* check if SI6 is now gone */
+	f_sacch_missing(si6);
+
+	/* release the channel */
+	f_rsl_chan_deact();
+	f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr);
+}
+testcase TC_sacch_multi_chg() runs on test_CT {
+	var ConnHdlr vc_conn;
+	var ConnHdlrPars pars;
+	f_init();
+	for (var integer i := 0; i < sizeof(g_AllChannels); i := i+1) {
+		pars := valueof(t_Pars(g_AllChannels[i], ts_RSL_ChanMode_SIGN));
+		log(testcasename(), ": Starting for ", g_AllChannels[i]);
+		vc_conn := f_start_handler(refers(f_TC_sacch_multi_chg), pars);
 		vc_conn.done;
 	}
 	/* TODO: do the above in parallel, rather than sequentially? */
@@ -2577,6 +2648,7 @@
 	execute( TC_sacch_filling() );
 	execute( TC_sacch_info_mod() );
 	execute( TC_sacch_multi() );
+	execute( TC_sacch_multi_chg() );
 	execute( TC_rach_content() );
 	execute( TC_rach_count() );
 	execute( TC_rach_max_ta() );

-- 
To view, visit https://gerrit.osmocom.org/7253
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b002488729f30cc8d0ff6f4ca16637c35ee956f
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>



More information about the gerrit-log mailing list