aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-07-28 18:05:43 +0200
committerlaforge <laforge@osmocom.org>2021-08-06 14:03:28 +0000
commite1a1b6354929e64d64fd29b21c55fbc4058df616 (patch)
treef931b2a74d5713f4f25cb84a6e1200481af09491
parentf797d298a588f31a2f3f095c6fa56961e88f676c (diff)
msc: split f_start_handler_with_pars()
To allow running connect() on the COORD ports of test components before starting the test component but after creating it, split f_start_handler_with_pars() into f_start_handler_create() and _run(). Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782
-rw-r--r--msc/MSC_Tests.ttcn12
1 files changed, 11 insertions, 1 deletions
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index d991cc98..f0421c76 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -412,7 +412,7 @@ runs on MTC_CT return BSC_ConnHdlrPars {
return pars;
}
-function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr {
+function f_start_handler_create(BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr {
var BSC_ConnHdlr vc_conn;
var charstring id := testcasename() & int2str(pars.ran_idx);
@@ -440,10 +440,20 @@ function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MT
connect(vc_conn:SGsAP, vc_SGsAP:SGsAP_CLIENT);
connect(vc_conn:SGsAP_PROC, vc_SGsAP:SGsAP_PROC);
}
+ return vc_conn;
+}
+function f_start_handler_run(BSC_ConnHdlr vc_conn, void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT {
+ var charstring id := testcasename() & int2str(pars.ran_idx);
/* We cannot use vc_conn.start(f_init_handler(fn, id, pars)); as we cannot have
* a stand-alone 'derefers()' call, see https://www.eclipse.org/forums/index.php/t/1091364/ */
vc_conn.start(derefers(fn)(id, pars));
+}
+
+function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr {
+ var BSC_ConnHdlr vc_conn;
+ vc_conn := f_start_handler_create(pars);
+ f_start_handler_run(vc_conn, fn, pars);
return vc_conn;
}