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;
|
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) */
|
/* 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)
|
private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0)
|
||||||
runs on RAW_PCU_Test_CT {
|
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);
|
private template integer CS4_lqual_dB_range := (12 .. infinity);
|
||||||
|
|
||||||
testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT {
|
testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT {
|
||||||
|
var GsmRrMessage rr_imm_ass;
|
||||||
var PacketUlAssign ul_tbf_ass;
|
var PacketUlAssign ul_tbf_ass;
|
||||||
var RlcmacDlBlock dl_block;
|
var RlcmacDlBlock dl_block;
|
||||||
var PCUIF_Message pcu_msg;
|
var PCUIF_Message pcu_msg;
|
||||||
var GsmRrMessage rr_msg;
|
|
||||||
var octetstring data;
|
var octetstring data;
|
||||||
var boolean ok;
|
var boolean ok;
|
||||||
|
|
||||||
|
@ -858,25 +880,15 @@ testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT {
|
||||||
f_init_raw(testcasename());
|
f_init_raw(testcasename());
|
||||||
|
|
||||||
/* Establish an Uplink TBF */
|
/* Establish an Uplink TBF */
|
||||||
ok := f_establish_tbf(rr_msg);
|
ok := f_establish_tbf(rr_imm_ass);
|
||||||
if (not ok) {
|
if (not ok) {
|
||||||
setverdict(fail, "Failed to establish an Uplink TBF");
|
setverdict(fail, "Failed to establish TBF");
|
||||||
mtc.stop;
|
mtc.stop;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure we received an UL TBF Assignment */
|
ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass);
|
||||||
if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) {
|
if (not ok) {
|
||||||
ul_tbf_ass := rr_msg.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul;
|
setverdict(fail, "Immediate Assignment not an Uplink TBF");
|
||||||
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());
|
|
||||||
mtc.stop;
|
mtc.stop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue