BTS_Tests: verify hopping parameters in the INFO.ind message

Change-Id: I9bb164fd2c7c48b91e0d7bd1abaf3cfec155342c
Related: I04782222b499d0488269544910fbd4ed9929c05d
Related: SYS#4868, OS#4546, OS#4547
This commit is contained in:
Vadim Yanitskiy 2020-08-03 04:22:04 +07:00
parent 4fa7425b14
commit 7faef076ab
1 changed files with 45 additions and 0 deletions

View File

@ -5442,6 +5442,48 @@ testcase TC_pcu_socket_verify_info_ind() runs on test_CT {
setverdict(pass);
}
/* Verify hopping parameters in the INFO.ind message (version >= 10) */
testcase TC_pcu_info_ind_fh_params() runs on test_CT {
var PCUIF_info_ind info_ind;
var ConnHdlrPars pars;
f_init();
info_ind := g_pcu_last_info.u.info_ind;
for (var integer i := 0; i < mp_transceiver_num; i := i + 1) {
for (var integer tn := 0; tn < 8; tn := tn + 1) {
if (info_ind.trx.v10[i].pdch_mask[tn] != '1'B) {
/* Skip inactive timeslots */
continue;
}
pars := valueof(t_Pars(t_RslChanNr_PDCH(tn), ts_RSL_ChanMode_SIGN));
if (mp_freq_hop_enabled and mp_transceiver_num > 1)
{ f_resolve_fh_params(pars); }
var template PCUIF_InfoTrxTs tr_ts;
if (ispresent(pars.maio_hsn)) {
tr_ts := tr_PCUIF_InfoTrxTsH1(
hsn := pars.maio_hsn.hsn,
maio := pars.maio_hsn.maio,
ma := f_pad_bit(pars.ma_map.ma, 64, '0'B));
} else {
tr_ts := tr_PCUIF_InfoTrxTsH0;
}
var PCUIF_InfoTrxTs ts := info_ind.trx.v10[i].ts[tn];
log("Checking timeslot #", tn, " of trx#", i, ": ", ts);
if (not match(ts, tr_ts)) {
setverdict(fail, "Hopping parameters do not match: ",
"received ", ts, " vs expected ", tr_ts);
} else {
setverdict(pass);
}
}
}
}
/***********************************************************************
* Osmocom Style Dynamic Timeslot Support
***********************************************************************/
@ -6844,6 +6886,9 @@ control {
execute( TC_dyn_ipa_pdch_act_deact() );
execute( TC_dyn_ipa_pdch_act_tchf_act_nack() );
if (PCUIF_Types.mp_pcuif_version >= 10) {
execute( TC_pcu_info_ind_fh_params() );
}
} else {
log("PCU socket path not available, skipping PCU tests");
}