aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2022-02-22 15:15:00 +0100
committerpespin <pespin@sysmocom.de>2022-02-24 11:47:43 +0000
commite5fe6e752740a41117258d6f679977d627ed031f (patch)
tree26695bb5e16a07a87bd5d15e3478304830d08cc6
parent0886215539b8f25c4d3e3a47c6bab8ce1d9a54dd (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.ttcn9
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__);