fixeria has uploaded this change for review. (
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(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/39461/1
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: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0df4ad15bc2dca2afb2c598c1b053f45b69c181b
Gerrit-Change-Number: 39461
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>