fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38099?usp=email )
Change subject: s1gw: move t_ConnHdlrPars back to S1GW_Tests ......................................................................
s1gw: move t_ConnHdlrPars back to S1GW_Tests
This is a partial revert of 956bf05e7, which moved the t_ConnHdlrPars from module S1GW_Tests to S1GW_ConnHdlr and added f_new_ConnHdlrPars().
The problem is that we want to assign module parameter values to some fields of the ConnHdlrPars record, but TTCN-3 does not allow to access module parameters of one module from another. Having to add more and more parameters to the proxy function f_new_ConnHdlrPars() is highly inconvenient.
Change-Id: Ibc34d0219a616a239c0595e61a783f18fbc91b36 Related: 956bf05e7 "s1gw: Initial StatsD support" --- M s1gw/S1GW_ConnHdlr.ttcn M s1gw/S1GW_Tests.ttcn 2 files changed, 11 insertions(+), 15 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/38099/1
diff --git a/s1gw/S1GW_ConnHdlr.ttcn b/s1gw/S1GW_ConnHdlr.ttcn index bb502be..d90609d 100644 --- a/s1gw/S1GW_ConnHdlr.ttcn +++ b/s1gw/S1GW_ConnHdlr.ttcn @@ -64,13 +64,6 @@ iE_Extensions := omit }
-template (value) ConnHdlrPars -t_ConnHdlrPars(integer idx := 0, charstring statsd_prefix := "") := { - idx := idx, - genb_id := ts_Global_ENB_ID(idx), - statsd_prefix := statsd_prefix -} - type function void_fn(charstring id) runs on ConnHdlr;
function f_ConnHdlr_init(void_fn fn, charstring id, ConnHdlrPars pars) diff --git a/s1gw/S1GW_Tests.ttcn b/s1gw/S1GW_Tests.ttcn index 06e4877..fd6a0ee 100644 --- a/s1gw/S1GW_Tests.ttcn +++ b/s1gw/S1GW_Tests.ttcn @@ -109,9 +109,12 @@ vc_PFCP.start(PFCP_Emulation.main(pfcp_cfg)); }
-function f_new_ConnHdlrPars(integer idx := 0) return ConnHdlrPars { - var ConnHdlrPars pars := valueof(t_ConnHdlrPars(idx, mp_statsd_prefix)); - return pars; +template (value) ConnHdlrPars +t_ConnHdlrPars(integer idx := 0, + charstring statsd_prefix := mp_statsd_prefix) := { + idx := idx, + genb_id := ts_Global_ENB_ID(idx), + statsd_prefix := statsd_prefix }
function f_ConnHdlr_spawn(void_fn fn, ConnHdlrPars pars) @@ -162,7 +165,7 @@ f_ConnHdlr_s1ap_unregister(g_pars.genb_id); } testcase TC_setup() runs on test_CT { - var ConnHdlrPars pars := f_new_ConnHdlrPars(); + var ConnHdlrPars pars := valueof(t_ConnHdlrPars); var ConnHdlr vc_conn;
f_init(); @@ -189,7 +192,7 @@ f_init();
for (var integer i := 0; i < 42; i := i + 1) { - var ConnHdlrPars pars := f_new_ConnHdlrPars(i); + var ConnHdlrPars pars := valueof(t_ConnHdlrPars(i)); var ConnHdlr vc_conn := f_ConnHdlr_spawn(refers(f_TC_setup_multi), pars); vc_conns := vc_conns & { vc_conn }; } @@ -217,7 +220,7 @@ f_ConnHdlr_s1ap_unregister(g_pars.genb_id); } testcase TC_conn_term_by_mme() runs on test_CT { - var ConnHdlrPars pars := f_new_ConnHdlrPars(); + var ConnHdlrPars pars := valueof(t_ConnHdlrPars); var ConnHdlr vc_conn;
f_init(); @@ -237,7 +240,7 @@ setverdict(pass); } testcase TC_conn_term_mme_unavail() runs on test_CT { - var ConnHdlrPars pars := f_new_ConnHdlrPars(); + var ConnHdlrPars pars := valueof(t_ConnHdlrPars); var ConnHdlr vc_conn;
f_init(s1apsrv_start := false); @@ -312,7 +315,7 @@ f_ConnHdlr_s1ap_unregister(g_pars.genb_id); } testcase TC_e_rab_setup() runs on test_CT { - var ConnHdlrPars pars := f_new_ConnHdlrPars(); + var ConnHdlrPars pars := valueof(t_ConnHdlrPars); var ConnHdlr vc_conn;
f_init();