pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38679?usp=email )
Change subject: hnbgw: Introduce test TC_rab_assignment_concurrent ......................................................................
hnbgw: Introduce test TC_rab_assignment_concurrent
Related: SYS#6602 Change-Id: I1f717edbe4a758288d017861c4b77836c5811040 --- M hnbgw/HNBGW_Tests.ttcn M hnbgw/expected-results.xml 2 files changed, 41 insertions(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn index e367666..f9da374 100644 --- a/hnbgw/HNBGW_Tests.ttcn +++ b/hnbgw/HNBGW_Tests.ttcn @@ -1094,7 +1094,6 @@
f_cn_iu_release_procedure(mgcp_teardown := true); } - testcase TC_rab_assignment() runs on test_CT { var ConnHdlr vc_conn; g_num_hnbs := 1; @@ -1106,6 +1105,44 @@ f_shutdown_helper(); }
+/* Same as TC_rab_assignment, but 16 subscribers in parallel. + * Currently 16 is the maximum we can create due to array sizes of RAN_Emulation.ttcn. + * Stats are removed since it's difficult to count with several conns concurrently doing stuff. + */ +private function f_tc_rab_assignment_concurrent(charstring id) runs on ConnHdlr { + const charstring hnb0_ctr_prefix := mp_statsd_prefix & "hnb.001-01-L2342-R0-S55-C1."; + var MgcpCommand mgcp_cmd; + var RANAP_PDU tx; + + f_statsd_reset(); + + tx := f_build_initial_ue(g_pars); + f_iuh2iu_connect(tx); + + f_create_rab_cs(); + + /* Wait some time with connection up */ + f_sleep(2.0); + + f_cn_iu_release_procedure(mgcp_teardown := true); +} +testcase TC_rab_assignment_concurrent() runs on test_CT { + var ConnHdlrList vc_conn_list := {}; + g_num_hnbs := 1; + f_init(); + f_sleep(1.0); + const integer num_conns := 16; + + for (var integer i := 0; i < num_conns; i := i + 1) { + var ConnHdlr vc_conn; + vc_conn := f_start_handler_with_pars(refers(f_tc_rab_assignment_concurrent), f_TestHdlrParams(i)); + vc_conn_list := vc_conn_list & { vc_conn }; + } + + f_ConnHdlrList_all_done(vc_conn_list); + f_shutdown_helper(); +} + friend function f_tc_rab_assign_fail(charstring id) runs on ConnHdlr { const charstring hnb0_ctr_prefix := mp_statsd_prefix & "hnb.001-01-L2342-R0-S55-C1."; var MgcpCommand mgcp_cmd; @@ -2404,6 +2441,7 @@ execute(TC_ranap_cs_bidir()); execute(TC_ranap_ps_bidir()); execute(TC_rab_assignment()); + execute(TC_rab_assignment_concurrent()); execute(TC_rab_release()); execute(TC_rab_release_abnormal()); execute(TC_rab_assign_fail()); diff --git a/hnbgw/expected-results.xml b/hnbgw/expected-results.xml index 338bf4e..ad5a0f5 100644 --- a/hnbgw/expected-results.xml +++ b/hnbgw/expected-results.xml @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<testsuite name='Titan' tests='55' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'> +<testsuite name='Titan' tests='56' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'> <testcase classname='HNBGW_Tests' name='TC_hnb_register' time='MASKED'/> <testcase classname='HNBGW_Tests' name='TC_hnb_register_duplicate' time='MASKED'/> <testcase classname='HNBGW_Tests' name='TC_hnb_register_duplicate_reuse_sctp_assoc' time='MASKED'/> @@ -15,6 +15,7 @@ <testcase classname='HNBGW_Tests' name='TC_ranap_cs_bidir' time='MASKED'/> <testcase classname='HNBGW_Tests' name='TC_ranap_ps_bidir' time='MASKED'/> <testcase classname='HNBGW_Tests' name='TC_rab_assignment' time='MASKED'/> + <testcase classname='HNBGW_Tests' name='TC_rab_assignment_concurrent' time='MASKED'/> <testcase classname='HNBGW_Tests' name='TC_rab_release' time='MASKED'/> <testcase classname='HNBGW_Tests' name='TC_rab_release_abnormal' time='MASKED'/> <testcase classname='HNBGW_Tests' name='TC_rab_assign_fail' time='MASKED'/>