diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-02-22 15:15:00 +0100 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2022-02-24 11:47:43 +0000 |
commit | e5fe6e752740a41117258d6f679977d627ed031f (patch) | |
tree | 26695bb5e16a07a87bd5d15e3478304830d08cc6 | |
parent | 0886215539b8f25c4d3e3a47c6bab8ce1d9a54dd (diff) |
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
-rw-r--r-- | pcu/PCU_Tests.ttcn | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 7fcab4ac..01113abc 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -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__); |