fixeria has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39872?usp=email )
Change subject: msc: split up as_unexp_gsup_or_bssap_msg()
......................................................................
msc: split up as_unexp_gsup_or_bssap_msg()
Make use of derived as_unexp_{gsup,bssap}_msg() altsteps.
Take a chance to improve them by printing unexpected PDUs.
Change-Id: Ie6c349bdae289d19614809545e23c2b7bf88f8ed
---
M msc/MSC_Tests.ttcn
1 file changed, 47 insertions(+), 88 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/39872/1
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 380052b..03f2412 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -673,14 +673,11 @@
alt {
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ)) { }
//[] BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_ACC)) { }
- [] BSSAP.receive {
- setverdict(fail, "Received unexpected BSSAP");
- mtc.stop;
- }
[] GSUP.receive(tr_GSUP_UL_REQ(g_pars.imsi)) {
setverdict(fail, "Unexpected GSUP UL REQ");
mtc.stop;
}
+ [] as_unexp_bssap_msg();
[] T.timeout {
setverdict(fail, "Timeout waiting for CM SERV REJ");
mtc.stop;
@@ -714,10 +711,7 @@
T.start;
alt {
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ)) { }
- [] BSSAP.receive {
- setverdict(fail, "Received unexpected BSSAP");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
[] T.timeout {
setverdict(fail, "Timeout waiting for CM SERV REJ");
mtc.stop;
@@ -1890,10 +1884,7 @@
f_cl3_or_initial_ue(l3_info);
alt {
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ)) { }
- [] BSSAP.receive {
- setverdict(fail, "Received unexpected BSSAP instead of CM SERV REJ");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
}
f_expect_clear();
@@ -1974,10 +1965,7 @@
setverdict(fail, "CipherModeCommand despite no A5 intersection");
mtc.stop;
}
- [] BSSAP.receive {
- setverdict(fail, "Unknown/unexpected BSSAP received");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
}
setverdict(pass);
}
@@ -2041,10 +2029,7 @@
setverdict(fail, "CipherModeCommand despite no A5 intersection");
mtc.stop;
}
- [] BSSAP.receive {
- setverdict(fail, "Unknown/unexpected BSSAP received");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
}
setverdict(pass);
}
@@ -2545,10 +2530,7 @@
setverdict(fail, "paging seems not to stop!");
mtc.stop;
}
- [] BSSAP.receive {
- setverdict(fail, "unexpected BSSAP message received");
- self.stop;
- }
+ [] as_unexp_bssap_msg();
[] T.timeout {
setverdict(pass);
}
@@ -2793,10 +2775,7 @@
log("RX MO-forwardSM-Req: ", gsup_msg_rx);
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
/* Trigger RP-ACK by sending MO-forwardSM-Res */
@@ -2848,10 +2827,7 @@
log("RX MO-ReadyForSM-Req: ", gsup_msg_rx);
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
/* Trigger RP-ACK by sending MO-forwardSM-Res */
@@ -2935,10 +2911,7 @@
log("RX MT-forwardSM-Res (RP-ACK)");
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
f_expect_clear();
@@ -2997,10 +2970,7 @@
setverdict(pass);
mtc.stop;
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
f_expect_clear();
@@ -3084,10 +3054,7 @@
log("RX MT-forwardSM-Res (RP-ACK)");
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
/* Send the 2nd RP-ACK and expect MT-forwardSM-Res on GSUP */
@@ -3100,10 +3067,7 @@
log("RX MT-forwardSM-Res (RP-ACK)");
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
f_expect_clear();
@@ -3155,10 +3119,7 @@
log("RX MO-ReadyForSM-Req, SM-RP-MR is '00'O");
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
/* Submit MT SMS on GSUP */
@@ -3197,10 +3158,7 @@
log("RX MT-forwardSM-Res (RP-ACK)");
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
f_expect_clear();
@@ -3260,10 +3218,7 @@
log("RX MT-forwardSM-Res (RP-ACK)");
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
/* Keep some 'distance' between transmissions */
@@ -3321,10 +3276,7 @@
log("RX MT-forwardSM-Res (RP-ACK)");
setverdict(pass);
}
- [] GSUP.receive {
- setverdict(fail, "Rx unexpected GSUP message");
- mtc.stop;
- }
+ [] as_unexp_gsup_msg();
}
f_expect_clear();
@@ -3461,16 +3413,33 @@
* USSD Testing
***********************************************************************/
-private altstep as_unexp_gsup_or_bssap_msg()
+private altstep as_unexp_gsup_msg()
runs on BSC_ConnHdlr {
- [] GSUP.receive {
- setverdict(fail, "Unknown/unexpected GSUP received");
+ var GSUP_PDU pdu;
+
+ [] GSUP.receive(GSUP_PDU:?) -> value pdu {
+ setverdict(fail, "Unknown/unexpected GSUP received: ", pdu);
self.stop;
- }
+ }
+}
+
+private altstep as_unexp_bssap_msg()
+runs on BSC_ConnHdlr {
+ var PDU_DTAP_MT dtap;
+ var PDU_BSSAP bssap;
+
+ [] BSSAP.receive(PDU_DTAP_MT:?) -> value dtap {
+ setverdict(fail, "Unknown/unexpected BSSAP/DTAP received: ", dtap);
+ self.stop;
+ }
+ [] BSSAP.receive(PDU_BSSAP:?) -> value bssap {
+ setverdict(fail, "Unknown/unexpected BSSAP received: ", bssap);
+ self.stop;
+ }
[] BSSAP.receive {
- setverdict(fail, "Unknown/unexpected BSSAP message received");
+ setverdict(fail, "Unknown/unexpected BSSAP received");
self.stop;
- }
+ }
}
private function f_expect_gsup_msg(template GSUP_PDU msg,
@@ -3485,7 +3454,8 @@
setverdict(pass);
}
/* We don't expect anything else */
- [] as_unexp_gsup_or_bssap_msg();
+ [] as_unexp_gsup_msg();
+ [] as_unexp_bssap_msg();
[] T.timeout {
setverdict(fail, "Timeout waiting for GSUP message: ", msg);
}
@@ -3506,7 +3476,8 @@
setverdict(pass);
}
/* We don't expect anything else */
- [] as_unexp_gsup_or_bssap_msg();
+ [] as_unexp_gsup_msg();
+ [] as_unexp_bssap_msg();
[] T.timeout {
setverdict(fail, "Timeout waiting for BSSAP message: ", msg);
}
@@ -4385,10 +4356,7 @@
setverdict(fail, "Wrong ciphering algorithm mask in CiphModCmd");
mtc.stop;
}
- [] BSSAP.receive {
- setverdict(fail, "Unknown/unexpected BSSAP received");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
}
f_expect_common_id();
@@ -4397,10 +4365,7 @@
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
setverdict(pass);
}
- [] BSSAP.receive {
- setverdict(fail, "Unknown/unexpected BSSAP received");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
}
f_expect_clear();
}
@@ -4434,10 +4399,7 @@
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) {
setverdict(pass);
}
- [] BSSAP.receive {
- setverdict(fail, "Unknown/unexpected BSSAP received");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
}
f_expect_clear(verify_vlr_cell_id:=false);
}
@@ -4481,10 +4443,7 @@
setverdict(fail, "Wrong ciphering algorithm mask in CiphModCmd");
mtc.stop;
}
- [] BSSAP.receive {
- setverdict(fail, "Unknown/unexpected BSSAP received");
- mtc.stop;
- }
+ [] as_unexp_bssap_msg();
}
f_expect_common_id();
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39872?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ie6c349bdae289d19614809545e23c2b7bf88f8ed
Gerrit-Change-Number: 39872
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>