aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-12-23 19:17:44 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2021-01-05 23:27:26 +0100
commit68495ecc198f02b2bdd493e8781a5adf73c446fe (patch)
treed1effac99c7b9b7cec09c3e8eebd00052ccb0d38 /tests
parent69d219a3ec3de4a755bb5ad7f3d7dd4ecf0bfefb (diff)
handover_test: add AMR TCH/H->/F tests, showing a bug
Diffstat (limited to 'tests')
-rw-r--r--tests/handover/handover_tests.ok2
-rw-r--r--tests/handover/test_amr_tch_h_to_f_congestion.ho_vty14
-rw-r--r--tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty23
3 files changed, 39 insertions, 0 deletions
diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok
index 71f625504..8f5347193 100644
--- a/tests/handover/handover_tests.ok
+++ b/tests/handover/handover_tests.ok
@@ -4,6 +4,8 @@ pass test_amr_tch_f_to_h_congestion.ho_vty
pass test_amr_tch_f_to_h_congestion_assignment.ho_vty
pass test_amr_tch_f_to_h_congestion_assignment_2.ho_vty
pass test_amr_tch_f_to_h_congestion_assignment_3.ho_vty
+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_congestion.ho_vty
diff --git a/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty b/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty
new file mode 100644
index 000000000..4d1194c47
--- /dev/null
+++ b/tests/handover/test_amr_tch_h_to_f_congestion.ho_vty
@@ -0,0 +1,14 @@
+# Congestion check: Balancing congestion by handover TCH/H -> TCH/F
+# One BTS, TCH/H are congested and should move to TCH/F.
+
+network
+ handover2 min-free-slots tch/f 0
+ handover2 min-free-slots tch/h 6
+
+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 30 rxqual 0 ta 0
+expect-no-chan
+congestion-check
+expect-ho from lchan 0 0 4 0 to lchan 0 0 1 0
+expect-ts-use trx 0 0 states * TCH/F - - - - - *
diff --git a/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty b/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty
new file mode 100644
index 000000000..eaaeabdb4
--- /dev/null
+++ b/tests/handover/test_amr_tch_h_to_f_congestion_two_cells.ho_vty
@@ -0,0 +1,23 @@
+# Congestion check: Balancing congestion by handover TCH/H -> TCH/F
+# TCH/H are congested and should move to TCH/F
+# There are two cells, and the neighbor has weaker rxlev, so stay in the same cell.
+
+network
+ handover2 min-free-slots tch/f 0
+ handover2 min-free-slots tch/h 6
+
+create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH
+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 1 0 states * - - - TCH/H- - - *
+meas-rep repeat 10 lchan 1 0 4 0 rxlev 30 rxqual 0 ta 0 neighbors 20
+expect-no-chan
+congestion-check
+# FAIL: bts 1 has better rxlev, so the call should stay in bts 1. Instead, a handover to bts 0 happens.
+expect-ho from lchan 1 0 4 0 to lchan 0 0 1 0
+expect-ts-use trx 0 0 states * TCH/F - - - - - *
+expect-ts-use trx 1 0 states * - - - - - - *
+# the fail continues: later the better rxqual does *another* ho back to the original cell
+meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30
+expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0
+expect-ts-use trx 0 0 states * - - - - - - *
+expect-ts-use trx 1 0 states * TCH/F - - - - - *