<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13027">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;">PCU: Add test for SNS Change Weight procedure<br><br>Change-Id: Ia63865139f63969ccde010b01ddb8fb073209f3a<br>---<br>M library/Osmocom_Gb_Types.ttcn<br>M pcu/PCU_Tests_RAW_SNS.ttcn<br>2 files changed, 46 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn</span><br><span>index a0242c3..780c768 100644</span><br><span>--- a/library/Osmocom_Gb_Types.ttcn</span><br><span>+++ b/library/Osmocom_Gb_Types.ttcn</span><br><span>@@ -613,6 +613,29 @@</span><br><span>                }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) PDU_NS ts_SNS_CHG_WEIGHT(Nsei nsei, uint8_t trans_id,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                  template (omit) IP4_Elements v4,</span><br><span style="color: hsl(120, 100%, 40%);">+                                              template (omit) IP6_Elements v6 := omit) := {</span><br><span style="color: hsl(120, 100%, 40%);">+               pDU_SNS_ChangeWeight := {</span><br><span style="color: hsl(120, 100%, 40%);">+                     nsPduType := '0E'O,</span><br><span style="color: hsl(120, 100%, 40%);">+                   nSEI_NS := ts_NS_IE_NSEI(nsei),</span><br><span style="color: hsl(120, 100%, 40%);">+                       transactionID := trans_id,</span><br><span style="color: hsl(120, 100%, 40%);">+                    listofIP4Elements := ts_SNS_IE_ListIP4(v4),</span><br><span style="color: hsl(120, 100%, 40%);">+                   listofIP6Elements := ts_SNS_IE_ListIP6(v6)</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%);">+     template PDU_NS tr_SNS_CHG_WEIGHT(template Nsei nsei, template uint8_t trans_id,</span><br><span style="color: hsl(120, 100%, 40%);">+                                        template IP4_Elements v4,</span><br><span style="color: hsl(120, 100%, 40%);">+                                     template IP6_Elements v6 := omit) := {</span><br><span style="color: hsl(120, 100%, 40%);">+              pDU_SNS_ChangeWeight := {</span><br><span style="color: hsl(120, 100%, 40%);">+                     nsPduType := '0E'O,</span><br><span style="color: hsl(120, 100%, 40%);">+                   nSEI_NS := tr_NS_IE_NSEI(nsei),</span><br><span style="color: hsl(120, 100%, 40%);">+                       transactionID := trans_id,</span><br><span style="color: hsl(120, 100%, 40%);">+                    listofIP4Elements := tr_SNS_IE_ListIP4(v4),</span><br><span style="color: hsl(120, 100%, 40%);">+                   listofIP6Elements := tr_SNS_IE_ListIP6(v6)</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>      template (value) PDU_NS ts_SNS_ACK(Nsei nsei, uint8_t trans_id,</span><br><span>                                         template (omit) NsCause cause := omit,</span><br><span>diff --git a/pcu/PCU_Tests_RAW_SNS.ttcn b/pcu/PCU_Tests_RAW_SNS.ttcn</span><br><span>index 41a4059..2369b04 100644</span><br><span>--- a/pcu/PCU_Tests_RAW_SNS.ttcn</span><br><span>+++ b/pcu/PCU_Tests_RAW_SNS.ttcn</span><br><span>@@ -89,6 +89,19 @@</span><br><span>  rx := f_ns_exp(tr_SNS_ACK(g_nsconfig[idx].nsei, 24, omit, v4));</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+function f_outgoing_sns_chg_weight(integer idx_chg, uint8_t w_sig, uint8_t w_user, integer idx := 0)</span><br><span style="color: hsl(120, 100%, 40%);">+runs on RAW_NS_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   log("f_outgoing_sns_chg_weight(idx_chg=", idx_chg, ")");</span><br><span style="color: hsl(120, 100%, 40%);">+  var PDU_NS rx;</span><br><span style="color: hsl(120, 100%, 40%);">+        var template (omit) IP4_Elements v4 := { ts_SNS_IPv4(g_nsconfig[idx_chg].local_ip,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                         g_nsconfig[idx_chg].local_udp_port,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                           w_sig, w_user) };</span><br><span style="color: hsl(120, 100%, 40%);">+        NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_SNS_CHG_WEIGHT(g_nsconfig[idx].nsei, 25, v4)));</span><br><span style="color: hsl(120, 100%, 40%);">+        rx := f_ns_exp(tr_SNS_ACK(g_nsconfig[idx].nsei, 25, omit, v4));</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%);">+</span><br><span> </span><br><span> </span><br><span> /* PCU-originated SNS-SIZE: successful case */</span><br><span>@@ -225,6 +238,15 @@</span><br><span>    setverdict(pass);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Test changing weights at runtime */</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_sns_chg_weight() runs on RAW_NS_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  f_sns_bringup_1c1u();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* change w_user from 1 to 200 */</span><br><span style="color: hsl(120, 100%, 40%);">+     f_outgoing_sns_chg_weight(idx_chg := 1, w_sig := 0, w_user := 200, idx := 0);</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> </span><br><span> </span><br><span> control {</span><br><span>@@ -236,6 +258,7 @@</span><br><span>    execute( TC_sns_1c1u() );</span><br><span>    execute( TC_sns_add() );</span><br><span>     execute( TC_sns_del() );</span><br><span style="color: hsl(120, 100%, 40%);">+      execute( TC_sns_chg_weight() );</span><br><span> }</span><br><span> </span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13027">change 13027</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/13027"/><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: Ia63865139f63969ccde010b01ddb8fb073209f3a </div>
<div style="display:none"> Gerrit-Change-Number: 13027 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </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>
<div style="display:none"> Gerrit-CC: Pau Espin Pedrol <pespin@sysmocom.de> </div>