aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-07-02 02:08:32 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2021-07-02 02:12:04 +0200
commitec2e1f701d4876927a270fe45c443c790d977f85 (patch)
tree864892c303519bf7849ba1f089aa739492ff496e
parent906af1089c33f08b967e0ba8ac68af40c67cbdb6 (diff)
msc: rather not use decmatch in f_tc_ho_inter_msc_out()
TC_ho_inter_msc_out fails on jenkins in a way that i cannot reproduce. A possible source is the decmatch for the Handover Request message. The jenkins logs show: MSC_Tests.ttcn:6005 Warning: Decoded content matching failed, because the buffer was not empty after decoding. Remaining octets: 22. Change-Id: I20b5594c7e083af791525231f24d3ed089c18910
-rw-r--r--msc/MSC_Tests.ttcn8
1 files changed, 6 insertions, 2 deletions
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 5c63b636..e548c5c5 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -6005,7 +6005,7 @@ private function f_tc_ho_inter_msc_out(charstring id, BSC_ConnHdlrPars pars) run
alt {
[] GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST,
pars.imsi, destination_name := remote_msc_name,
- an_apdu := t_GSUP_AN_APDU(OSMO_GSUP_AN_PROTO_48006, decmatch expect_ho_request))) -> value prep_ho_req;
+ an_apdu := t_GSUP_AN_APDU(OSMO_GSUP_AN_PROTO_48006, pdu := ?))) -> value prep_ho_req;
[] GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST)) {
setverdict(fail, "Wrong OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST message received");
mtc.stop;
@@ -6016,10 +6016,14 @@ private function f_tc_ho_inter_msc_out(charstring id, BSC_ConnHdlrPars pars) run
f_gsup_find_ie(prep_ho_req, OSMO_GSUP_SOURCE_NAME_IE, source_name_ie);
var octetstring local_msc_name := source_name_ie.source_name;
- /* To forward the actual chosen encryption algorithm, decode the received PDU */
+ /* Decode PDU to 1) match with expect_ho_request and 2) to forward the actual chosen encryption algorithm. */
var GSUP_IeValue an_apdu_ie;
f_gsup_find_ie(prep_ho_req, OSMO_GSUP_AN_APDU_IE, an_apdu_ie);
ho_request := dec_PDU_BSSAP(an_apdu_ie.an_apdu.pdu);
+ if (not match(ho_request, expect_ho_request)) {
+ setverdict(fail, "Wrong PDU in OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST message received");
+ mtc.stop;
+ }
/* Remote MSC has figured out its BSC and signals success */
var PDU_ML3_NW_MS rr_ho_cmd := valueof(ts_RR_HandoverCommand);