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>