<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13842">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;">sgsn: Add initial XID handshake related tests<br><br>Change-Id: I5d4b3cba2fe05dffe10c843f16cfec343bc67b5f<br>---<br>M sgsn/SGSN_Tests.ttcn<br>1 file changed, 61 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn</span><br><span>index 889a16f..9399e66 100644</span><br><span>--- a/sgsn/SGSN_Tests.ttcn</span><br><span>+++ b/sgsn/SGSN_Tests.ttcn</span><br><span>@@ -1180,7 +1180,7 @@</span><br><span> }</span><br><span> </span><br><span> private altstep as_xid(PdpActPars apars) runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(0, 100%, 40%);">- [] BSSGP[0].receive(tr_BD_LLC(tr_LLC_XID(?, apars.sapi))) {</span><br><span style="color: hsl(120, 100%, 40%);">+   [] BSSGP[0].receive(tr_BD_LLC(tr_LLC_XID_MT_CMD(?, apars.sapi))) {</span><br><span>           repeat;</span><br><span>      }</span><br><span> }</span><br><span>@@ -2206,6 +2206,63 @@</span><br><span>      vc_conn.done;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* test XID handshake with empty L3 info: expect empty return (some phones require that, OS#3426 */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_xid_empty_l3(charstring id) runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+       var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));</span><br><span style="color: hsl(120, 100%, 40%);">+    var template (value) XID_Information xid;</span><br><span style="color: hsl(120, 100%, 40%);">+     var template XID_Information xid_rx;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        /* first perform regular attach */</span><br><span style="color: hsl(120, 100%, 40%);">+    f_TC_attach(id);</span><br><span style="color: hsl(120, 100%, 40%);">+      /* then activate PDP context */</span><br><span style="color: hsl(120, 100%, 40%);">+       f_pdp_ctx_act(apars);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* start MO XID */</span><br><span style="color: hsl(120, 100%, 40%);">+    xid := { ts_XID_L3(''O) };</span><br><span style="color: hsl(120, 100%, 40%);">+    xid_rx := { tr_XID_L3(''O) };</span><br><span style="color: hsl(120, 100%, 40%);">+ f_send_llc(ts_LLC_XID_MO_CMD(xid, apars.sapi));</span><br><span style="color: hsl(120, 100%, 40%);">+       alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] BSSGP[0].receive(tr_BD_LLC(tr_LLC_XID(xid_rx, apars.sapi)));</span><br><span style="color: hsl(120, 100%, 40%);">+       [] as_xid(apars);</span><br><span style="color: hsl(120, 100%, 40%);">+     }</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%);">+testcase TC_xid_empty_l3() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+    var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</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_xid_empty_l3), testcasename(), g_gb, 44);</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%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_xid_n201u(charstring id) runs on BSSGP_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+   var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));</span><br><span style="color: hsl(120, 100%, 40%);">+    var template (value) XID_Information xid;</span><br><span style="color: hsl(120, 100%, 40%);">+     var template XID_Information xid_rx;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        /* first perform regular attach */</span><br><span style="color: hsl(120, 100%, 40%);">+    f_TC_attach(id);</span><br><span style="color: hsl(120, 100%, 40%);">+      /* then activate PDP context */</span><br><span style="color: hsl(120, 100%, 40%);">+       f_pdp_ctx_act(apars);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* start MO XID */</span><br><span style="color: hsl(120, 100%, 40%);">+    xid := { ts_XID_N201U(1234) };</span><br><span style="color: hsl(120, 100%, 40%);">+        xid_rx := { tr_XID_N201U(1234) };</span><br><span style="color: hsl(120, 100%, 40%);">+     f_send_llc(ts_LLC_XID_MO_CMD(xid, apars.sapi));</span><br><span style="color: hsl(120, 100%, 40%);">+       alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] BSSGP[0].receive(tr_BD_LLC(tr_LLC_XID_MT_RSP(xid_rx, apars.sapi)));</span><br><span style="color: hsl(120, 100%, 40%);">+        [] as_xid(apars);</span><br><span style="color: hsl(120, 100%, 40%);">+     }</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%);">+testcase TC_xid_n201u() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+       var BSSGP_ConnHdlr vc_conn;</span><br><span style="color: hsl(120, 100%, 40%);">+   f_init();</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_xid_n201u), testcasename(), g_gb, 45);</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%);">+</span><br><span> </span><br><span> </span><br><span> control {</span><br><span>@@ -2253,6 +2310,9 @@</span><br><span>      execute( TC_attach_pdp_act_user_error_ind_ggsn() );</span><br><span>  execute( TC_attach_gmm_attach_req_while_gmm_attach() );</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+   execute( TC_xid_empty_l3() );</span><br><span style="color: hsl(120, 100%, 40%);">+ execute( TC_xid_n201u() );</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         execute( TC_llc_null() );</span><br><span>    execute( TC_llc_sabm_dm_llgmm() );</span><br><span>   execute( TC_llc_sabm_dm_ll5() );</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13842">change 13842</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/13842"/><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: I5d4b3cba2fe05dffe10c843f16cfec343bc67b5f </div>
<div style="display:none"> Gerrit-Change-Number: 13842 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </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>