pcu: Introduce func helper f_imm_ass_verify_ul_tbf_ass()
Change-Id: I5b8a7ca5a4d0f905bf68949978811b139568c237
This commit is contained in:
parent
f787b0953c
commit
6c1b4be6c3
|
@ -549,6 +549,28 @@ runs on RAW_PCU_Test_CT return boolean {
|
|||
return false;
|
||||
}
|
||||
|
||||
private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass)
|
||||
runs on RAW_PCU_Test_CT return boolean {
|
||||
|
||||
/* Make sure we received an UL TBF Assignment */
|
||||
if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) {
|
||||
ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul;
|
||||
log("Rx Uplink TBF assignment: ", ul_tbf_ass);
|
||||
setverdict(pass);
|
||||
} else {
|
||||
setverdict(fail, "Failed to match UL TBF Assignment");
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Make sure we have got a TBF with Dynamic Block Allocation */
|
||||
if (ul_tbf_ass.dynamic == omit) {
|
||||
setverdict(fail, "Single Block Allocation is not handled by ", testcasename());
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */
|
||||
private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0)
|
||||
runs on RAW_PCU_Test_CT {
|
||||
|
@ -847,10 +869,10 @@ private template integer CS3_lqual_dB_range := (7 .. 13);
|
|||
private template integer CS4_lqual_dB_range := (12 .. infinity);
|
||||
|
||||
testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT {
|
||||
var GsmRrMessage rr_imm_ass;
|
||||
var PacketUlAssign ul_tbf_ass;
|
||||
var RlcmacDlBlock dl_block;
|
||||
var PCUIF_Message pcu_msg;
|
||||
var GsmRrMessage rr_msg;
|
||||
var octetstring data;
|
||||
var boolean ok;
|
||||
|
||||
|
@ -858,25 +880,15 @@ testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT {
|
|||
f_init_raw(testcasename());
|
||||
|
||||
/* Establish an Uplink TBF */
|
||||
ok := f_establish_tbf(rr_msg);
|
||||
ok := f_establish_tbf(rr_imm_ass);
|
||||
if (not ok) {
|
||||
setverdict(fail, "Failed to establish an Uplink TBF");
|
||||
setverdict(fail, "Failed to establish TBF");
|
||||
mtc.stop;
|
||||
}
|
||||
|
||||
/* Make sure we received an UL TBF Assignment */
|
||||
if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) {
|
||||
ul_tbf_ass := rr_msg.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul;
|
||||
log("Rx Uplink TBF assignment: ", ul_tbf_ass);
|
||||
setverdict(pass);
|
||||
} else {
|
||||
setverdict(fail, "Failed to match UL TBF Assignment");
|
||||
mtc.stop;
|
||||
}
|
||||
|
||||
/* Make sure we have got a TBF with Dynamic Block Allocation */
|
||||
if (ul_tbf_ass.dynamic == omit) {
|
||||
setverdict(fail, "Single Block Allocation is not handled by ", testcasename());
|
||||
ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass);
|
||||
if (not ok) {
|
||||
setverdict(fail, "Immediate Assignment not an Uplink TBF");
|
||||
mtc.stop;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue