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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">sgsn: create 3 instances of BSSGP at the same time<br><br>Allows to use different BSSGP connection within a single<br>test.<br><br>Change-Id: I01d7f264a0a52e248d6e754485c807266c0b14bf<br>---<br>M sgsn/SGSN_Tests.ttcn<br>1 file changed, 65 insertions(+), 56 deletions(-)<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 6bf2d60..3616a62 100644</span><br><span>--- a/sgsn/SGSN_Tests.ttcn</span><br><span>+++ b/sgsn/SGSN_Tests.ttcn</span><br><span>@@ -60,8 +60,11 @@</span><br><span>     BssgpConfig cfg</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+type record length(3) of GbInstance GbInstances;</span><br><span style="color: hsl(120, 100%, 40%);">+type record length(3) of BssgpCellId BssgpCellIds;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> type component test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-   var GbInstance g_gb[3];</span><br><span style="color: hsl(120, 100%, 40%);">+       var GbInstances g_gb;</span><br><span> </span><br><span>    var GSUP_Emulation_CT vc_GSUP;</span><br><span>       var IPA_Emulation_CT vc_GSUP_IPA;</span><br><span>@@ -101,15 +104,15 @@</span><br><span>    OCT4 tlli,</span><br><span>   OCT4 tlli_old optional,</span><br><span>      RoutingAreaIdentificationV ra optional,</span><br><span style="color: hsl(0, 100%, 40%);">- BssgpCellId bssgp_cell_id,</span><br><span style="color: hsl(120, 100%, 40%);">+    BssgpCellIds bssgp_cell_id,</span><br><span>  AuthVector vec optional,</span><br><span>     SGSN_ConnHdlrNetworkPars net,</span><br><span>        float t_guard</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-private function f_init_gb(inout GbInstance gb, charstring id) runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">- gb.vc_NS := NS_CT.create(id & "-NS");</span><br><span style="color: hsl(0, 100%, 40%);">-     gb.vc_BSSGP := BSSGP_CT.create(id & "-BSSGP");</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_init_gb(inout GbInstance gb, charstring id, integer offset) runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+        gb.vc_NS := NS_CT.create(id & "-NS" & int2str(offset));</span><br><span style="color: hsl(120, 100%, 40%);">+     gb.vc_BSSGP := BSSGP_CT.create(id & "-BSSGP" & int2str(offset));</span><br><span>   /* connect lower end of BSSGP emulation with NS upper port */</span><br><span>        connect(gb.vc_BSSGP:BSCP, gb.vc_NS:NS_SP);</span><br><span>   /* connect lower end of NS emulation to NS codec port (on top of IPL4) */</span><br><span>@@ -224,7 +227,9 @@</span><br><span>              sgsn_role := false</span><br><span>   };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  f_init_gb(g_gb[0], "SGSN_Test-Gb0");</span><br><span style="color: hsl(120, 100%, 40%);">+        f_init_gb(g_gb[0], "SGSN_Test-Gb0", 0);</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_gb(g_gb[1], "SGSN_Test-Gb1", 1);</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_gb(g_gb[2], "SGSN_Test-Gb2", 2);</span><br><span>    f_init_gsup("SGSN_Test");</span><br><span>  f_init_gtp("SGSN_Test");</span><br><span>   f_init_vty();</span><br><span>@@ -234,7 +239,7 @@</span><br><span> type function void_fn(charstring id) runs on BSSGP_ConnHdlr;</span><br><span> </span><br><span> /* helper function to create, connect and start a BSSGP_ConnHdlr component */</span><br><span style="color: hsl(0, 100%, 40%);">-function f_start_handler(void_fn fn, charstring id, GbInstance gb, integer imsi_suffix,</span><br><span style="color: hsl(120, 100%, 40%);">+function f_start_handler(void_fn fn, charstring id, GbInstances gb, integer imsi_suffix,</span><br><span>                     float t_guard := 30.0)</span><br><span> runs on test_CT return BSSGP_ConnHdlr {</span><br><span>   var BSSGP_ConnHdlr vc_conn;</span><br><span>@@ -252,15 +257,19 @@</span><br><span>          tlli := f_gprs_tlli_random(),</span><br><span>                tlli_old := omit,</span><br><span>            ra := omit,</span><br><span style="color: hsl(0, 100%, 40%);">-             bssgp_cell_id := gb.cfg.cell_id,</span><br><span style="color: hsl(120, 100%, 40%);">+              bssgp_cell_id := { gb[0].cfg.cell_id, gb[1].cfg.cell_id, gb[2].cfg.cell_id },</span><br><span>                vec := omit,</span><br><span>                 net := net_pars,</span><br><span>             t_guard := t_guard</span><br><span>   };</span><br><span> </span><br><span>       vc_conn := BSSGP_ConnHdlr.create(id);</span><br><span style="color: hsl(0, 100%, 40%);">-   connect(vc_conn:BSSGP[0], gb.vc_BSSGP:BSSGP_SP);</span><br><span style="color: hsl(0, 100%, 40%);">-        connect(vc_conn:BSSGP_PROC[0], gb.vc_BSSGP:BSSGP_PROC);</span><br><span style="color: hsl(120, 100%, 40%);">+       connect(vc_conn:BSSGP[0], gb[0].vc_BSSGP:BSSGP_SP);</span><br><span style="color: hsl(120, 100%, 40%);">+   connect(vc_conn:BSSGP_PROC[0], gb[0].vc_BSSGP:BSSGP_PROC);</span><br><span style="color: hsl(120, 100%, 40%);">+    connect(vc_conn:BSSGP[1], gb[1].vc_BSSGP:BSSGP_SP);</span><br><span style="color: hsl(120, 100%, 40%);">+   connect(vc_conn:BSSGP_PROC[1], gb[1].vc_BSSGP:BSSGP_PROC);</span><br><span style="color: hsl(120, 100%, 40%);">+    connect(vc_conn:BSSGP[2], gb[2].vc_BSSGP:BSSGP_SP);</span><br><span style="color: hsl(120, 100%, 40%);">+   connect(vc_conn:BSSGP_PROC[2], gb[2].vc_BSSGP:BSSGP_PROC);</span><br><span> </span><br><span>       connect(vc_conn:GSUP, vc_GSUP:GSUP_CLIENT);</span><br><span>  connect(vc_conn:GSUP_PROC, vc_GSUP:GSUP_PROC);</span><br><span>@@ -286,7 +295,7 @@</span><br><span>         g_pars := pars;</span><br><span> </span><br><span>  /* register with BSSGP core */</span><br><span style="color: hsl(0, 100%, 40%);">-  f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id);</span><br><span style="color: hsl(120, 100%, 40%);">+      f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id[0]);</span><br><span>  /* tell GSUP dispatcher to send this IMSI to us */</span><br><span>   f_create_gsup_expect(hex2str(g_pars.imsi));</span><br><span>  /* tell GTP dispatcher to send this IMSI to us */</span><br><span>@@ -417,9 +426,9 @@</span><br><span> function f_process_attach_accept(PDU_GMM_AttachAccept aa) runs on BSSGP_ConnHdlr {</span><br><span>        /* mandatory IE */</span><br><span>   var hexstring aa_plmn := f_RAI_to_plmn_hexstr(aa.routingAreaIdentification);</span><br><span style="color: hsl(0, 100%, 40%);">-    if (not (g_pars.bssgp_cell_id.ra_id.lai.mcc_mnc == aa_plmn)) {</span><br><span style="color: hsl(120, 100%, 40%);">+        if (not (g_pars.bssgp_cell_id[0].ra_id.lai.mcc_mnc == aa_plmn)) {</span><br><span>              setverdict(fail, "mismatching PLMN in Attach Accept: " & hex2str(aa_plmn)</span><br><span style="color: hsl(0, 100%, 40%);">-                                  & "; expected " & hex2str(g_pars.bssgp_cell_id.ra_id.lai.mcc_mnc));</span><br><span style="color: hsl(120, 100%, 40%);">+                                 & "; expected " & hex2str(g_pars.bssgp_cell_id[0].ra_id.lai.mcc_mnc));</span><br><span>            mtc.stop;</span><br><span>  }</span><br><span>    g_pars.ra := aa.routingAreaIdentification;</span><br><span>@@ -524,7 +533,7 @@</span><br><span>     var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb[0], 1);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, 1);</span><br><span>    vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -532,7 +541,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init('023042'H);</span><br><span>   f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb[0], 1001);</span><br><span style="color: hsl(120, 100%, 40%);">+       vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, 1001);</span><br><span>         vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -544,7 +553,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_umts_res), testcasename(), g_gb[0], 1002);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_umts_res), testcasename(), g_gb, 1002);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -556,7 +565,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_gsm_sres), testcasename(), g_gb[0], 1003);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_gsm_sres), testcasename(), g_gb, 1003);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -582,7 +591,7 @@</span><br><span> testcase TC_attach_auth_id_timeout() runs on test_CT {</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_auth_id_timeout), testcasename(), g_gb[0], 2, 40.0);</span><br><span style="color: hsl(120, 100%, 40%);">+    vc_conn := f_start_handler(refers(f_TC_attach_auth_id_timeout), testcasename(), g_gb, 2, 40.0);</span><br><span>      vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -602,7 +611,7 @@</span><br><span> testcase TC_attach_auth_sai_timeout() runs on test_CT {</span><br><span>      var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_timeout), testcasename(), g_gb[0], 3);</span><br><span style="color: hsl(120, 100%, 40%);">+ vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_timeout), testcasename(), g_gb, 3);</span><br><span>   vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -623,7 +632,7 @@</span><br><span> testcase TC_attach_auth_sai_reject() runs on test_CT {</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_reject), testcasename(), g_gb[0], 4);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_reject), testcasename(), g_gb, 4);</span><br><span>    vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -652,7 +661,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_timeout), testcasename(), g_gb[0], 5);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_timeout), testcasename(), g_gb, 5);</span><br><span>    vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -682,7 +691,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_reject), testcasename(), g_gb[0], 6);</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_reject), testcasename(), g_gb, 6);</span><br><span>     vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -707,7 +716,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_combined), testcasename(), g_gb[0], 7);</span><br><span style="color: hsl(120, 100%, 40%);">+ vc_conn := f_start_handler(refers(f_TC_attach_combined), testcasename(), g_gb, 7);</span><br><span>   vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -731,7 +740,7 @@</span><br><span>         f_init();</span><br><span>    f_sleep(1.0);</span><br><span>        f_vty_config(SGSNVTY, "sgsn", "auth-policy accept-all");</span><br><span style="color: hsl(0, 100%, 40%);">-    vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb[0], 8);</span><br><span style="color: hsl(120, 100%, 40%);">+       vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb, 8);</span><br><span>         vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -741,7 +750,7 @@</span><br><span> </span><br><span>     /* Simulate a foreign IMSI */</span><br><span>        g_pars.imsi := '001010123456789'H;</span><br><span style="color: hsl(0, 100%, 40%);">-      f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id);</span><br><span style="color: hsl(120, 100%, 40%);">+      f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id[0]);</span><br><span> </span><br><span>      g_pars.net.expect_auth := false;</span><br><span> </span><br><span>@@ -766,10 +775,10 @@</span><br><span>         f_sleep(1.0);</span><br><span>        f_vty_config(SGSNVTY, "sgsn", "auth-policy closed");</span><br><span>     /* test with foreign IMSI: Must Reject */</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb[0], 9);</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb, 9);</span><br><span>     vc_conn.done;</span><br><span>        /* test with home IMSI: Must Accept */</span><br><span style="color: hsl(0, 100%, 40%);">-  vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb[0], 10);</span><br><span style="color: hsl(120, 100%, 40%);">+      vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb, 10);</span><br><span>        vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -790,7 +799,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_rau_unknown), testcasename(), g_gb[0], 11);</span><br><span style="color: hsl(120, 100%, 40%);">+    vc_conn := f_start_handler(refers(f_TC_rau_unknown), testcasename(), g_gb, 11);</span><br><span>      vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -819,7 +828,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_rau), testcasename(), g_gb[0], 12);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_attach_rau), testcasename(), g_gb, 12);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -864,7 +873,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_detach_unknown_nopoweroff), testcasename(), g_gb[0], 13);</span><br><span style="color: hsl(120, 100%, 40%);">+      vc_conn := f_start_handler(refers(f_TC_detach_unknown_nopoweroff), testcasename(), g_gb, 13);</span><br><span>        vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -876,7 +885,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_detach_unknown_poweroff), testcasename(), g_gb[0], 14);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn := f_start_handler(refers(f_TC_detach_unknown_poweroff), testcasename(), g_gb, 14);</span><br><span>  vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -891,7 +900,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_detach_nopoweroff), testcasename(), g_gb[0], 15);</span><br><span style="color: hsl(120, 100%, 40%);">+      vc_conn := f_start_handler(refers(f_TC_detach_nopoweroff), testcasename(), g_gb, 15);</span><br><span>        vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -906,7 +915,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_detach_poweroff), testcasename(), g_gb[0], 16);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn := f_start_handler(refers(f_TC_detach_poweroff), testcasename(), g_gb, 16);</span><br><span>  vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1196,7 +1205,7 @@</span><br><span> testcase TC_attach_pdp_act() runs on test_CT {</span><br><span>     var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_pdp_act), testcasename(), g_gb[0], 17);</span><br><span style="color: hsl(120, 100%, 40%);">+ vc_conn := f_start_handler(refers(f_TC_attach_pdp_act), testcasename(), g_gb, 17);</span><br><span>   vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1224,7 +1233,7 @@</span><br><span> testcase TC_pdp_act_unattached() runs on test_CT {</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_pdp_act_unattached), testcasename(), g_gb[0], 18);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_pdp_act_unattached), testcasename(), g_gb, 18);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1243,7 +1252,7 @@</span><br><span> testcase TC_attach_pdp_act_user() runs on test_CT {</span><br><span>        var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user), testcasename(), g_gb[0], 19);</span><br><span style="color: hsl(120, 100%, 40%);">+    vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user), testcasename(), g_gb, 19);</span><br><span>      vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1262,7 +1271,7 @@</span><br><span> testcase TC_attach_pdp_act_ggsn_reject() runs on test_CT {</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_ggsn_reject), testcasename(), g_gb[0], 20);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_ggsn_reject), testcasename(), g_gb, 20);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1283,7 +1292,7 @@</span><br><span> testcase TC_attach_pdp_act_user_deact_mo() runs on test_CT {</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mo), testcasename(), g_gb[0], 21);</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mo), testcasename(), g_gb, 21);</span><br><span>     vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1304,7 +1313,7 @@</span><br><span> testcase TC_attach_pdp_act_user_deact_mt() runs on test_CT {</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mt), testcasename(), g_gb[0], 22);</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mt), testcasename(), g_gb, 22);</span><br><span>     vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1323,7 +1332,7 @@</span><br><span> testcase TC_attach_second_attempt() runs on test_CT {</span><br><span>      var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_forget_tlli_attach), testcasename(), g_gb[0], 22);</span><br><span style="color: hsl(120, 100%, 40%);">+      vc_conn := f_start_handler(refers(f_TC_attach_forget_tlli_attach), testcasename(), g_gb, 22);</span><br><span>        vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1363,7 +1372,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  g_use_echo := true</span><br><span>   f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_echo), testcasename(), g_gb[0], 23, 30.0);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_echo), testcasename(), g_gb, 23, 30.0);</span><br><span>    vc_conn.done;</span><br><span>        g_use_echo := false</span><br><span> }</span><br><span>@@ -1403,7 +1412,7 @@</span><br><span> testcase TC_attach_restart_ctr_create() runs on test_CT {</span><br><span>        var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_create), testcasename(), g_gb[0], 24, 30.0);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_create), testcasename(), g_gb, 24, 30.0);</span><br><span>  vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1439,7 +1448,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_mt_t3395_expire), testcasename(), g_gb[0], 25, 60.0);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_mt_t3395_expire), testcasename(), g_gb, 25, 60.0);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1487,7 +1496,7 @@</span><br><span> testcase TC_attach_pdp_act_user_error_ind_ggsn() runs on test_CT {</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_error_ind_ggsn), testcasename(), g_gb[0], 26);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_error_ind_ggsn), testcasename(), g_gb, 26);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1499,7 +1508,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_update), testcasename(), g_gb[0], 31);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_update), testcasename(), g_gb, 31);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1530,7 +1539,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_withdraw), testcasename(), g_gb[0], 29);</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_withdraw), testcasename(), g_gb, 29);</span><br><span>     vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1560,7 +1569,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_withdraw), testcasename(), g_gb[0], 30);</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_withdraw), testcasename(), g_gb, 30);</span><br><span>  vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1576,7 +1585,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_update), testcasename(), g_gb[0], 30);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_update), testcasename(), g_gb, 30);</span><br><span>    vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1595,7 +1604,7 @@</span><br><span>       var charstring imsi := hex2str(f_gen_imsi(id));</span><br><span> </span><br><span>  f_init();</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_detach_check_subscriber_list), testcasename(), g_gb[0], id);</span><br><span style="color: hsl(120, 100%, 40%);">+    vc_conn := f_start_handler(refers(f_TC_attach_detach_check_subscriber_list), testcasename(), g_gb, id);</span><br><span>      vc_conn.done;</span><br><span> </span><br><span>    f_vty_transceive_not_match(SGSNVTY, "show subscriber cache", pattern "* IMSI: {imsi}*");</span><br><span>@@ -1642,7 +1651,7 @@</span><br><span>         var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_no_imei_response), testcasename(), g_gb[0], 32, 60.0);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn := f_start_handler(refers(f_TC_attach_no_imei_response), testcasename(), g_gb, 32, 60.0);</span><br><span>    vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1690,7 +1699,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_no_imsi_response), testcasename(), g_gb[0], 35, 60.0);</span><br><span style="color: hsl(120, 100%, 40%);">+  vc_conn := f_start_handler(refers(f_TC_attach_no_imsi_response), testcasename(), g_gb, 35, 60.0);</span><br><span>    vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1708,7 +1717,7 @@</span><br><span> </span><br><span>   f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb[0], id);</span><br><span style="color: hsl(120, 100%, 40%);">+ vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, id);</span><br><span>   vc_conn.done;</span><br><span> </span><br><span>    f_vty_transceive_match(SGSNVTY, "show subscriber cache", pattern "* IMSI: {imsi}*");</span><br><span>@@ -1723,7 +1732,7 @@</span><br><span>     f_bssgp_client_unregister(g_pars.imsi);</span><br><span>      /* Simulate a foreign IMSI */</span><br><span>        g_pars.imsi := '001010123456789'H;</span><br><span style="color: hsl(0, 100%, 40%);">-      f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id);</span><br><span style="color: hsl(120, 100%, 40%);">+      f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id[0]);</span><br><span> </span><br><span>      /* there is no auth */</span><br><span>       g_pars.net.expect_auth := false;</span><br><span>@@ -1762,11 +1771,11 @@</span><br><span>   f_vty_config(SGSNVTY, "sgsn", "auth-policy closed");</span><br><span>     f_vty_config(SGSNVTY, "sgsn", "imsi-acl del 001010123456789");</span><br><span>   /* test with foreign IMSI: Must Reject */</span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb[0], 9);</span><br><span style="color: hsl(120, 100%, 40%);">+   vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb, 9);</span><br><span>     vc_conn.done;</span><br><span>        f_vty_config(SGSNVTY, "sgsn", "imsi-acl add 001010123456789");</span><br><span>   /* test with same IMSI: Must Accept */</span><br><span style="color: hsl(0, 100%, 40%);">-  vc_conn := f_start_handler(refers(f_TC_attach_closed_imsi_added), testcasename(), g_gb[0], 10);</span><br><span style="color: hsl(120, 100%, 40%);">+       vc_conn := f_start_handler(refers(f_TC_attach_closed_imsi_added), testcasename(), g_gb, 10);</span><br><span>         vc_conn.done;</span><br><span> }</span><br><span> </span><br><span>@@ -1803,7 +1812,7 @@</span><br><span>       var BSSGP_ConnHdlr vc_conn;</span><br><span>  f_init();</span><br><span>    f_sleep(1.0);</span><br><span style="color: hsl(0, 100%, 40%);">-   vc_conn := f_start_handler(refers(f_TC_attach_check_complete_resend), testcasename(), g_gb[0], 36, 60.0);</span><br><span style="color: hsl(120, 100%, 40%);">+     vc_conn := f_start_handler(refers(f_TC_attach_check_complete_resend), testcasename(), g_gb, 36, 60.0);</span><br><span>       vc_conn.done;</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10378">change 10378</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/10378"/><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: I01d7f264a0a52e248d6e754485c807266c0b14bf </div>
<div style="display:none"> Gerrit-Change-Number: 10378 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>