fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34673?usp=email )
Change subject: BTS_Tests: fix TC_rsl_rf_resource_ind: handle dynTS and PDCH ......................................................................
BTS_Tests: fix TC_rsl_rf_resource_ind: handle dynTS and PDCH
Change-Id: I2d13fd3f0fd15d1762bf6f2f61de85cbe990ec36 Related: osmo-bts.git I56f83db5264c246ec1b4b8a973105a4fc09931fb Related: SYS#5313, OS#5956 --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/34673/1
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6e4a36a..db66b0c 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -7758,22 +7758,38 @@ } } testcase TC_rsl_rf_resource_ind() runs on test_CT { + var TrxParsItem trx_pars := mp_trx_pars[0]; var RSL_ResourceInfo info := { }; + var ChannelNrs chans := { };
f_init(trx_nr := 0);
f_init_l1ctl(); f_l1_tune(L1CTL);
- /* g_AllChannels contains all logical channels */ - for (var integer i := 0; i < lengthof(g_AllChannels); i := i + 1) { - var RslChannelNr chan_nr := g_AllChannels[i]; + /* Generate a list of logical channels from module parameters */ + for (var integer tn := 0; tn < lengthof(trx_pars.ts); tn := tn + 1) { + var PchanConfig config := trx_pars.ts[tn].config; + select (config) { + case (GSM_PCHAN_TCHH_TCHF_PDCH) { + /* dyn/osmocom: set to NONE by default */ + } + case (GSM_PCHAN_TCHF_PDCH) { + /* dyn/ipaccess: set to TCH/F by default */ + chans := chans & { valueof(ts_RslChanNr_Bm(tn)) }; + } + case (GSM_PCHAN_PDCH) { + chans := chans & { valueof(ts_RslChanNr_PDCH(tn)) }; + } + case else { + chans := chans & f_gen_chans_for_ts(tn, config); + } + } + }
- /* FIXME: osmo-bts does not report for Osmocom style dynamic timeslots */ - if (mp_trx_pars[0].ts[chan_nr.tn].config == GSM_PCHAN_TCHH_TCHF_PDCH) - { continue; } - - info := info & { valueof(ts_RSL_ResourceInfoItem(chan_nr, mp_interf_band)) }; + /* Generate a list of RSL ResourceInfo items */ + for (var integer i := 0; i < lengthof(chans); i := i + 1) { + info := info & { valueof(ts_RSL_ResourceInfoItem(chans[i], mp_interf_band)) }; }
/* Align to the first interference report */