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'/>