aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-06-29 15:06:44 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2021-06-29 22:24:24 +0200
commitfa3cb5a9322980383d9a195498c2cbf8edf667c7 (patch)
tree6735a0753f760547d80019114750f420e0ef274a /tests
parent38a839e12050bec13599548257c0229e778a331b (diff)
hodec2: add test case showing low rxlev tch/h<->tch/f oscillation
Diffstat (limited to 'tests')
-rw-r--r--tests/handover/handover_tests.ok1
-rw-r--r--tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty29
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok
index d0ce163d1..7de70e14e 100644
--- a/tests/handover/handover_tests.ok
+++ b/tests/handover/handover_tests.ok
@@ -9,6 +9,7 @@ pass test_amr_tch_h_to_f_congestion.ho_vty
pass test_amr_tch_h_to_f_congestion_two_cells.ho_vty
pass test_amr_tch_h_to_f_rxlev.ho_vty
pass test_amr_tch_h_to_f_rxlev_congested.ho_vty
+pass test_amr_tch_h_to_f_rxlev_oscillation.ho_vty
pass test_amr_tch_h_to_f_rxqual.ho_vty
pass test_amr_tch_h_to_f_rxqual_congested.ho_vty
pass test_balance_congestion.ho_vty
diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty
new file mode 100644
index 000000000..076076b71
--- /dev/null
+++ b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty
@@ -0,0 +1,29 @@
+# Low RxLev causes upgrade of TCH/H to TCH/F.
+# That leads to congestion of TCH/F, but do not handover back to non-congested TCH/H.
+
+network
+ handover2 afs-bias rxlev 0
+ handover2 min rxlev -80
+ handover2 window rxlev averaging 1
+ handover2 min-free-slots tch/f 3
+ handover2 min-free-slots tch/h 4
+
+create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH
+set-ts-use trx 0 0 states * - - - TCH/H- - - *
+meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev
+expect-as from lchan 0 0 4 0 to lchan 0 0 1 0
+expect-ts-use trx 0 0 states * TCH/F - - - - - *
+
+meas-rep lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0
+congestion-check
+# FAIL: should stay on TCH/F because rxlev is low, do not oscillate between TCH/F and /H.
+expect-as from lchan 0 0 1 0 to lchan 0 0 4 0
+expect-ts-use trx 0 0 states * - - - TCH/H- - - *
+meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+expect-as from lchan 0 0 4 0 to lchan 0 0 1 0
+expect-ts-use trx 0 0 states * TCH/F - - - - - *
+meas-rep lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0
+congestion-check
+expect-as from lchan 0 0 1 0 to lchan 0 0 4 0
+expect-ts-use trx 0 0 states * - - - TCH/H- - - *