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
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 634e629..1510af8 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -7932,6 +7932,31 @@
 	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 @@
 		}
 	}
 	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 @@
 		}
 	}
 	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 @@
 
 	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 {