laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27080 )
Change subject: BSC_Tests_VAMOS: fix TC_vamos_multiplex_tch_f_tch_f ......................................................................
BSC_Tests_VAMOS: fix TC_vamos_multiplex_tch_f_tch_f
Properly clean up conns. To know when the multiplex is ready, use the COORD port to tell the other component.
Related: OS#5444 Change-Id: I82b7eccd2ae30fdc3794ea9dad5d2d8f875d702d --- M bsc/BSC_Tests_VAMOS.ttcn 1 file changed, 17 insertions(+), 2 deletions(-)
Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/bsc/BSC_Tests_VAMOS.ttcn b/bsc/BSC_Tests_VAMOS.ttcn index ca722e7..9a53200 100644 --- a/bsc/BSC_Tests_VAMOS.ttcn +++ b/bsc/BSC_Tests_VAMOS.ttcn @@ -626,15 +626,27 @@ f_shutdown_helper(); }
+const charstring PRIMARY_LCHAN_DONE := "PRIMARY_LCHAN_DONE"; +const charstring MULTIPLEX_DONE := "MULTIPLEX_DONE"; + /* First, primary lchan of TC_vamos_multiplex_tch_f_tch_f() */ private function f_TC_vamos_multiplex_tch_f_tch_f1(charstring id) runs on MSC_ConnHdlr { f_est_lchan_and_mode_modify_to_vamos(); + f_sleep(1.0); + COORD.send(PRIMARY_LCHAN_DONE); f_logp(BSCVTY, "f_est_lchan_and_mode_modify_to_vamos done"); + COORD.receive(MULTIPLEX_DONE); + f_perform_clear(RSL); }
/* Second, VAMOS shadow lchan of TC_vamos_multiplex_tch_f_tch_f() */ private function f_TC_vamos_multiplex_tch_f_tch_f2(charstring id) runs on MSC_ConnHdlr { + f_sleep(1.0); + COORD.receive(PRIMARY_LCHAN_DONE); f_est_and_reassign_to_secondary_lchan(valueof(t_RslChanNr_Osmo_VAMOS_Bm(1))); + f_sleep(1.0); + COORD.send(MULTIPLEX_DONE); + f_perform_clear(RSL); }
/* Establish a primary lchan and modify it to VAMOS speech mode. Then establish @@ -654,11 +666,14 @@
pars1.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); pars2.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); - vc_conn1 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f1), pars1); - vc_conn1.done;
+ vc_conn1 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f1), pars1); vc_conn2 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f2), pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + + vc_conn1.done; vc_conn2.done; + f_shutdown_helper(); }