<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: add TC_stat_num_bts_connected_* tests<br><br>Related: SYS#5542<br>Related: I2057a798e681a169cc03243a09b3d6449734c010 (osmo-bsc)<br>Change-Id: Ic1b35b7406547f92818afe399a2383d154576409<br>---<br>M bsc/BSC_Tests.ttcn<br>1 file changed, 78 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/25272/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn</span><br><span>index c8cc3de..e820a22 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -76,6 +76,7 @@</span><br><span> import from TCCConversion_Functions all;</span><br><span> </span><br><span> const integer NUM_BTS := 3;</span><br><span style="color: hsl(120, 100%, 40%);">+const integer NUM_BTS_CFG := 4; /* we have 4 BTS in the osmo-bsc.cfg (for inter-BSC HO tests) but use only 3 */</span><br><span> const integer NUM_MSC := 3;</span><br><span> const float T3101_MAX := 12.0;</span><br><span> </span><br><span>@@ -2837,6 +2838,80 @@</span><br><span>    f_shutdown_helper();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Verify correct stats on the number of configured and connected MSCs */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_tc_stat_num_bts_connected(integer expect_num_bts_connected) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+       g_pars := f_gen_test_hdlr_pars();</span><br><span style="color: hsl(120, 100%, 40%);">+     var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+         { name := "TTCN3.bsc.0.num_bts.oml_connected", mtype := "g", min := expect_num_bts_connected, max := NUM_BTS_CFG },</span><br><span style="color: hsl(120, 100%, 40%);">+               { name := "TTCN3.bsc.0.num_bts.all_trx_rsl_connected", mtype := "g", min := expect_num_bts_connected, max := expect_num_bts_connected },</span><br><span style="color: hsl(120, 100%, 40%);">+          { name := "TTCN3.bsc.0.num_bts.total", mtype := "g", min := NUM_BTS_CFG, max := NUM_BTS_CFG },</span><br><span style="color: hsl(120, 100%, 40%);">+            { name := "TTCN3.bsc.0.num_trx.rsl_connected", mtype := "g", min := expect_num_bts_connected, max := expect_num_bts_connected },</span><br><span style="color: hsl(120, 100%, 40%);">+          { name := "TTCN3.bsc.0.num_trx.total", mtype := "g", min := NUM_BTS_CFG, max := NUM_BTS_CFG }</span><br><span style="color: hsl(120, 100%, 40%);">+     };</span><br><span style="color: hsl(120, 100%, 40%);">+    f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_tc_stat_num_bts_connected_ctrl(integer expect_num_bts_connected) runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_bts:all_trx_rsl_connected", int2str(expect_num_bts_connected));</span><br><span style="color: hsl(120, 100%, 40%);">+  f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_bts:total", int2str(NUM_BTS_CFG));</span><br><span style="color: hsl(120, 100%, 40%);">+       f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_trx:rsl_connected", int2str(expect_num_bts_connected));</span><br><span style="color: hsl(120, 100%, 40%);">+  f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_trx:total", int2str(NUM_BTS_CFG));</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Verify that when 1 MSC is active, that num_bts:connected reports 1. */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_tc_stat_num_bts_connected_1(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+ f_tc_stat_num_bts_connected(1);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_stat_num_bts_connected_1() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  var MSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init(nr_bts := 1, handler_mode := true, nr_msc := 1);</span><br><span style="color: hsl(120, 100%, 40%);">+       f_sleep(1.0);</span><br><span style="color: hsl(120, 100%, 40%);">+ vc_conn := f_start_handler(refers(f_tc_stat_num_bts_connected_1));</span><br><span style="color: hsl(120, 100%, 40%);">+    vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Also verify stat exposed on CTRL interface */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_tc_stat_num_bts_connected_ctrl(1);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        f_shutdown_helper();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Verify that when 2 MSCs are active, that num_bts:connected reports 2. */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_tc_stat_num_bts_connected_2(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+  f_tc_stat_num_bts_connected(2);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_stat_num_bts_connected_2() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  var MSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init(nr_bts := 2, handler_mode := true, nr_msc := 1);</span><br><span style="color: hsl(120, 100%, 40%);">+       f_sleep(1.0);</span><br><span style="color: hsl(120, 100%, 40%);">+ vc_conn := f_start_handler(refers(f_tc_stat_num_bts_connected_2));</span><br><span style="color: hsl(120, 100%, 40%);">+    vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Also verify stat exposed on CTRL interface */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_tc_stat_num_bts_connected_ctrl(2);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        f_shutdown_helper();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Verify that when 3 MSCs are active, that num_bts:connected reports 3. */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_tc_stat_num_bts_connected_3(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+  f_tc_stat_num_bts_connected(3);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_stat_num_bts_connected_3() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  var MSC_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init(nr_bts := 3, handler_mode := true, nr_msc := 1);</span><br><span style="color: hsl(120, 100%, 40%);">+       f_sleep(1.0);</span><br><span style="color: hsl(120, 100%, 40%);">+ vc_conn := f_start_handler(refers(f_tc_stat_num_bts_connected_3));</span><br><span style="color: hsl(120, 100%, 40%);">+    vc_conn.done;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Also verify stat exposed on CTRL interface */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_tc_stat_num_bts_connected_ctrl(3);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        f_shutdown_helper();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> testcase TC_ctrl() runs on test_CT {</span><br><span>    var charstring ctrl_resp;</span><br><span> </span><br><span>@@ -9958,6 +10033,9 @@</span><br><span>       execute( TC_stat_num_msc_connected_1() );</span><br><span>    execute( TC_stat_num_msc_connected_2() );</span><br><span>    execute( TC_stat_num_msc_connected_3() );</span><br><span style="color: hsl(120, 100%, 40%);">+     execute( TC_stat_num_bts_connected_1() );</span><br><span style="color: hsl(120, 100%, 40%);">+     execute( TC_stat_num_bts_connected_2() );</span><br><span style="color: hsl(120, 100%, 40%);">+     execute( TC_stat_num_bts_connected_3() );</span><br><span>    execute( TC_ctrl() );</span><br><span>        if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_SCCPlite_SERVER) {</span><br><span>          execute( TC_ctrl_location() );</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272">change 25272</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ic1b35b7406547f92818afe399a2383d154576409 </div>
<div style="display:none"> Gerrit-Change-Number: 25272 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>