aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/tests/gsm0408
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-04-20 15:57:14 +0200
committerHarald Welte <laforge@gnumonks.org>2016-04-22 14:56:06 +0200
commitaafff96c4060e9bf6ceb9dee9652a91d293a6e1e (patch)
treed733ce9d4b97dab5d946f4d6dd805019b6d0c787 /openbsc/tests/gsm0408
parent26679e0475593aca645c7029e1aad899da73217a (diff)
Add vty check for max si2quater size
Explicitly check if added (U|E)ARFCN will fit into available si2quater message.
Diffstat (limited to 'openbsc/tests/gsm0408')
-rw-r--r--openbsc/tests/gsm0408/gsm0408_test.c52
-rw-r--r--openbsc/tests/gsm0408/gsm0408_test.ok5
2 files changed, 24 insertions, 33 deletions
diff --git a/openbsc/tests/gsm0408/gsm0408_test.c b/openbsc/tests/gsm0408/gsm0408_test.c
index 2d91b68f0..92626670c 100644
--- a/openbsc/tests/gsm0408/gsm0408_test.c
+++ b/openbsc/tests/gsm0408/gsm0408_test.c
@@ -103,6 +103,16 @@ static inline void gen(struct gsm_bts *bts)
printf("failed to generate SI2quater: %s\n", strerror(-r));
}
+static inline void _bts_uarfcn_add(struct gsm_bts *bts, uint16_t arfcn,
+ uint16_t scramble, bool diversity)
+{
+ int r = bts_uarfcn_add(bts, arfcn, scramble, diversity);
+ if (r < 0)
+ printf("failed to add UARFCN to SI2quater: %s\n", strerror(-r));
+ else
+ gen(bts);
+}
+
static inline void test_si2q_u(void)
{
struct gsm_bts *bts;
@@ -113,37 +123,17 @@ static inline void test_si2q_u(void)
exit(1);
bts = gsm_bts_alloc(network);
- bts_uarfcn_add(bts, 1982, 13, 1);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 44, 0);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 61, 1);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 89, 1);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 113, 0);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 123, 0);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 56, 1);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 72, 1);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 223, 1);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 14, 0);
- gen(bts);
-
- bts_uarfcn_add(bts, 1982, 88, 0);
+ _bts_uarfcn_add(bts, 1982, 13, 1);
+ _bts_uarfcn_add(bts, 1982, 44, 0);
+ _bts_uarfcn_add(bts, 1982, 61, 1);
+ _bts_uarfcn_add(bts, 1982, 89, 1);
+ _bts_uarfcn_add(bts, 1982, 113, 0);
+ _bts_uarfcn_add(bts, 1982, 123, 0);
+ _bts_uarfcn_add(bts, 1982, 56, 1);
+ _bts_uarfcn_add(bts, 1982, 72, 1);
+ _bts_uarfcn_add(bts, 1982, 223, 1);
+ _bts_uarfcn_add(bts, 1982, 14, 0);
+ _bts_uarfcn_add(bts, 1982, 88, 0);
gen(bts);
}
diff --git a/openbsc/tests/gsm0408/gsm0408_test.ok b/openbsc/tests/gsm0408/gsm0408_test.ok
index 565eac672..7b7a2cc76 100644
--- a/openbsc/tests/gsm0408/gsm0408_test.ok
+++ b/openbsc/tests/gsm0408/gsm0408_test.ok
@@ -80,6 +80,7 @@ generated SI2quater: [23] 59 06 07 c0 00 25 0f 7c 34 1a 64 26 5d f2 05 04 86 59
generated SI2quater: [23] 59 06 07 c0 00 25 0f 7c 38 58 12 22 fd ce 8e 05 04 86 59 00 03 2b 2b
generated SI2quater: [23] 59 06 07 c0 00 25 0f 7c 40 58 1d 22 fa ce 88 85 7b 00 44 b2 00 03 2b
generated SI2quater: [23] 59 06 07 c0 00 25 0f 7c 4c 7a 34 0e 64 77 85 43 55 c8 10 99 64 00 0b
-failed to generate SI2quater: Cannot allocate memory
-failed to generate SI2quater: Cannot allocate memory
+failed to add UARFCN to SI2quater: No space left on device
+failed to add UARFCN to SI2quater: No space left on device
+generated SI2quater: [23] 59 06 07 c0 00 25 0f 7c 4c 7a 34 0e 64 77 85 43 55 c8 10 99 64 00 0b
Done.