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 <vyanits...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>

Reply via email to