pcu: add TC_stat_pdch_avail_occ

Test new stats bts.N.pdch.available/occupied, which count available
PDCHs (3GPP TS 52.402 § B.2.1.38) as well as occupied PDCHs
(§ B.2.1.42-44).

Related: SYS#4878
Related: osmo-pcu I74760a68ee055510a79e80854ec7bf1521669119
Change-Id: I607b4729740159c161af824317f9fc04878eb13d
This commit is contained in:
Oliver Smith 2021-09-03 11:38:51 +02:00 committed by osmith
parent 3921fb5b43
commit 3d174882ba
1 changed files with 47 additions and 0 deletions

View File

@ -5992,6 +5992,51 @@ testcase TC_pdch_energy_saving() runs on RAW_PCU_Test_CT {
f_shutdown(__BFILE__, __LINE__, final := true);
}
/* Test stats for available and occupied PDCHs */
testcase TC_stat_pdch_avail_occ() runs on RAW_PCU_Test_CT {
var PCUIF_info_ind info_ind := valueof(ts_PCUIF_INFO_default);
const BssgpBvci bvci := mp_gb_cfg.bvc[0].bvci;
/* Initialize NS/BSSGP side */
f_init_bssgp();
/* Only 1 TRX with 8 PDCH */
f_PCUIF_PDCHMask_set(info_ind, '11111111'B, 0);
f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7));
/* Allocate 17 GprsMS instances */
f_init_gprs_ms(4);
/* Initialize the PCU interface abstraction */
f_init_raw(testcasename(), info_ind);
/* Reset stats */
f_statsd_reset();
/* Establish BSSGP */
f_bssgp_establish();
/* 8 PDCHs available, 0 occupied */
var StatsDExpects expect := {
{ name := "TTCN3.bts.0.pdch.available", mtype := "g", min := 8, max := 8 },
{ name := "TTCN3.bts.0.pdch.occupied", mtype := "g", min := 0, max := 0 }
};
f_statsd_expect(expect);
/* Establish an Uplink TBF for each GprsMS instance */
f_multi_ms_bssgp_register();
f_multi_ms_establish_tbf(do_activate := false);
/* 4 PDCHs occupied */
expect := {
{ name := "TTCN3.bts.0.pdch.available", mtype := "g", min := 8, max := 8 },
{ name := "TTCN3.bts.0.pdch.occupied", mtype := "g", min := 4, max := 4 }
};
f_statsd_expect(expect);
f_shutdown(__BFILE__, __LINE__, final := true);
}
control {
execute( TC_pcuif_suspend() );
execute( TC_pcuif_suspend_active_tbf() );
@ -6098,6 +6143,8 @@ control {
execute( TC_rim_ran_info_req_single_rep_no_si() );
execute (TC_pdch_energy_saving() );
execute( TC_stat_pdch_avail_occ() );
}
}