lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41167?usp=email )
Change subject: SGSN: add as_fail_on_gmm_att_reject() ......................................................................
SGSN: add as_fail_on_gmm_att_reject()
Some tests will fail on GMM Attach Reject received.
Change-Id: Ic82e49518393c802fcbcb4f26dc8fa343f5799c8 --- M sgsn/BSSGP_ConnHdlr.ttcn M sgsn/SGSN_Tests.ttcn 2 files changed, 13 insertions(+), 21 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/41167/1
diff --git a/sgsn/BSSGP_ConnHdlr.ttcn b/sgsn/BSSGP_ConnHdlr.ttcn index 7deb985..60e62f3 100644 --- a/sgsn/BSSGP_ConnHdlr.ttcn +++ b/sgsn/BSSGP_ConnHdlr.ttcn @@ -567,6 +567,13 @@ } }
+altstep as_fail_on_gmm_att_reject(integer ran_index := 0) runs on BSSGP_ConnHdlr { + [] BSSGP[ran_index].receive(tr_GMM_ATTACH_REJECT(?)) { + setverdict(fail, "Unexpected GMM ATTACH REJECT"); + mtc.stop; + } +} + function f_gmm_attach(boolean umts_aka_challenge, boolean force_gsm_sres, integer ran_index := 0, template (omit) RoutingAreaIdentificationV old_ra := omit, boolean allow_id_imei_req := false) runs on BSSGP_ConnHdlr { diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 2268cfd..e9cf4b6 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2068,16 +2068,13 @@ var RoutingAreaIdentificationV rand_rai := f_random_RAI(); var PDU_L3_SGSN_MS l3_mt;
+ var default dreject := activate(as_fail_on_gmm_att_reject()); g_pars.vec := f_gen_auth_vec_3g(); g_pars.p_tmsi := f_random_ptmsi(suffix := '01'O);
f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), rand_rai, true, false, omit, omit));
alt { - [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { - setverdict(fail, "Unexpected GMM ATTACH REJECT"); - mtc.stop; - } [] BSSGP[0].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); f_send_l3(ts_GMM_ID_RESP(mi)); @@ -2090,16 +2087,14 @@
alt { [] as_gmm_gsup_lu_isd() { repeat; }; - [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { - setverdict(fail, "Unexpected GMM ATTACH REJECT"); - mtc.stop; - } [] BSSGP[0].receive(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?)) -> value l3_mt { f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); f_send_l3(ts_GMM_ATTACH_COMPL); setverdict(pass); } } + + deactivate(dreject); }
testcase TC_attach_gmm_attach_req_while_gmm_attach() runs on test_CT { @@ -2135,12 +2130,9 @@ g_pars.p_tmsi := f_random_ptmsi(suffix := '01'O);
f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), rand_rai, true, false, omit, omit)); + var default dreject := activate(as_fail_on_gmm_att_reject());
alt { - [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { - setverdict(fail, "Unexpected GMM ATTACH REJECT"); - mtc.stop; - } [] BSSGP[0].receive(tr_GMM_ID_REQ('001'B)) { /* Simulate a lost packet, because GMM Attach Req is sent with same content */ f_send_l3(ts_GMM_ATTACH_REQ(f_mi_get_lv(), rand_rai, true, false, omit, omit)); @@ -2148,10 +2140,6 @@ }
alt { - [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { - setverdict(fail, "Unexpected GMM ATTACH REJECT"); - mtc.stop; - } [] BSSGP[0].receive(tr_GMM_ID_REQ('001'B)) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); f_send_l3(ts_GMM_ID_RESP(mi)); @@ -2163,16 +2151,14 @@
alt { [] as_gmm_gsup_lu_isd() { repeat; }; - [] BSSGP[0].receive(tr_GMM_ATTACH_REJECT(?)) { - setverdict(fail, "Unexpected GMM ATTACH REJECT"); - mtc.stop; - } [] BSSGP[0].receive(tr_GMM_ATTACH_ACCEPT('001'B, ?, ?)) -> value l3_mt { f_process_attach_accept(l3_mt.msgs.gprs_mm.attachAccept); f_send_l3(ts_GMM_ATTACH_COMPL); setverdict(pass); } } + + deactivate(dreject); }
testcase TC_attach_gmm_attach_req_while_gmm_attach_retransmit() runs on test_CT { @@ -2197,7 +2183,6 @@ f_cleanup(); }
- private function f_TC_attach_usim_resync(charstring id) runs on BSSGP_ConnHdlr { var RoutingAreaIdentificationV old_ra := f_random_RAI();