2012-01-06 14:16:12 +00:00
|
|
|
AT_INIT
|
|
|
|
AT_BANNER([Regression tests.])
|
|
|
|
|
2017-09-29 12:33:35 +00:00
|
|
|
AT_SETUP([gsm0408])
|
|
|
|
AT_KEYWORDS([gsm0408])
|
|
|
|
cat $abs_srcdir/gsm0408/gsm0408_test.ok > expout
|
|
|
|
AT_CHECK([$abs_top_builddir/tests/gsm0408/gsm0408_test], [], [expout], [ignore])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
add struct bsc_subscr, separating libbsc from gsm_subscriber
In a future commit, gsm_subscriber will be replaced by vlr_subscr, and it will
not make sense to use vlr_subscr in libbsc. Thus we need a dedicated BSC
subscriber: struct bsc_subscr.
Add rf_policy arg to bsc_grace_paging_request() because the bsc_subscr will no
longer have a backpointer to gsm_network (used to be via subscr->group).
Create a separate logging filter for the new BSC subscriber. The implementation
of adjusting the filter context is added in libbsc to not introduce
bsc_subscr_get/_put() dependencies to libcommon.
During Paging Response, fetch a bsc_subscr from the mobile identity, like we do
for the gsm_subscriber. It looks like a duplication now, but will make sense
for the VLR as well as for future MSC split patches.
Naming: it was requested to not name the new struct bsc_sub, because 'sub' is
too ambiguous. At the same time it would be fine to have 'bsc_sub_' as function
prefix. Instead of struct bsc_subscriber and bsc_sub_ prefix, I decided to
match both up as struct bsc_subscr and bsc_subscr_ function prefix. It's fast
to type, relatively short, unambiguous, and the naming is consistent.
Add bsc_subscr unit test.
Related: OS#1592, OS#1594
Change-Id: Ia61cc00e8bb186b976939a4fc8f7cf9ce6aa3d8e
2017-02-18 21:20:46 +00:00
|
|
|
AT_SETUP([bsc_subscr])
|
|
|
|
AT_KEYWORDS([bsc_subscr])
|
|
|
|
cat $abs_srcdir/subscr/bsc_subscr_test.ok > expout
|
|
|
|
cat $abs_srcdir/subscr/bsc_subscr_test.err > experr
|
|
|
|
AT_CHECK([$abs_top_builddir/tests/subscr/bsc_subscr_test], [], [expout], [experr])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
2012-11-22 13:59:46 +00:00
|
|
|
AT_SETUP([abis])
|
|
|
|
AT_KEYWORDS([abis])
|
|
|
|
cat $abs_srcdir/abis/abis_test.ok > expout
|
|
|
|
AT_CHECK([$abs_top_builddir/tests/abis/abis_test], [], [expout], [ignore])
|
|
|
|
AT_CLEANUP
|
2013-09-17 11:59:29 +00:00
|
|
|
|
2020-07-16 18:53:21 +00:00
|
|
|
AT_SETUP([acc])
|
|
|
|
AT_KEYWORDS([acc])
|
|
|
|
cat $abs_srcdir/acc/acc_test.ok > experr
|
|
|
|
AT_CHECK([$abs_top_builddir/tests/acc/acc_test], [], [ignore], [experr])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
2013-09-17 11:59:29 +00:00
|
|
|
AT_SETUP([bsc])
|
|
|
|
AT_KEYWORDS([bsc])
|
|
|
|
cat $abs_srcdir/bsc/bsc_test.ok > expout
|
|
|
|
AT_CHECK([$abs_top_builddir/tests/bsc/bsc_test], [], [expout], [ignore])
|
|
|
|
AT_CLEANUP
|
2013-10-15 10:00:26 +00:00
|
|
|
|
2018-07-13 07:17:07 +00:00
|
|
|
AT_SETUP([codec_pref])
|
|
|
|
AT_KEYWORDS([codec_pref])
|
|
|
|
cat $abs_srcdir/codec_pref/codec_pref_test.ok > expout
|
|
|
|
AT_CHECK([$abs_top_builddir/tests/codec_pref/codec_pref_test], [], [expout], [ignore])
|
|
|
|
AT_CLEANUP
|
|
|
|
|
2016-09-29 15:01:57 +00:00
|
|
|
AT_SETUP([nanobts_omlattr])
|
|
|
|
AT_KEYWORDS([nanobts_omlattr])
|
|
|
|
cat $abs_srcdir/nanobts_omlattr/nanobts_omlattr_test.ok > expout
|
|
|
|
AT_CHECK([$abs_top_builddir/tests/nanobts_omlattr/nanobts_omlattr_test], [], [expout], [ignore])
|
|
|
|
AT_CLEANUP
|
2017-11-07 02:38:28 +00:00
|
|
|
|
handover_test: implement as VTY shell
Drop the string arrays, and move the 32 handover tests to separate
script files. Instead of the peculiar implementation and instead of
cryptic commands, implement the handover test scripts as a VTY.
handover_test.c now sets up a VTY with handover testing VTY commands. It
also features the complete and unabridged VTY configuration nodes of
osmo-bsc itself. That allows dropping various ho script commands.
Before:
static char *test_case_14[] = {
"Handover to congested cell, if RX level is below minimum\n\n"
"The better neighbor cell is congested, so no handover is performed.\n"
"If the RX level of the current cell drops below minimum acceptable\n"
"level, the handover is performed.\n",
"create-n-bts", "2",
"create-ms", "0", "TCH/F", "AMR",
"expect-ts-use", "0", "0", "*", "TCH/F", "-", "-", "-", "-", "-", "-",
"set-min-free", "1", "TCH/F", "4",
"set-min-free", "1", "TCH/H", "4",
"meas-rep", "0","0","1","0", "10","0", "1","0","30",
"expect-no-chan",
"meas-rep", "0","0","1","0", "9","0", "1","0","30",
"expect-chan", "1", "1",
"ack-chan",
"expect-ho", "0", "1",
"ho-complete",
"expect-ts-use", "0", "0", "*", "-", "-", "-", "-", "-", "-", "-",
"expect-ts-use", "1", "0", "*", "TCH/F", "-", "-", "-", "-", "-", "-",
}
After:
# Handover to congested cell, if RX level is below minimum
# The better neighbor cell is congested, so no handover is performed.
# If the RX level of the current cell drops below minimum acceptable
# level, the handover is performed.
create-n-bts 2
set-ts-use trx 0 0 states * TCH/F - - - - - -
network
bts 1
handover2 min-free-slots tch/f 4
handover2 min-free-slots tch/h 4
meas-rep lchan 0 0 1 0 rxlev 10 rxqual 0 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 9 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 - - - - - -
Note how osmo-bsc's stock vty config nodes seamlessly integrate in the
test steps: just enter a configuration node, modify some values, and
indenting trivially takes care of exiting nodes correctly.
Running a test manually:
./handover_test test_0123.ho_vty
Instead of calling each test separately in testsuite.at, have a
handover_tests.sh script that picks up new tests just by presence of
files named test*.ho_vty.
Rationale:
It was considered to move handover tests to the TTCN suite, but there is
an advantage in having these C tests: they run super fast and catch bugs
even in the gerrit verification job, potentially saving a lot of time.
It is a reality that I need more of these tests, for dynamic timeslots
and TCH/F <-> TCH/H switches. The way the handover tests are written, as
arrays of strings containing cryptic fixed-argument script commands, has
been a pain to work with from the start, and now I am no longer willing
to endure that pain.
Change-Id: Ie238ebe41039d3fa44c9699937589e000883e052
2020-11-18 15:25:55 +00:00
|
|
|
AT_SETUP([handover_tests])
|
|
|
|
AT_KEYWORDS([handover_tests])
|
|
|
|
cat $abs_srcdir/handover/handover_tests.ok > expout
|
|
|
|
AT_CHECK([$abs_srcdir/handover/handover_tests.sh $abs_srcdir/handover $abs_builddir/handover], [], [expout], [ignore])
|
2020-11-18 12:45:59 +00:00
|
|
|
AT_CLEANUP
|