pcu: Fix race condition in TC_t3141

The test was expecting to always receive at least 1 DL packet with
USF_UNUSED, but since we implemented idle blocks in PCUIF that may not
always be the case anymore. If the TBF is freed in between last
requested block and next one, there may be no TBF and hence no MS
listening on the TS, so PCU will optimize and send an idle block.

Change-Id: Ia301c01a3f5c3fd0b11d8f20e39061aa7abc6127
This commit is contained in:
Pau Espin 2022-02-22 15:15:00 +01:00 committed by pespin
parent 0886215539
commit e5fe6e7527
1 changed files with 9 additions and 0 deletions

View File

@ -1428,6 +1428,15 @@ testcase TC_t3141() runs on RAW_PCU_Test_CT {
block_nr := nr.blk_nr));
repeat;
}
[ul_tbf_usf_req] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr,
tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH),
omit)) {
/* TBF was dropped by T3141, and PCU answered with an IDLE block to
our last RTS.req because there's no longer any MS listening on
the TS. */
setverdict(pass);
break;
}
[] T_3141.timeout {
log("T_3141 expired but TBF is still active, unexpected");
f_shutdown(__BFILE__, __LINE__);