aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-01-26 01:22:12 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2022-01-26 01:23:06 +0100
commitc3c6ee6c63c714c48e60ac678b80ae0b4afedbdc (patch)
tree0b0bb540c8cddc89782cb66b5a1b4f1173e0f501
parent9c0f9c88718d8b0cf4391281472ff86afaf82dab (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.ttcn29
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 {