PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion

Send 7 RACH indications to the IUT with EGPRS Packet Channel Request.
Since we have only one timeslot (and USF value '111'B is reserved),
the 8-th indication should be properly rejected by the IUT.

Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7
Related: OS#1548
This commit is contained in:
Vadim Yanitskiy 2020-05-22 21:53:58 +07:00
parent 7e06c25ed3
commit c4324ffb64
1 changed files with 34 additions and 0 deletions

View File

@ -1861,6 +1861,39 @@ testcase TC_egprs_pkt_chan_req_reject_emergency() runs on RAW_PCU_Test_CT {
f_shutdown(__BFILE__, __LINE__, final := true);
}
/* Make sure that IUT responds with RR Immediate Assignment Reject due to exhaustion. */
testcase TC_egprs_pkt_chan_req_reject_exhaustion() runs on RAW_PCU_Test_CT {
var template IARRestOctets rest;
var BIT11 ra11;
/* Initialize the PCU interface abstraction */
f_init_raw(testcasename());
var EGPRSPktChRequest req := {
one_phase := {
tag := '0'B,
multislot_class := '10101'B,
priority := '01'B,
random_bits := '101'B
}
};
/* We send 7 requests, the IUT gives us all available USFs (0..6).
* TODO: make it configurable: usf_max := mp_pdch_ts_num * 7. */
for (var integer i := 0; i < 7; i := i + 1) {
req.one_phase.random_bits := int2bit(f_rnd_int(8), 3);
f_TC_egprs_pkt_chan_req(req, tr_IMM_TBF_ASS);
}
ra11 := enc_EGPRSPktChRequest2bits(req);
rest := tr_IARRestOctets({ *, tr_ExtRAOpt(substr(ra11, 6, 5)), * });
/* At this point, the IUT should run out of free USFs */
f_TC_egprs_pkt_chan_req_reject(ra11, 1870, rest);
f_shutdown(__BFILE__, __LINE__, final := true);
}
control {
execute( TC_pcuif_suspend() );
execute( TC_ta_ptcch_idle() );
@ -1895,6 +1928,7 @@ control {
execute( TC_egprs_pkt_chan_req_two_phase() );
execute( TC_egprs_pkt_chan_req_reject_content() );
execute( TC_egprs_pkt_chan_req_reject_emergency() );
execute( TC_egprs_pkt_chan_req_reject_exhaustion() );
execute( TC_mo_ping_pong_with_ul_racap_egprs_only() );
}