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
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 */