bsc: Fix race condition exiting f_ho_out_of_this_bsc

The function didn't wait to receive the 2 messages from the BSC. As a
result, they may have arrived while tearing down the test components
shortly after exiting the function and provoke a Dynamic Test Error
while pushing the messages up the stack since some of the stack layers
may already be unavailable.

Test TC_ho_out_of_this_bsc() workarounded this by using a f_sleep(1),
but TC_srvcc_eutran_to_geran_ho_out() didn't, making it fail sometimes.

Change-Id: I590b09353900dfe6c4f648812ab675fed1908589
This commit is contained in:
Pau Espin 2021-06-15 11:30:00 +02:00 committed by laforge
parent 1650b165ea
commit 0619995974
1 changed files with 6 additions and 1 deletions

View File

@ -4858,6 +4858,12 @@ private function f_ho_out_of_this_bsc(template (omit) BSSMAP_oldToNewBSSIEs exp_
BSSAP.send(ts_BSSMAP_ClearCommand(cause));
f_expect_dlcx_conns();
interleave {
[] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE));
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr));
[] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr));
}
setverdict(pass);
}
@ -4870,7 +4876,6 @@ private function f_tc_ho_out_of_this_bsc(charstring id) runs on MSC_ConnHdlr {
f_establish_fully(ass_req, exp_compl);
f_ho_out_of_this_bsc();
f_sleep(1.0);
}
testcase TC_ho_out_of_this_bsc() runs on test_CT {
var MSC_ConnHdlr vc_conn;