From 25e8f76116357ba571ec9e5cfe255f4d180137bc Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 13 Nov 2020 01:13:48 +0100 Subject: [PATCH] handover test: add test 30: de-congest TCH/F by moving to dyn TS TCH/H In the test, show the undesired behavior of moving non-dynamic timeslots first, because they are the first to be considered in the congestion resolution loop. The behavior will be fixed in Ic221b8d2687cdec0bf94410c84a4da43853f0900. Change-Id: I09ab9f2f79fa434c7279cb4d09899f69b047aa55 --- tests/handover/handover_test.c | 40 ++++++++++++++++++++++++++++++++++ tests/testsuite.at | 6 +++++ 2 files changed, 46 insertions(+) diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index d442d9992..46f7cb8e6 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1655,6 +1655,45 @@ static char *test_case_29[] = { NULL }; +static char *test_case_30[] = { + "2", + + "Congestion check: Balancing congestion by handover TCH/F -> TCH/H\n\n" + "With dynamic timeslots.\n" + "As soon as only one TCH/F is left, there should be HO to a dyn TS.\n" + , + "create-bts", "1", "c+s4", "TCH/F", "TCH/F", "TCH/F", "dyn", "dyn", "dyn", "PDCH", + "set-min-free", "0", "TCH/F", "2", + "set-min-free", "0", "TCH/H", "0", + "as-enable", "0", "1", + "set-ts-use", "0", "0", "*", "TCH/F", "TCH/F", "TCH/F", "TCH/F", "PDCH", "PDCH", "PDCH", + "meas-rep", "0","0","1","0", "40","0", "1", "0","30", + "meas-rep", "0","0","2","0", "40","0", "1", "0","30", + "meas-rep", "0","0","3","0", "40","0", "1", "0","30", + "meas-rep", "0","0","4","0", "40","0", "1", "0","30", + "congestion-check", + "expect-no-chan", + "create-ms", "0", "TCH/F", "AMR", + "meas-rep", "0","0","5","0", "40","0", "1", "0","30", + "expect-ts-use", "0", "0", "*", "TCH/F", "TCH/F", "TCH/F", "TCH/F", "TCH/F", "PDCH", "PDCH", + "congestion-check", + "expect-chan", "0", "6", + "ack-chan", + /* Not so good: rather than moving static TCH/F, we should favor freeing dyn TS, for more PDCH */ + "expect-ho", "0", "1", + "ho-complete", + "expect-ts-use", "0", "0", "*", "-", "TCH/F", "TCH/F", "TCH/F", "TCH/F", "TCH/H-", "PDCH", + "congestion-check", + "expect-chan", "0", "6", + "ack-chan", + "expect-ho", "0", "2", + "ho-complete", + "expect-ts-use", "0", "0", "*", "-", "-", "TCH/F", "TCH/F", "TCH/F", "TCH/HH", "PDCH", + "congestion-check", + "expect-no-chan", + NULL +}; + static char **test_cases[] = { test_case_0, @@ -1687,6 +1726,7 @@ static char **test_cases[] = { test_case_27, test_case_28, test_case_29, + test_case_30, }; static const struct log_info_cat log_categories[] = { diff --git a/tests/testsuite.at b/tests/testsuite.at index a0d85ce3e..787f33d4f 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -230,3 +230,9 @@ AT_KEYWORDS([handover]) cat $abs_srcdir/handover/handover_test.ok > expout AT_CHECK([$abs_top_builddir/tests/handover/handover_test 29], [], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([handover test 30]) +AT_KEYWORDS([handover]) +cat $abs_srcdir/handover/handover_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/handover/handover_test 30], [], [expout], [ignore]) +AT_CLEANUP