<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/14106">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bts: Test for removal of CBCH DEFAULT message<br><br>Add a new testcase TC_sms_cb_cmd_sdcch4_default_then_null() which first<br>installes a DEFAULT message, verifies that, then removes the default<br>message and verifies only NULL CBCH blocks are sent anymore.<br><br>Change-Id: I9608d42a164a6210f100d10cb3ccfb7735975011<br>Related: OS#4011<br>---<br>M bts/BTS_Tests_SMSCB.ttcn<br>1 file changed, 52 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn</span><br><span>index 34e17be..c991877 100644</span><br><span>--- a/bts/BTS_Tests_SMSCB.ttcn</span><br><span>+++ b/bts/BTS_Tests_SMSCB.ttcn</span><br><span>@@ -120,6 +120,13 @@</span><br><span>       }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private function f_rsl_smscb_default_null() runs on test_CT</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    var RSL_IE_CbCommandType cmd_type :=</span><br><span style="color: hsl(120, 100%, 40%);">+                          valueof(ts_RSL_IE_CbCmdType(RSL_CB_CMD_DEFAULT, 1, true));</span><br><span style="color: hsl(120, 100%, 40%);">+    RSL_CCHAN.send(ts_RSL_UD(ts_RSL_SMSCB_CMD(cmd_type, ''O)));</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> private function f_smscb_setup(inout CbchTestPars pars) runs on test_CT {</span><br><span>        var integer i;</span><br><span> </span><br><span>@@ -446,6 +453,50 @@</span><br><span>    Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* first set a DEFAULT message, then disable it again */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_sms_cb_cmd_sdcch4_default_then_null() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var CbchTestPars pars := {</span><br><span style="color: hsl(120, 100%, 40%);">+            use_sdcch4 := true,</span><br><span style="color: hsl(120, 100%, 40%);">+           msgs := msgs_1m_3b_default</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+    var L1ctlDlMessage dl;</span><br><span style="color: hsl(120, 100%, 40%);">+        timer T := 5.0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     f_TC_smscb_default_only(pars);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* disable DEFAULT message; switch back to NULL */</span><br><span style="color: hsl(120, 100%, 40%);">+    f_rsl_smscb_default_null();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* ensure whatever initial non-NULL messages have all been drained */</span><br><span style="color: hsl(120, 100%, 40%);">+ f_sleep(5.0);</span><br><span style="color: hsl(120, 100%, 40%);">+ L1CTL.clear;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        T.start;</span><br><span style="color: hsl(120, 100%, 40%);">+      alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] L1CTL.receive(tr_L1CTL_DATA_IND(t_RslChanNr_CBCH(0))) -> value dl {</span><br><span style="color: hsl(120, 100%, 40%);">+             log("CBCH: ", dl);</span><br><span style="color: hsl(120, 100%, 40%);">+          var CBCH_Block cb := dec_CBCH_Block(dl.payload.data_ind.payload);</span><br><span style="color: hsl(120, 100%, 40%);">+             /* detect the proper CBCH messages; check frame number */</span><br><span style="color: hsl(120, 100%, 40%);">+             f_cbch_fn_verify(dl.dl_info.frame_nr, cb);</span><br><span style="color: hsl(120, 100%, 40%);">+            if (not match(cb, tr_CBCH_Block)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                   setverdict(fail, "Illegal CBCH Block received: ", cb);</span><br><span style="color: hsl(120, 100%, 40%);">+              } else {</span><br><span style="color: hsl(120, 100%, 40%);">+                      if (not match(cb, tr_CBCH_Block(15, ?, ?))) {</span><br><span style="color: hsl(120, 100%, 40%);">+                         setverdict(fail, "Unexpected non-NULL CBCH block received");</span><br><span style="color: hsl(120, 100%, 40%);">+                        }</span><br><span style="color: hsl(120, 100%, 40%);">+                     repeat;</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%);">+     [] L1CTL.receive { repeat; }</span><br><span style="color: hsl(120, 100%, 40%);">+  [] T.timeout {</span><br><span style="color: hsl(120, 100%, 40%);">+                setverdict(pass);</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%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass);</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%);">+</span><br><span> </span><br><span> /* SMSCB TODO:</span><br><span>    * multiple SMS BC CMD at the same time: Ensure all of them are sent exactly once</span><br><span>@@ -461,6 +512,7 @@</span><br><span>        execute( TC_sms_cb_cmd_sdcch4_multi() );</span><br><span>     execute( TC_sms_cb_cmd_sdcch4_schedule() );</span><br><span>  execute( TC_sms_cb_cmd_sdcch4_default_only() );</span><br><span style="color: hsl(120, 100%, 40%);">+       execute( TC_sms_cb_cmd_sdcch4_default_then_null() );</span><br><span>         if (false) { /* FIXME: SDCCH/8 support broken, needs trxcon + L1CTL work */</span><br><span>  execute( TC_sms_cb_cmd_sdcch8_1block() );</span><br><span>    execute( TC_sms_cb_cmd_sdcch8_2block() );</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/14106">change 14106</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/14106"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I9608d42a164a6210f100d10cb3ccfb7735975011 </div>
<div style="display:none"> Gerrit-Change-Number: 14106 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>