diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2022-01-26 01:22:12 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2022-01-26 01:23:06 +0100 |
commit | c3c6ee6c63c714c48e60ac678b80ae0b4afedbdc (patch) | |
tree | 0b0bb540c8cddc89782cb66b5a1b4f1173e0f501 | |
parent | 9c0f9c88718d8b0cf4391281472ff86afaf82dab (diff) |
bsc: fixup for conn cleanup, fixing three failing tests
Three tests fail after recent patch
"bsc: properly clean up conn after each test"
I9396efcabc085d2850244c6468b83c5f3a3ff3a2
In TC_assignment_emerg_setup_deny_bts(), do not expect an RR Rel.
In TC_assignment_emerg_setup_deny_msc() and TC_cm_reestablishment(),
drop the additional f_expect_dlcx_conns().
Related: OS#5337
Change-Id: I1d1d27f0927e640a430b24c6dc3d5d851a5c4cb9
-rw-r--r-- | bsc/BSC_Tests.ttcn | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 634e6295..1510af8d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -7932,6 +7932,31 @@ runs on MSC_ConnHdlr { deactivate(ack_rel_req); } +friend function f_perform_clear_no_rr_rel(RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC) +runs on MSC_ConnHdlr { + var default ack_dlcx := activate(as_mgcp_ack_all_dlcx()); + var default ack_rel_req := activate(as_rsl_ack_all_rel_req()); + f_logp(BSCVTY, "MSC instructs BSC to clear channel"); + BSSAP.send(ts_BSSMAP_ClearCommand(0)); + interleave { + [] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + f_logp(BSCVTY, "Got RSL Deact SACCH"); + } + [] BSSAP.receive(tr_BSSMAP_ClearComplete) { + f_logp(BSCVTY, "Got BSSMAP Clear Complete"); + /* Also drop the SCCP connection */ + BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); + } + [] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { + f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); + rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); + } + } + deactivate(ack_dlcx); + deactivate(ack_rel_req); +} + private function f_perform_clear_test_ct(DchanTuple dt) runs on test_CT { @@ -8707,7 +8732,7 @@ private function f_TC_assignment_emerg_setup_deny(charstring id) runs on MSC_Con } } BSSAP.receive(tr_BSSMAP_ClearRequest); - f_perform_clear(); + f_perform_clear_no_rr_rel(); } /* EMERGENCY CALL situation #1, allowed globally and by BTS */ @@ -10198,7 +10223,6 @@ private function f_tc_cm_reestablishment_1(charstring id) runs on MSC_ConnHdlr { } } f_perform_clear() - f_expect_dlcx_conns(); f_create_mgcp_delete_ep(g_media.mgcp_ep); COORD.send(REEST_CLEAR_DONE); } @@ -10259,7 +10283,6 @@ private function f_tc_cm_reestablishment_2(charstring id) runs on MSC_ConnHdlr { f_logp(BSCVTY, "f_tc_cm_reestablishment_2 clearing"); f_perform_clear(RSL1, RSL1_PROC); - f_expect_dlcx_conns(); } testcase TC_cm_reestablishment() runs on test_CT { |