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;
diff --git a/msc/expected-results.xml b/msc/expected-results.xml
index 28a6728..96af4a4 100644
--- a/msc/expected-results.xml
+++ b/msc/expected-results.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<testsuite name='Titan' tests='154' failures='9' errors='2' skipped='0' inconc='0' time='MASKED'>
+<testsuite name='Titan' tests='154' failures='9' errors='0' skipped='0' inconc='0' time='MASKED'>
   <testcase classname='MSC_Tests' name='TC_cr_before_reset' time='MASKED'/>
   <testcase classname='MSC_Tests' name='TC_lu_imsi_noauth_tmsi' time='MASKED'/>
   <testcase classname='MSC_Tests' name='TC_lu_imsi_noauth_notmsi' time='MASKED'/>
@@ -102,12 +102,8 @@
   <testcase classname='MSC_Tests' name='TC_lu_imsi_auth3g_tmsi_check_imei' time='MASKED'/>
   <testcase classname='MSC_Tests' name='TC_lu_imsi_noauth_tmsi_check_imei' time='MASKED'/>
   <testcase classname='MSC_Tests' name='TC_lu_imsi_noauth_notmsi_check_imei' time='MASKED'/>
-  <testcase classname='MSC_Tests' name='TC_lu_imsi_auth_tmsi_check_imei_nack' time='MASKED'>
-    <error type='DTE'></error>
-  </testcase>
-  <testcase classname='MSC_Tests' name='TC_lu_imsi_auth_tmsi_check_imei_err' time='MASKED'>
-    <error type='DTE'></error>
-  </testcase>
+  <testcase classname='MSC_Tests' name='TC_lu_imsi_auth_tmsi_check_imei_nack' time='MASKED'/>
+  <testcase classname='MSC_Tests' name='TC_lu_imsi_auth_tmsi_check_imei_err' time='MASKED'/>
   <testcase classname='MSC_Tests' name='TC_lu_imsi_auth_tmsi_check_imei_early' time='MASKED'/>
   <testcase classname='MSC_Tests' name='TC_lu_imsi_auth3g_tmsi_check_imei_early' time='MASKED'/>
   <testcase classname='MSC_Tests' name='TC_lu_imsi_noauth_tmsi_check_imei_early' time='MASKED'/>