diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-01-28 15:27:46 +0100 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-01-29 21:17:01 +0000 |
commit | 6d32c92e4fbc67e09f77157baef72ea3044ab534 (patch) | |
tree | afae9bf78aca5e0a961e5497ab4ad1de78358a86 | |
parent | f4db24c731f70b98c5acbe07ddd5bbce9e2866d9 (diff) |
show bug: add test_dyn_ts_amr_tch_{f,h}_to_{h,f}_congestion_assignment_2.ho_vty
Name both new tests with suffix '_2' even though the first h_to_f does
not exist (yet?), to indicate the complementary nature of those two
tests.
Related: SYS#5301
Change-Id: I8c8d9d5936f713f7d02e4246eeb373916e62510b
3 files changed, 79 insertions, 0 deletions
diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index 2658f8bb4..bd21d0e57 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -17,6 +17,8 @@ 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_amr_tch_f_to_h_congestion_assignment_2.ho_vty +pass test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty pass test_dyn_ts_balance_congestion.ho_vty pass test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty pass test_dyn_ts_congestion_tch_f_vs_tch_h_2.ho_vty diff --git a/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty new file mode 100644 index 000000000..619459662 --- /dev/null +++ b/tests/handover/test_dyn_ts_amr_tch_f_to_h_congestion_assignment_2.ho_vty @@ -0,0 +1,49 @@ +# If a handover from TCH/F to TCH/H frees a dynamic timeslot, +# take the freed TCH/H from the soure timeslot into account, +# both when the target is a dynamic timeslot and when the target is a static timeslot. + +create-bts trx-count 1 timeslots c+s4 dyn TCH/F TCH/F TCH/H PDCH PDCH PDCH + +network + bts 0 + handover2 min-free-slots tch/f 3 + handover2 min-free-slots tch/h 2 + handover2 assignment 1 + +set-ts-use trx 0 0 states * TCH/F - - - * * * +# (there must be at least one measurement report on each lchan for congestion check to work) +meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +congestion-check +# FAIL: after the handover from the dyn TS to TCH/H, the dyn TS has freed two TCH/H, while the static TCH/H has reduced +# the TCH/H count by one. So the resulting free slots are 3 TCH/H, which means no congestion. A handover should occur. +expect-no-chan + +# Again with one more TCH/H occupied, there will still be two free TCH/H after HO on the dyn TS +set-ts-use trx 0 0 states * TCH/F - - TCH/H- * * * +meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +congestion-check +# FAIL: resulting free slots are 2 TCH/H, which means no congestion. A handover should occur. +expect-no-chan + +# Again, with the target being a dyn TS +create-bts trx-count 1 timeslots c+s4 dyn TCH/F TCH/F dyn PDCH PDCH PDCH + +network + bts 1 + handover2 min-free-slots tch/f 3 + handover2 min-free-slots tch/h 2 + handover2 assignment 1 + +set-ts-use trx 1 0 states * TCH/F TCH/F - pdch * * * +meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +congestion-check +# FAIL: after the handover from the dyn TS to TCH/H, the dyn TS has freed two TCH/H, while the static TCH/H has reduced +# the TCH/H count by one. So the resulting free slots are 3 TCH/H, which means no congestion. A handover should occur. +expect-no-chan + +# Again with one more TCH/H occupied, there will still be two free TCH/H after HO on the dyn TS +set-ts-use trx 1 0 states * TCH/F TCH/F - TCH/H- * * * +meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +congestion-check +# FAIL: resulting free slots are 2 TCH/H, which means no congestion. A handover should occur. +expect-no-chan diff --git a/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty b/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty new file mode 100644 index 000000000..36a981745 --- /dev/null +++ b/tests/handover/test_dyn_ts_amr_tch_h_to_f_congestion_assignment_2.ho_vty @@ -0,0 +1,28 @@ +# If a handover from TCH/H to TCH/F frees a dynamic timeslot, +# take the freed TCH/F from the soure timeslot into account, +# when the target is a static timeslot. + +create-bts trx-count 1 timeslots c+s4 dyn TCH/F TCH/F TCH/F PDCH PDCH PDCH + +network + bts 0 + handover2 min-free-slots tch/f 2 + handover2 min-free-slots tch/h 2 + handover2 assignment 1 + +set-ts-use trx 0 0 states * TCH/H- - - - * * * +# (there must be at least one measurement report on each lchan for congestion check to work) +meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +congestion-check +expect-ho from lchan 0 0 1 0 to lchan 0 0 2 0 +expect-ts-use trx 0 0 states * pdch TCH/F - - * * * + +# Again with one more TCH/F occupied, there will still be two free TCH/F after HO on the dyn TS +set-ts-use trx 0 0 states * TCH/H- - - TCH/F * * * +meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30 +congestion-check +# FAIL: after the handover from the dyn TS to TCH/F, the dyn TS has freed a TCH/F, while the static TCH/F has reduced +# the TCH/F count by one. So the resulting free slots are 2 TCH/F, which means no congestion. A handover should occur. +expect-no-chan + +# (TCH/H -> TCH/F onto a dyn TS will always make TCH/H congestion worse, so there is no useful test case left here) |