aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-01-06 23:21:46 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2021-01-12 09:36:12 +0100
commitdb52370c2e89fc9a5bf4137be9717507fb83e09b (patch)
tree699775fd1e1985180227eb6ffa71c6a316099a2b /tests
parentb3f982fd91522e2680e43501791a6ee983d97efa (diff)
handover_test: show bug: add test_balance_congestion_tchf_tchh.ho_vty
Diffstat (limited to 'tests')
-rw-r--r--tests/handover/handover_tests.ok1
-rw-r--r--tests/handover/test_balance_congestion_tchf_tchh.ho_vty53
2 files changed, 54 insertions, 0 deletions
diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok
index 521a0fef5..95442a35a 100644
--- a/tests/handover/handover_tests.ok
+++ b/tests/handover/handover_tests.ok
@@ -8,6 +8,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_balance_congestion.ho_vty
pass test_balance_congestion_2.ho_vty
+pass test_balance_congestion_tchf_tchh.ho_vty
pass test_congestion.ho_vty
pass test_congestion_favor_best_target_rxlev.ho_vty
pass test_congestion_intra_vs_inter_cell.ho_vty
diff --git a/tests/handover/test_balance_congestion_tchf_tchh.ho_vty b/tests/handover/test_balance_congestion_tchf_tchh.ho_vty
new file mode 100644
index 000000000..d7b3cf58c
--- /dev/null
+++ b/tests/handover/test_balance_congestion_tchf_tchh.ho_vty
@@ -0,0 +1,53 @@
+# Balance congestion across cells and across TCH/F and TCH/H.
+
+network
+ handover2 min-free-slots tch/f 3
+ handover2 min-free-slots tch/h 3
+
+create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H
+
+# both TCH/H and TCH/F have one lchan above congestion, nothing happens
+set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH -
+meas-rep lchan * * * * rxlev 10 rxqual 0 ta 0
+congestion-check
+expect-no-chan
+
+# TCH/F = +1, TCH/H = +2 above congestion. Moving a TCH/H to TCH/F would just reverse the situation to F=+2 H=+1. Nothing happens.
+set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH TCH/H-
+meas-rep lchan * * * * rxlev 10 rxqual 0 ta 0
+congestion-check
+expect-no-chan
+
+# F=+1 H=+3. Balance to F=+2 H=+2
+set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH TCH/HH
+meas-rep lchan * * * * rxlev 10 rxqual 0 ta 0
+congestion-check
+expect-ho from lchan 0 0 5 0 to lchan 0 0 3 0
+
+# Now the exact same thing, just with different min-free-slots settings for
+# tch/f vs tch/h
+
+network
+ handover2 min-free-slots tch/f 3
+ handover2 min-free-slots tch/h 5
+
+# both TCH/H and TCH/F have one lchan above congestion, nothing happens
+set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH - -
+meas-rep lchan * * * * rxlev 20 rxqual 0 ta 0
+congestion-check
+# FAIL: should be the same as above, but seeing a handover from F to H
+expect-ho from lchan 0 0 1 0 to lchan 0 0 6 0
+
+# TCH/F = +1, TCH/H = +2 above congestion. Moving a TCH/H to TCH/F would just
+# reverse the situation to F=+2 H=+1. Nothing happens.
+set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/H- -
+meas-rep lchan * * * * rxlev 20 rxqual 0 ta 0
+congestion-check
+expect-no-chan
+
+# F=+1 H=+3. Balance to F=+2 H=+2
+set-ts-use trx 0 0 states * TCH/F TCH/F - - TCH/HH TCH/HH -
+meas-rep lchan * * * * rxlev 20 rxqual 0 ta 0
+congestion-check
+# FAIL: should be the same as above, from lchan 0 0 5 0 to lchan 0 0 3 0, but no handover happens
+expect-no-chan