bts: Add test for high-resulotion timing offset / TOA256
this adds a new test that uses VTY to enable TOA256 support in
the uplink supplementary measurement and then tests TCH/H measurement
reports
Change-Id: Id39a71429596d46289a82e539796308816ad86f3
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 261d969..e68a20d 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -349,6 +349,7 @@
t_guard := t_guard,
l1_pars := {
dtx_enabled := false,
+ toa256_enabled := false,
meas_ul := {
full := {
rxlev := dbm2rxlev(-53),
@@ -689,6 +690,7 @@
type record ConnL1Pars {
boolean dtx_enabled,
+ boolean toa256_enabled,
MeasElemFS meas_ul,
int16_t timing_offset_256syms,
uint5_t bs_power_level,
@@ -716,6 +718,10 @@
rxq_s_u := l1p.meas_ul.sub.rxqual,
supp_meas_info := omit
};
+ if (l1p.toa256_enabled) {
+ ul_meas.len := 5;
+ ul_meas.supp_meas_info := int2oct(l1p.timing_offset_256syms, 2);
+ }
/* HACK HACK HACK FIXME HACK HACK HACK see https://osmocom.org/issues/2988 */
ul_meas.rxlev_f_u := ?;
ul_meas.rxlev_s_u := ?;
@@ -872,6 +878,19 @@
vc_conn.done;
}
}
+testcase TC_meas_res_sign_tchh_toa256() runs on test_CT {
+ var ConnHdlr vc_conn;
+ var ConnHdlrPars pars;
+ f_init(testcasename());
+ f_vty_config(BTSVTY, "bts 0", "supp-meas-info toa256");
+ for (var integer ss := 0; ss <= 1; ss := ss+1) {
+ pars := valueof(t_Pars(t_RslChanNr_Lm(5, ss), ts_RSL_ChanMode_SIGN));
+ pars.l1_pars.toa256_enabled := true;
+ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars);
+ vc_conn.done;
+ }
+}
+
/* Test if a channel without valid uplink bursts generates RSL CONN FAIL IND */
private function f_TC_conn_fail_crit(charstring id) runs on ConnHdlr {
@@ -1813,6 +1832,7 @@
execute( TC_meas_res_sign_tchh() );
execute( TC_meas_res_sign_sdcch4() );
execute( TC_meas_res_sign_sdcch8() );
+ execute( TC_meas_res_sign_tchh_toa256() );
execute( TC_conn_fail_crit() );
execute( TC_paging_imsi_80percent() );
execute( TC_paging_tmsi_80percent() );