From 075d84c895232bb6089da7b79f53090354115ec0 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 12 Mar 2018 13:07:24 +0100 Subject: bts: Add TC_sacch_multi to test for scheduling of multiple SI on SACCH Change-Id: I2b9a68a0dc004c2ebc8a39f0c7b7aad690675a2d --- bts/BTS_Tests.ttcn | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'bts/BTS_Tests.ttcn') diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 15d5f6da..bc295c7e 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -742,7 +742,51 @@ testcase TC_sacch_info_mod() runs on test_CT { f_shutdown(); } -/* Test for SACCH transmission rules in the context of special CHAN ACT (HO) */ +/* Test SACCH scheduling of multiple different SI message types */ +private function f_TC_sacch_multi(charstring id) runs on ConnHdlr { + var octetstring si5 := f_rnd_octstring(19); + var octetstring si5bis := f_rnd_octstring(19); + var octetstring si5ter := f_rnd_octstring(19); + var octetstring si6 := f_rnd_octstring(19); + + RSL.send(ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_5, si5)); + RSL.send(ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_5bis, si5bis)); + RSL.send(ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_5ter, si5ter)); + 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(si5bis); + f_sacch_present(si5ter); + f_sacch_present(si6); + + /* release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); +} +testcase TC_sacch_multi() 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), pars); + vc_conn.done; + } + /* TODO: do the above in parallel, rather than sequentially? */ + f_shutdown(); +} + +/* TODO: Test for SACCH information present in RSL CHAN ACT (overrides FILLING) */ +/* TODO: Test for SACCH transmission rules in the context of special CHAN ACT (HO) */ /*********************************************************************** @@ -2533,6 +2577,7 @@ control { execute( TC_deact_sacch() ); execute( TC_sacch_filling() ); execute( TC_sacch_info_mod() ); + execute( TC_sacch_multi() ); execute( TC_rach_content() ); execute( TC_rach_count() ); execute( TC_rach_max_ta() ); -- cgit v1.2.3