diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-01-15 09:18:27 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2021-01-19 11:49:07 +0100 |
commit | 3c7bc7aa1e7913a9254801f20f7479050c3911f6 (patch) | |
tree | 83de4d790f68446398ed4c920007d27ad48cc9f8 | |
parent | e2543cb182426a2c9bc97923def2900d53140299 (diff) |
show bug: add test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty
Related: SYS#5297
Change-Id: I3002797dea02dd0c10cfdd091ce73834a753e3a6
-rw-r--r-- | tests/handover/handover_tests.ok | 1 | ||||
-rw-r--r-- | tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty | 58 |
2 files changed, 59 insertions, 0 deletions
diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index d0c1c008d..f9adca906 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -17,6 +17,7 @@ pass test_congestion_no_oscillation.ho_vty pass test_congestion_no_oscillation2.ho_vty pass test_disabled_ho_and_as.ho_vty pass test_dyn_ts_amr_tch_f_to_h_congestion_assignment.ho_vty +pass test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty pass test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty pass test_dyn_ts_favor_moving_half_used_tch_h.ho_vty pass test_ho_to_better_cell.ho_vty diff --git a/tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty b/tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty new file mode 100644 index 000000000..1273d7524 --- /dev/null +++ b/tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty @@ -0,0 +1,58 @@ +# If a handover from one TCH kind to the other occupies a dynamic timeslot, +# also adhere to congestion constraints of the other TCH kind, since taking up +# a dyn TS may reduce the available slot count for both kinds of TCH. + +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F dyn dyn dyn PDCH +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F dyn dyn dyn PDCH + +# A TCH/F has better rxlev at a neighbor, and the neighbor's TCH/F slots would +# not become congested. But taking up a neighbor's dynamic timeslot for TCH/F +# would reduce the TCH/H availability to cause congestion on TCH/H. No HO. + +network + handover2 min-free-slots tch/f 0 + handover2 min-free-slots tch/h 4 + +set-ts-use trx 0 0 states * TCH/F - - pdch pdch pdch * +set-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/HH pdch pdch * + +meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +expect-no-chan + +meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 40 +# FAIL: should not handover because that results in congestion on TCH/H in bts 1 +expect-ho from lchan 0 0 1 0 to lchan 1 0 5 0 + +expect-ts-use trx 0 0 states * - - - pdch pdch pdch * +expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/HH TCH/F pdch * +meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 + +congestion-check +# FAIL: really weird: handover one TCH/H to the same cell to TCH/F, taking up another dyn TS. +# TCH/H congestion hence actually gets worse. +expect-ho from lchan 1 0 4 1 to lchan 1 0 6 0 +expect-ts-use trx 0 0 states * - - - pdch pdch pdch * +expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/H- TCH/F TCH/F * + +congestion-check +# more FAIL: TCH/H moves to worse bts 0 due to congestion +expect-ho from lchan 1 0 4 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- pdch pdch * +expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F pdch TCH/F TCH/F * + +congestion-check +expect-no-chan + +meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +expect-no-chan + +meas-rep lchan 0 * * * rxlev 30 rxqual 0 ta 0 neighbors 40 +# FAIL: back to bts 1 because of rxlev, plus moving TCH/H to TCH/F!? +expect-ho from lchan 0 0 4 0 to lchan 1 0 4 0 + +expect-ts-use trx 0 0 states * - - - pdch pdch pdch * +expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F * + +congestion-check +expect-no-chan +# Stable situation now only because TCH/F has min-free-slots set to 0 |