<p>laforge <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BTS: test that RSL MS POWER does not activate MS power control without PP IE<br><br>Change-Id: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6<br>---<br>M bts/BTS_Tests.ttcn<br>1 file changed, 62 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn</span><br><span>index 9184f6a..9d7b8c2 100644</span><br><span>--- a/bts/BTS_Tests.ttcn</span><br><span>+++ b/bts/BTS_Tests.ttcn</span><br><span>@@ -2088,7 +2088,8 @@</span><br><span> </span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* see if we change the power level without receiving power parameters, which should not happen */</span><br><span style="color: hsl(120, 100%, 40%);">+/* see if we change the power level without receiving power parameters, which should not happen</span><br><span style="color: hsl(120, 100%, 40%);">+rsl chan act WITHOUT power parameters */</span><br><span> function f_TC_rsl_ms_pwr_dyn_active(charstring id) runs on ConnHdlr {</span><br><span>    var L1ctlDlMessage l1_dl;</span><br><span> </span><br><span>@@ -2128,6 +2129,50 @@</span><br><span> </span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* see if we change the power level without receiving power parameters, which should not happen</span><br><span style="color: hsl(120, 100%, 40%);">+ms power control WITHOUT power parameters */</span><br><span style="color: hsl(120, 100%, 40%);">+function f_TC_rsl_ms_pwr_dyn_active2(charstring id) runs on ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+    var L1ctlDlMessage l1_dl;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* set a high value to ensure power decreases */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_trxc_fake_rssi(rxlev2dbm(50));</span><br><span style="color: hsl(120, 100%, 40%);">+      f_l1_tune(L1CTL);</span><br><span style="color: hsl(120, 100%, 40%);">+     RSL.clear;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  var uint5_t pwr_var := 5;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   var template (value) RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var);</span><br><span style="color: hsl(120, 100%, 40%);">+ var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power});</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* establish with fixed power level */</span><br><span style="color: hsl(120, 100%, 40%);">+        f_est_dchan(more_ies :={valueof(pwr)});</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* check our initial power level */</span><br><span style="color: hsl(120, 100%, 40%);">+   f_wait_for_l1_power_level(pwr_var);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* pwr control without power params IE, should NOT activate MS power control*/</span><br><span style="color: hsl(120, 100%, 40%);">+        RSL.send(ts_RSL_MS_PWR_CTRL(g_chan_nr, ms_power));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* wait, then check that our power level did not change */</span><br><span style="color: hsl(120, 100%, 40%);">+    timer T1 := 10.0;</span><br><span style="color: hsl(120, 100%, 40%);">+     T1.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(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl {</span><br><span style="color: hsl(120, 100%, 40%);">+             if ( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var) {</span><br><span style="color: hsl(120, 100%, 40%);">+                 Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,</span><br><span style="color: hsl(120, 100%, 40%);">+                    "BS power control should not be active unless we receive a power parameters IE!");</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%);">+     [] L1CTL.receive { repeat; }</span><br><span style="color: hsl(120, 100%, 40%);">+  [] T1.timeout { 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%);">+   f_rsl_chan_deact();</span><br><span style="color: hsl(120, 100%, 40%);">+   f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr);</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> function f_wait_for_l1_power_level(integer level) runs on ConnHdlr {</span><br><span>         var L1ctlDlMessage l1_dl;</span><br><span>    timer T0 := 10.0;</span><br><span>@@ -2293,6 +2338,21 @@</span><br><span>   Misc_Helpers.f_shutdown(__BFILE__, __LINE__);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_rsl_ms_pwr_dyn_active2() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        var ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+ var ConnHdlrPars pars;</span><br><span style="color: hsl(120, 100%, 40%);">+        f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100");</span><br><span style="color: hsl(120, 100%, 40%);">+      for (var integer tn := 1; tn <= 1; tn := tn+1) {</span><br><span style="color: hsl(120, 100%, 40%);">+           pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN));</span><br><span style="color: hsl(120, 100%, 40%);">+            pars.bts0_band := f_vty_get_bts0_band();</span><br><span style="color: hsl(120, 100%, 40%);">+              vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_active2), pars, trxc_comp := true);</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%);">+     f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop");</span><br><span style="color: hsl(120, 100%, 40%);">+        Misc_Helpers.f_shutdown(__BFILE__, __LINE__);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> testcase TC_meas_res_sign_tchf() runs on test_CT {</span><br><span>     var ConnHdlr vc_conn;</span><br><span>        var ConnHdlrPars pars;</span><br><span>@@ -5954,6 +6014,7 @@</span><br><span>       execute( TC_meas_res_sign_tchh_toa256() );</span><br><span>   execute( TC_rsl_ms_pwr_ctrl() );</span><br><span>     execute( TC_rsl_ms_pwr_dyn_active() );</span><br><span style="color: hsl(120, 100%, 40%);">+        execute( TC_rsl_ms_pwr_dyn_active2() );</span><br><span>      execute( TC_rsl_ms_pwr_dyn_up() );</span><br><span>   execute( TC_rsl_ms_pwr_dyn_down() );</span><br><span>         execute( TC_rsl_ms_pwr_dyn_ass_updown() );</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491">change 14491</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/+/14491"/><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: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6 </div>
<div style="display:none"> Gerrit-Change-Number: 14491 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Hoernchen <ewild@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>