fixeria has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38696?usp=email )
Change subject: bts: add TC_data_facch_*: test FACCH/[FH] on data channels
......................................................................
bts: add TC_data_facch_*: test FACCH/[FH] on data channels
So far we have been testing the actual traffic of TCH/[FH] in data
mode (CSD), but not FACCH/[FH]. Add separate testcases for that.
Half-rate variants of the new testcases crash osmo-bts-trx, so
comment them out in the control section until the problem is fixed.
Change-Id: I2098ccd651fc2a81f62e70be64af386ab0ca6148
---
M bts/BTS_Tests.ttcn
M bts/expected-results.xml
2 files changed, 126 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/38696/1
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 5e55407..bac2828 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -8614,7 +8614,7 @@
var L1ctlMessage l1_dl;
timer Td;
- log("Testing channel mode ", g_pars.chan_mode);
+ log(__SCOPE__, "(): Testing channel mode ", g_pars.chan_mode);
select (g_pars.chan_mode) {
case (tr_RSL_ChanMode_DATA(RSL_CHRT_TCH_F, (RSL_CMOD_CSD_T_14k4,
RSL_CMOD_CSD_NT_14k5)))
@@ -8679,13 +8679,34 @@
}
}
- /* TODO: send and expect FACCH */
-
f_rtpem_mode(RTPEM_CTRL, RTPEM_MODE_NONE);
f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr);
f_rsl_chan_deact();
f_rslem_unregister(0, g_chan_nr);
}
+
+private function f_TC_data_facch(charstring id) runs on ConnHdlr {
+ var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0));
+ var L1ctlMessage l1_dl;
+ timer Td;
+
+ log(__SCOPE__, "(): Testing channel mode ", g_pars.chan_mode);
+
+ /* Tune to the dedicated channel */
+ f_l1_tune(L1CTL);
+ f_est_dchan(act_type := c_RSL_IE_ActType_ASS);
+
+ /* Establish the main SAPI=0 link on FACCH */
+ f_est_rll_mo(0, link_id, ''O);
+
+ f_unitdata_mo(link_id, f_rnd_octstring(15));
+ f_unitdata_mt(link_id, f_rnd_octstring(15));
+
+ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr);
+ f_rsl_chan_deact();
+ f_rslem_unregister(0, g_chan_nr);
+}
+
testcase TC_data_rtp_tchf144() runs on test_CT {
var ConnHdlr vc_conn;
var ConnHdlrPars pars;
@@ -8706,6 +8727,20 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+testcase TC_data_facch_tchf144() runs on test_CT {
+ var ConnHdlr vc_conn;
+ var ConnHdlrPars pars;
+
+ f_init();
+
+ /* TS1, TCH/F14.4 (14k5 radio interface rate), transparent service */
+ pars := valueof(t_Pars(ts_RslChanNr_Bm(1),
+ ts_RSL_ChanMode_DATA(RSL_CHRT_TCH_F, RSL_CMOD_CSD_T_14k4)));
+ vc_conn := f_start_handler(refers(f_TC_data_facch), pars);
+ vc_conn.done;
+
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+}
testcase TC_data_rtp_tchf96() runs on test_CT {
var ConnHdlr vc_conn;
@@ -8727,6 +8762,20 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+testcase TC_data_facch_tchf96() runs on test_CT {
+ var ConnHdlr vc_conn;
+ var ConnHdlrPars pars;
+
+ f_init();
+
+ /* TS1, TCH/F9.6 (12k radio interface rate), transparent service */
+ pars := valueof(t_Pars(ts_RslChanNr_Bm(1),
+ ts_RSL_ChanMode_DATA(RSL_CHRT_TCH_F, RSL_CMOD_CSD_T_9k6)));
+ vc_conn := f_start_handler(refers(f_TC_data_facch), pars);
+ vc_conn.done;
+
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+}
testcase TC_data_rtp_tchf48() runs on test_CT {
var ConnHdlr vc_conn;
@@ -8748,6 +8797,20 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+testcase TC_data_facch_tchf48() runs on test_CT {
+ var ConnHdlr vc_conn;
+ var ConnHdlrPars pars;
+
+ f_init();
+
+ /* TS1, TCH/F4.8 (6k radio interface rate), transparent service */
+ pars := valueof(t_Pars(ts_RslChanNr_Bm(1),
+ ts_RSL_ChanMode_DATA(RSL_CHRT_TCH_F, RSL_CMOD_CSD_T_4k8)));
+ vc_conn := f_start_handler(refers(f_TC_data_facch), pars);
+ vc_conn.done;
+
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+}
testcase TC_data_rtp_tchh48() runs on test_CT {
var ConnHdlr vc_conn;
@@ -8769,6 +8832,20 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+testcase TC_data_facch_tchh48() runs on test_CT {
+ var ConnHdlr vc_conn;
+ var ConnHdlrPars pars;
+
+ f_init();
+
+ /* TS5, TCH/H4.8 (6k radio interface rate), transparent service */
+ pars := valueof(t_Pars(ts_RslChanNr_Lm(5, 0),
+ ts_RSL_ChanMode_DATA(RSL_CHRT_TCH_H, RSL_CMOD_CSD_T_4k8)));
+ vc_conn := f_start_handler(refers(f_TC_data_facch), pars);
+ vc_conn.done;
+
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+}
testcase TC_data_rtp_tchf24() runs on test_CT {
var ConnHdlr vc_conn;
@@ -8789,6 +8866,20 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+testcase TC_data_facch_tchf24() runs on test_CT {
+ var ConnHdlr vc_conn;
+ var ConnHdlrPars pars;
+
+ f_init();
+
+ /* TS1, TCH/F2.4 (3k6 radio interface rate), transparent services only */
+ pars := valueof(t_Pars(ts_RslChanNr_Bm(1),
+ ts_RSL_ChanMode_DATA(RSL_CHRT_TCH_F, RSL_CMOD_CSD_T_2k4)));
+ vc_conn := f_start_handler(refers(f_TC_data_facch), pars);
+ vc_conn.done;
+
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+}
testcase TC_data_rtp_tchh24() runs on test_CT {
var ConnHdlr vc_conn;
@@ -8809,6 +8900,20 @@
Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
}
+testcase TC_data_facch_tchh24() runs on test_CT {
+ var ConnHdlr vc_conn;
+ var ConnHdlrPars pars;
+
+ f_init();
+
+ /* TS5, TCH/H2.4 (3k6 radio interface rate), transparent services only */
+ pars := valueof(t_Pars(ts_RslChanNr_Lm(5, 0),
+ ts_RSL_ChanMode_DATA(RSL_CHRT_TCH_H, RSL_CMOD_CSD_T_2k4)));
+ vc_conn := f_start_handler(refers(f_TC_data_facch), pars);
+ vc_conn.done;
+
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+}
private function f_TC_early_immediate_assignment(charstring id) runs on ConnHdlr {
@@ -9437,6 +9542,13 @@
execute( TC_data_rtp_tchf24() );
execute( TC_data_rtp_tchh24() );
+ execute( TC_data_facch_tchf144() );
+ execute( TC_data_facch_tchf96() );
+ execute( TC_data_facch_tchf48() );
+ /* TODO: execute( TC_data_facch_tchh48() ); */
+ execute( TC_data_facch_tchf24() );
+ /* TODO: execute( TC_data_facch_tchh24() ); */
+
execute( TC_early_immediate_assignment() );
execute( TC_acch_overpower_rxqual_thresh() );
diff --git a/bts/expected-results.xml b/bts/expected-results.xml
index c06f328..9c1b883 100644
--- a/bts/expected-results.xml
+++ b/bts/expected-results.xml
@@ -194,6 +194,17 @@
<testcase classname='BTS_Tests' name='TC_data_rtp_tchh48'
time='MASKED'/>
<testcase classname='BTS_Tests' name='TC_data_rtp_tchf24'
time='MASKED'/>
<testcase classname='BTS_Tests' name='TC_data_rtp_tchh24'
time='MASKED'/>
+ <testcase classname='BTS_Tests' name='TC_data_facch_tchf144'
time='MASKED'>
+ <failure type='fail-verdict'>Rx unexpected RSL port message: MASKED
+ BTS_Tests.ttcn:MASKED BTS_Tests control part
+ BTS_Tests.ttcn:MASKED TC_data_rtp_tchf144 testcase
+ </failure>
+ </testcase>
+ <testcase classname='BTS_Tests' name='TC_data_facch_tchf96'
time='MASKED'/>
+ <testcase classname='BTS_Tests' name='TC_data_facch_tchf48'
time='MASKED'/>
+ <testcase classname='BTS_Tests' name='TC_data_facch_tchh48'
time='MASKED'/>
+ <testcase classname='BTS_Tests' name='TC_data_facch_tchf24'
time='MASKED'/>
+ <testcase classname='BTS_Tests' name='TC_data_facch_tchh24'
time='MASKED'/>
<testcase classname='BTS_Tests' name='TC_early_immediate_assignment'
time='MASKED'/>
<testcase classname='BTS_Tests'
name='TC_acch_overpower_rxqual_thresh' time='MASKED'/>
<testcase classname='BTS_Tests'
name='TC_acch_overpower_rxqual_thresh_dtx' time='MASKED'/>
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38696?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I2098ccd651fc2a81f62e70be64af386ab0ca6148
Gerrit-Change-Number: 38696
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>