summaryrefslogtreecommitdiffstats
path: root/bts/BTS_Tests.ttcn
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-02-27 20:42:05 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-27 22:32:54 +0100
commit685d598171483fc823b98fb4fd6cc64d3c019274 (patch)
tree85e258bd236a45655a54d33b3f8b05e003deb615 /bts/BTS_Tests.ttcn
parent8da4824ecb2df6a563b4843e8f2a7d3cf2b7e954 (diff)
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
Diffstat (limited to 'bts/BTS_Tests.ttcn')
-rw-r--r--bts/BTS_Tests.ttcn20
1 files changed, 20 insertions, 0 deletions
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 @@ private template ConnHdlrPars t_Pars(template RslChannelNr chan_nr,
t_guard := t_guard,
l1_pars := {
dtx_enabled := false,
+ toa256_enabled := false,
meas_ul := {
full := {
rxlev := dbm2rxlev(-53),
@@ -689,6 +690,7 @@ type record MeasElemFS {
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 @@ private function f_build_meas_res_tmpl() runs on ConnHdlr return template RSL_Me
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 @@ testcase TC_meas_res_sign_sdcch8() runs on test_CT {
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 @@ control {
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() );