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
This commit is contained in:
Neels Hofmeyr 2021-07-28 18:05:43 +02:00 committed by laforge
parent f797d298a5
commit e1a1b63549
1 changed files with 11 additions and 1 deletions

View File

@ -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;
}