fixeria has submitted this change. (
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 on 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
Related: OS#6618
---
M bts/BTS_Tests.ttcn
M bts/expected-results.xml
2 files changed, 133 insertions(+), 3 deletions(-)
Approvals:
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
fixeria: Looks good to me, approved
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 5e55407..1ba8d53 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,41 @@
}
}
- /* 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);
+
+ /* Activate the RTP emulation (performs CRCX/MDCX) */
+ f_rtpem_activate(mode := RTPEM_MODE_LOOPBACK, rtp_pt := 120);
+
+ /* Tune to the dedicated channel */
+ f_l1_tune(L1CTL);
+ f_est_dchan(act_type := c_RSL_IE_ActType_ASS);
+
+ /* Give it some time to stabilize */
+ f_sleep(0.5);
+
+ /* 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_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);
}
+
testcase TC_data_rtp_tchf144() runs on test_CT {
var ConnHdlr vc_conn;
var ConnHdlrPars pars;
@@ -8706,6 +8734,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 +8769,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 +8804,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 +8839,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 +8873,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 +8907,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 +9549,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() );
+ execute( TC_data_facch_tchh48() );
+ execute( TC_data_facch_tchf24() );
+ 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..c10e668 100644
--- a/bts/expected-results.xml
+++ b/bts/expected-results.xml
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<testsuite name='Titan' tests='242' failures='5'
errors='0' skipped='0' inconc='0' time='MASKED'>
+<testsuite name='Titan' tests='248' failures='5'
errors='0' skipped='0' inconc='0' time='MASKED'>
<testcase classname='BTS_Tests' name='TC_est_dchan'
time='MASKED'/>
<testcase classname='BTS_Tests' name='TC_chan_act_stress'
time='MASKED'/>
<testcase classname='BTS_Tests' name='TC_chan_act_react'
time='MASKED'/>
@@ -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: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I2098ccd651fc2a81f62e70be64af386ab0ca6148
Gerrit-Change-Number: 38696
Gerrit-PatchSet: 6
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>