diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-03-12 13:07:24 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-03-17 18:21:48 +0100 |
commit | 075d84c895232bb6089da7b79f53090354115ec0 (patch) | |
tree | 1f4cd55d5c912ae649734b6bd919d93bcb6cf32e /bts | |
parent | 8df7d15a6642816fd1c06a443d7b14149bedf4e3 (diff) |
bts: Add TC_sacch_multi to test for scheduling of multiple SI on SACCH
Change-Id: I2b9a68a0dc004c2ebc8a39f0c7b7aad690675a2d
Diffstat (limited to 'bts')
-rw-r--r-- | bts/BTS_Tests.ttcn | 47 |
1 files changed, 46 insertions, 1 deletions
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() ); |