fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39461?usp=email )

Change subject: s1gw: add f_TC_exec()
......................................................................

s1gw: add f_TC_exec()

The idea is to reduce the amount of boilerplate code.

Change-Id: I0df4ad15bc2dca2afb2c598c1b053f45b69c181b
---
M s1gw/S1GW_Tests.ttcn
1 file changed, 30 insertions(+), 79 deletions(-)

Approvals:
  pespin: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/s1gw/S1GW_Tests.ttcn b/s1gw/S1GW_Tests.ttcn
index 729bc77..089bd0d 100644
--- a/s1gw/S1GW_Tests.ttcn
+++ b/s1gw/S1GW_Tests.ttcn
@@ -197,6 +197,22 @@
        }
 }

+function f_TC_exec(void_fn fn,
+                  integer num_enbs := 1,
+                  integer num_erabs := 1)
+runs on test_CT {
+       var ConnHdlrList vc_conns;
+
+       f_init();
+
+       for (var integer i := 0; i < num_enbs; i := i + 1) {
+               var ConnHdlrPars pars := valueof(t_ConnHdlrPars(i, num_erabs));
+               vc_conns[i] := f_ConnHdlr_spawn(fn, pars);
+       }
+
+       f_ConnHdlrList_all_done(vc_conns);
+}
+
 function f_TC_setup(charstring id) runs on ConnHdlr {
        f_ConnHdlr_s1ap_register(g_pars.genb_id);

@@ -222,13 +238,7 @@
        f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
 }
 testcase TC_setup() runs on test_CT {
-       var ConnHdlrPars pars := valueof(t_ConnHdlrPars);
-       var ConnHdlr vc_conn;
-
-       f_init();
-
-       vc_conn := f_ConnHdlr_spawn(refers(f_TC_setup), pars);
-       vc_conn.done;
+       f_TC_exec(refers(f_TC_setup));
 }

 function f_TC_setup_multi(charstring id) runs on ConnHdlr {
@@ -243,16 +253,7 @@
        f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
 }
 testcase TC_setup_multi() runs on test_CT {
-       var ConnHdlrList vc_conns;
-
-       f_init();
-
-       for (var integer i := 0; i < mp_multi_enb_num; i := i + 1) {
-               var ConnHdlrPars pars := valueof(t_ConnHdlrPars(i));
-               vc_conns[i] := f_ConnHdlr_spawn(refers(f_TC_setup_multi), pars);
-       }
-
-       f_ConnHdlrList_all_done(vc_conns);
+       f_TC_exec(refers(f_TC_setup_multi), mp_multi_enb_num);
 }


@@ -314,34 +315,21 @@
        f_ConnHdlr_s1ap_disconnect();
        f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
 }
-private function f_TC_e_rab_setup_exec(integer num_enbs, integer num_erabs)
-runs on test_CT {
-       var ConnHdlrList vc_conns;
-
-       f_init();
-
-       for (var integer i := 0; i < num_enbs; i := i + 1) {
-               var ConnHdlrPars pars := valueof(t_ConnHdlrPars(i, num_erabs));
-               vc_conns[i] := f_ConnHdlr_spawn(refers(f_TC_e_rab_setup), pars);
-       }
-
-       f_ConnHdlrList_all_done(vc_conns);
-}
 /* 1 E-RAB at a time, single eNB */
 testcase TC_e_rab_setup() runs on test_CT {
-       f_TC_e_rab_setup_exec(num_enbs := 1, num_erabs := 1);
+       f_TC_exec(refers(f_TC_e_rab_setup));
 }
 /* 1 E-RAB at a time, multiple eNB connections */
 testcase TC_e_rab_setup_multi() runs on test_CT {
-       f_TC_e_rab_setup_exec(num_enbs := mp_multi_enb_num, num_erabs := 1);
+       f_TC_exec(refers(f_TC_e_rab_setup), mp_multi_enb_num);
 }
 /* 3 E-RABs at a time, single eNB */
 testcase TC_e_rab_setup3() runs on test_CT {
-       f_TC_e_rab_setup_exec(num_enbs := 1, num_erabs := 3);
+       f_TC_exec(refers(f_TC_e_rab_setup), 1, 3);
 }
 /* 3 E-RABs at a time, multiple eNB connections */
 testcase TC_e_rab_setup3_multi() runs on test_CT {
-       f_TC_e_rab_setup_exec(num_enbs := mp_multi_enb_num, num_erabs := 3);
+       f_TC_exec(refers(f_TC_e_rab_setup), mp_multi_enb_num, 3);
 }

 /* Test E-RAB SETUP and RELEASE.ind procedures */
