handover_test: add 'meas-rep repeat N'

Some tests want to repeat the same measurement report, typically 10
times to fill the averaging window. Instead of 10 lines saying
'meas-rep ...', allow 'meas-rep repeat 10 ...'.

Change-Id: Ib2fa81a449fb73ec7c458b0e6877d6561c79a846
This commit is contained in:
Neels Hofmeyr 2020-12-23 02:57:33 +01:00
parent d15d672427
commit 5fb6b64732
3 changed files with 42 additions and 50 deletions

View File

@ -841,22 +841,7 @@ DEFUN(create_ms, create_ms_cmd,
return CMD_SUCCESS;
}
DEFUN(meas_rep, meas_rep_cmd,
"meas-rep " LCHAN_ARGS " rxlev <0-255> rxqual <0-7> ta <0-255>"
" [neighbors] [<0-255>] [<0-255>] [<0-255>] [<0-255>] [<0-255>] [<0-255>]",
"Send measurement report\n"
LCHAN_ARGS_DOC
"rxlev\nrxlev\n"
"rxqual\nrxqual\n"
"timing advance\ntiming advance\n"
"neighbors list of rxlev reported by each neighbor cell\n"
"neighbor 0 rxlev\n"
"neighbor 1 rxlev\n"
"neighbor 2 rxlev\n"
"neighbor 3 rxlev\n"
"neighbor 4 rxlev\n"
"neighbor 5 rxlev\n"
)
static int _meas_rep(struct vty *vty, int argc, const char **argv)
{
struct gsm_lchan *lc;
uint8_t rxlev;
@ -909,6 +894,44 @@ DEFUN(meas_rep, meas_rep_cmd,
return CMD_SUCCESS;
}
#define MEAS_REP_ARGS LCHAN_ARGS " rxlev <0-255> rxqual <0-7> ta <0-255>" \
" [neighbors] [<0-255>] [<0-255>] [<0-255>] [<0-255>] [<0-255>] [<0-255>]"
#define MEAS_REP_DOC "Send measurement report\n"
#define MEAS_REP_ARGS_DOC \
LCHAN_ARGS_DOC \
"rxlev\nrxlev\n" \
"rxqual\nrxqual\n" \
"timing advance\ntiming advance\n" \
"neighbors list of rxlev reported by each neighbor cell\n" \
"neighbor 0 rxlev\n" \
"neighbor 1 rxlev\n" \
"neighbor 2 rxlev\n" \
"neighbor 3 rxlev\n" \
"neighbor 4 rxlev\n" \
"neighbor 5 rxlev\n"
DEFUN(meas_rep, meas_rep_cmd,
"meas-rep " MEAS_REP_ARGS,
MEAS_REP_DOC MEAS_REP_ARGS_DOC)
{
return _meas_rep(vty, argc, argv);
}
DEFUN(meas_rep_repeat, meas_rep_repeat_cmd,
"meas-rep repeat <0-999> " MEAS_REP_ARGS,
MEAS_REP_DOC
"Resend the same measurement report N times\nN\n"
MEAS_REP_ARGS_DOC)
{
int count = atoi(argv[0]);
argv += 1;
argc -= 1;
while (count--)
_meas_rep(vty, argc, argv);
return CMD_SUCCESS;
}
DEFUN(congestion_check, congestion_check_cmd,
"congestion-check",
"Trigger a congestion check\n")
@ -1125,6 +1148,7 @@ static void ho_test_vty_init()
install_element(CONFIG_NODE, &create_bts_cmd);
install_element(CONFIG_NODE, &create_ms_cmd);
install_element(CONFIG_NODE, &meas_rep_cmd);
install_element(CONFIG_NODE, &meas_rep_repeat_cmd);
install_element(CONFIG_NODE, &congestion_check_cmd);
install_element(CONFIG_NODE, &expect_no_chan_cmd);
install_element(CONFIG_NODE, &expect_chan_cmd);

View File

@ -12,23 +12,7 @@
create-n-bts 2
set-ts-use trx 0 0 states * TCH/F - - - - - -
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
meas-rep repeat 9 lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 40 rxqual 6 ta 0 neighbors 30
expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0

View File

@ -10,23 +10,7 @@ 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 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
meas-rep repeat 9 lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-no-chan
meas-rep lchan 0 0 1 0 rxlev 30 rxqual 6 ta 0 neighbors 40
expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0