From af03bef6a2d7875149b3c86588b5104bac5f6786 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Tue, 24 Aug 2021 15:34:51 +0200 Subject: [PATCH] bsc: add TC_stats_conn_fail Verify that stat bts.N.chan.rf_fail_sdcch works correctly. Related: SYS#4878 Change-Id: I310ea1609168bc26790875767943e0545ed05177 --- bsc/BSC_Tests.ttcn | 43 +++++++++++++++++++++++++++++++++++++++++++ bsc/README.txt | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2471a5061..6befa69a3 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1782,6 +1782,48 @@ testcase TC_late_conn_fail() runs on test_CT { f_shutdown_helper(); } +private function f_TC_stats_conn_fail(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + + f_statsd_reset(); + + /* Establish SDCCH */ + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCSD); + f_establish_fully(ass_cmd, exp_fail); + + /* Expect stats to be 0 */ + var StatsDExpects expect := { + {name := "TTCN3.bts.0.chan.rf_fail", mtype := "c", min := 0, max := 0}, + {name := "TTCN3.bts.0.chan.rf_fail_sdcch", mtype := "c", min := 0, max := 0} + }; + f_statsd_expect(expect); + + /* Simulate CONN FAIL IND on SDCCH */ + RSL.send(ts_ASP_RSL_UD( + ts_RSL_CONN_FAIL_IND(g_chan_nr, RSL_ERR_RADIO_LINK_FAIL), + IPAC_PROTO_RSL_TRX0)); + + /* Expect stats to be 1 */ + expect := { + {name := "TTCN3.bts.0.chan.rf_fail", mtype := "c", min := 1, max := 1}, + {name := "TTCN3.bts.0.chan.rf_fail_sdcch", mtype := "c", min := 1, max := 1} + }; + f_statsd_expect(expect); +} +testcase TC_stats_conn_fail() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_stats_conn_fail), pars); + vc_conn.done; + + f_shutdown_helper(); +} + function f_expect_chan_rel(integer bts_nr, RslChannelNr rsl_chan_nr, boolean expect_deact_sacch := true, boolean expect_rr_chan_rel := true, @@ -10092,6 +10134,7 @@ control { /* at bottom as they might crash OsmoBSC before OS#3182 is fixed */ execute( TC_early_conn_fail() ); execute( TC_late_conn_fail() ); + execute( TC_stats_conn_fail() ); /* Emergency call handling (deny / allow) */ execute( TC_assignment_emerg_setup_allow() ); diff --git a/bsc/README.txt b/bsc/README.txt index aa785ada9..e992dba33 100644 --- a/bsc/README.txt +++ b/bsc/README.txt @@ -62,7 +62,7 @@ x supported/unsupported/invalid ciphers x no response to CHAN ACT x CONN FAIL IND from BTS -** verify counter increment of BTS_CTR_CHAN_RF_FAIL +xx verify counter increment of BTS_CTR_CHAN_RF_FAIL * no (or late?) response to RF CHAN REL * no (or late?) response to RLL RELEASE REQ x RLL messages on not-activated channels