@@ -358,13 +346,7 @@
        f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
 }
 testcase TC_e_rab_release_ind() runs on test_CT {
-       var ConnHdlrPars pars := valueof(t_ConnHdlrPars);
-       var ConnHdlr vc_conn;
-
-       f_init();
-
-       vc_conn := f_ConnHdlr_spawn(refers(f_TC_e_rab_release_ind), pars);
-       vc_conn.done;
+       f_TC_exec(refers(f_TC_e_rab_release_ind));
 }

 /* Test E-RAB SETUP procedure being aborted by the S1GW due to
@@ -418,13 +400,7 @@
        f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
 }
 testcase TC_e_rab_setup_failure() runs on test_CT {
-       var ConnHdlrPars pars := valueof(t_ConnHdlrPars);
-       var ConnHdlr vc_conn;
-
-       f_init();
-
-       vc_conn := f_ConnHdlr_spawn(refers(f_TC_e_rab_setup_failure), pars);
-       vc_conn.done;
+       f_TC_exec(refers(f_TC_e_rab_setup_failure));
 }

 /* Test INITIAL CONTEXT SETUP procedure (successful case) */
@@ -439,34 +415,21 @@
        f_ConnHdlr_s1ap_disconnect();
        f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
 }
-private function f_TC_initial_ctx_setup_exec(integer num_enbs, integer 
num_erabs)
-runs on test_CT {
-       var ConnHdlrList vc_conns;
-
-       f_init();
-
-       for (var integer i := 0; i < num_enbs; i := i + 1) {
-               var ConnHdlrPars pars := valueof(t_ConnHdlrPars(i, num_erabs));
-               vc_conns[i] := f_ConnHdlr_spawn(refers(f_TC_initial_ctx_setup), 
pars);
-       }
-
-       f_ConnHdlrList_all_done(vc_conns);
-}
 /* 1 E-RAB at a time, single eNB */
 testcase TC_initial_ctx_setup() runs on test_CT {
-       f_TC_initial_ctx_setup_exec(num_enbs := 1, num_erabs := 1);
+       f_TC_exec(refers(f_TC_initial_ctx_setup));
 }
 /* 1 E-RAB at a time, multiple eNB connections */
 testcase TC_initial_ctx_setup_multi() runs on test_CT {
-       f_TC_initial_ctx_setup_exec(num_enbs := mp_multi_enb_num, num_erabs := 
1);
+       f_TC_exec(refers(f_TC_initial_ctx_setup), mp_multi_enb_num);
 }
 /* 3 E-RABs at a time, single eNB */
 testcase TC_initial_ctx_setup3() runs on test_CT {
-       f_TC_initial_ctx_setup_exec(num_enbs := 1, num_erabs := 3);
+       f_TC_exec(refers(f_TC_initial_ctx_setup), 1, 3);
 }
 /* 3 E-RABs at a time, multiple eNB connections */
 testcase TC_initial_ctx_setup3_multi() runs on test_CT {
-       f_TC_initial_ctx_setup_exec(num_enbs := mp_multi_enb_num, num_erabs := 
3);
+       f_TC_exec(refers(f_TC_initial_ctx_setup), mp_multi_enb_num, 3);
 }

 /* Test INITIAL CONTEXT SETUP procedure (failure) */
@@ -502,13 +465,7 @@
        f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
 }
 testcase TC_initial_ctx_setup_failure() runs on test_CT {
-       var ConnHdlrPars pars := valueof(t_ConnHdlrPars);
-       var ConnHdlr vc_conn;
-
-       f_init();
-
-       vc_conn := f_ConnHdlr_spawn(refers(f_TC_initial_ctx_setup_failure), 
pars);
-       vc_conn.done;
+       f_TC_exec(refers(f_TC_initial_ctx_setup_failure));
 }

 function f_TC_pfcp_heartbeat(charstring id) runs on ConnHdlr {
@@ -525,13 +482,7 @@
        setverdict(pass);
 }
 testcase TC_pfcp_heartbeat() runs on test_CT {
-       var ConnHdlrPars pars := valueof(t_ConnHdlrPars);
-       var ConnHdlr vc_conn;
-
-       f_init();
-
-       vc_conn := f_ConnHdlr_spawn(refers(f_TC_pfcp_heartbeat), pars);
-       vc_conn.done;
+       f_TC_exec(refers(f_TC_pfcp_heartbeat));
 }

 control {

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39461?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0df4ad15bc2dca2afb2c598c1b053f45b69c181b
Gerrit-Change-Number: 39461
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>

Reply via email to