pespin submitted this change.
mme: Fix implementation of TC_sgsap_alert*
Change-Id: I717c6f153ae77874170bf03e7a6c7bb628d12dba
---
M mme/ConnHdlr.ttcn
M mme/MME_Tests_SGsAP.ttcn
2 files changed, 35 insertions(+), 17 deletions(-)
diff --git a/mme/ConnHdlr.ttcn b/mme/ConnHdlr.ttcn
index 90e4366..ab97983 100644
--- a/mme/ConnHdlr.ttcn
+++ b/mme/ConnHdlr.ttcn
@@ -1122,20 +1122,20 @@
setverdict(pass);
}
[exp_success] SGsAP.receive(tr_SGsAP_PAGING_REJ(g_pars.ue_pars.imsi, ?)) {
- setverdict(fail, "Received unexpected PAGING REJECT");
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received unexpected PAGING REJECT");
}
/* we expect failure */
[not exp_success] SGsAP.receive(tr_SGsAP_SERVICE_REQ(g_pars.ue_pars.imsi, serv_ind, ?)) {
- setverdict(fail, "Received SERVICE REQ waiting for PAGING REJECT");
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received SERVICE REQ waiting for PAGING REJECT");
}
[not exp_success] SGsAP.receive(tr_SGsAP_PAGING_REJ(g_pars.ue_pars.imsi, exp_cause)) {
setverdict(pass);
}
[not exp_success] SGsAP.receive(tr_SGsAP_PAGING_REJ(g_pars.ue_pars.imsi, ?)) {
- setverdict(fail, "Received unexpected PAGING REJECT cause");
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received unexpected PAGING REJECT cause");
}
[] SGsAP.receive {
- setverdict(fail, "Received unexpected SGsAP");
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received unexpected SGsAP");
}
}
}
diff --git a/mme/MME_Tests_SGsAP.ttcn b/mme/MME_Tests_SGsAP.ttcn
index a662c13..f028316 100644
--- a/mme/MME_Tests_SGsAP.ttcn
+++ b/mme/MME_Tests_SGsAP.ttcn
@@ -1,6 +1,6 @@
module MME_Tests_SGsAP {
-/* Osmocom MME test suite in in TTCN-3, SGsAP related procedures (3GPP TS 23.272)
+/* Osmocom MME test suite in in TTCN-3, SGsAP related procedures (3GPP TS 29.118, 3GPP TS 23.272)
* (C) 2019 Harald Welte <laforge@gnumonks.org>
* All rights reserved.
*
@@ -16,10 +16,13 @@
import from General_Types all;
import from Osmocom_Types all;
+import from Misc_Helpers all;
import from L3_Templates all;
import from DNS_Helpers all;
import from MME_Tests all;
+import from NAS_EPS_Templates all;
+
import from ConnHdlr all;
/* performa SGs reset procedure */
@@ -97,17 +100,32 @@
/* Send ALERT-REQ to MME; perform S1AP activity; expect ALERT-ACK on SGs */
private function f_TC_sgsap_alert() runs on ConnHdlr {
- /* TODO: register subscriber on S1 */
+ f_attach('010'B /*= Combined EPS IMSI Attach*/, exp_sgsap_lu := true);
f_sgsap_alert(omit);
- /* TOOD: do something on S1 triggering UE ACT IND */
- SGsAP.receive(tr_SGsAP_UE_ACT_IND(g_pars.ue_pars.imsi));
+
+ /* Do something on S1 triggering UE ACT IND. non-combined TAU shouldn't
+ * trigger a non-EPS-related procedure and hence a SGsAP-UE-ACTIVITY-IND
+ * should be sent: */
+ f_tau(c_EPS_UPD_TYPE_TA_UPD_PERIODIC, exp_sgsap_lu := false);
+
+ timer T := 5.0;
+ T.start;
+ alt {
+ [] SGsAP.receive(tr_SGsAP_UE_ACT_IND(g_pars.ue_pars.imsi)) {
+ setverdict(pass);
+ }
+ [] T.timeout {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ log2str("Rx no SGsAP-UE-ACTIVITY-INDICATION from MME!"));
+ }
+ };
}
testcase TC_sgsap_alert() runs on MTC_CT {
- var ConnHdlrPars pars;
- var ConnHdlr vc_conn;
- f_init(1005, init_sgsap := true);
- pars := f_init_pars(ue_idx := 0);
- vc_conn := f_start_handler_with_pars(refers(f_TC_sgsap_alert), pars);
+ f_init(1005, init_diameter := true, init_gtpv2c_s11 := true, init_sgsap := true);
+ f_s1ap_setup(0);
+
+ var ConnHdlrPars pars := f_init_pars(ue_idx := 0);
+ var ConnHdlr vc_conn := f_start_handler_with_pars(refers(f_TC_sgsap_alert), pars);
vc_conn.done;
}
@@ -117,11 +135,11 @@
f_sgsap_alert(IMSI_unknown);
}
testcase TC_sgsap_alert_rej() runs on MTC_CT {
- var ConnHdlrPars pars;
- var ConnHdlr vc_conn;
f_init(1006, init_sgsap := true);
- pars := f_init_pars(ue_idx := 0);
- vc_conn := f_start_handler_with_pars(refers(f_TC_sgsap_alert_rej), pars);
+ f_s1ap_setup(0);
+
+ var ConnHdlrPars pars := f_init_pars(ue_idx := 0);
+ var ConnHdlr vc_conn := f_start_handler_with_pars(refers(f_TC_sgsap_alert_rej), pars);
vc_conn.done;
}
To view, visit change 41086. To unsubscribe, or for help writing mail filters, visit settings.