msc: use f_expect_clear() in check IMEI tests

Fix the broken pipe race condition caused by closing the RAN connection
too early. Properly wait for clear command and send clear complete.

TC_lu_imsi_auth_tmsi_check_imei_{nack,err} do not pass anymore, because
OsmoMSC is sending the LU reject twice. Patch [1] fixes it.

[1] I127b27937613ea0ff29d67991c0414fca6d441d9 (osmo-msc)
Fixes: 1d118ff753d963cfe5feb2450a31bc3a51aa5eb6 ("msc: add check IMEI tests")
Change-Id: I836f76242463789c4c003feec757714827f2a31b
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index c7c96eb..15ff17c 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -5618,7 +5618,7 @@
 	f_msc_lu_hlr();
 	f_mm_imei();
 
-	/* Expect reject. As of writing, sometimes it passes, sometimes we get a broken pipe (race condition)! */
+	/* Expect reject */
 	alt {
 	[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
 		setverdict(pass);
@@ -5628,6 +5628,7 @@
 		mtc.stop;
 		}
 	}
+	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_nack() runs on MTC_CT {
 	var BSC_ConnHdlr vc_conn;
@@ -5658,7 +5659,7 @@
 	f_msc_lu_hlr();
 	f_mm_imei();
 
-	/* Expect reject. As of writing, sometimes it passes, sometimes we get a broken pipe (race condition)! */
+	/* Expect reject */
 	alt {
 	[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
 		setverdict(pass);
@@ -5668,6 +5669,7 @@
 		mtc.stop;
 		}
 	}
+	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_err() runs on MTC_CT {
 	var BSC_ConnHdlr vc_conn;
@@ -5769,6 +5771,7 @@
 		mtc.stop;
 		}
 	}
+	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_early_nack() runs on MTC_CT {
 	var BSC_ConnHdlr vc_conn;
@@ -5807,6 +5810,7 @@
 		mtc.stop;
 		}
 	}
+	f_expect_clear();
 }
 testcase TC_lu_imsi_auth_tmsi_check_imei_early_err() runs on MTC_CT {
 	var BSC_ConnHdlr vc_conn;