aboutsummaryrefslogtreecommitdiffstats
path: root/tests/handover
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-03-22 04:54:57 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-07-28 12:18:23 +0200
commit431e085736ba958c5b69c87e401c67f0b322189d (patch)
treeb2c583e4085d2e50cb5080cc2a635aeb869930f2 /tests/handover
parent19bed23065e19caac62b4a6cfe565e609046da7d (diff)
inter-BSC HO: neighbor_ident API: drop 9bit BSIC
9-bit BSIC exist in the 3GPP specs, but we don't use them anywhere. Rather remove that choice from the API and UI. Change-Id: I29b92f47da2636d3a19f073755f9382fa98f9010
Diffstat (limited to 'tests/handover')
-rw-r--r--tests/handover/neighbor_ident_test.c76
-rw-r--r--tests/handover/neighbor_ident_test.ok147
2 files changed, 76 insertions, 147 deletions
diff --git a/tests/handover/neighbor_ident_test.c b/tests/handover/neighbor_ident_test.c
index b67219cdf..4eddd4a08 100644
--- a/tests/handover/neighbor_ident_test.c
+++ b/tests/handover/neighbor_ident_test.c
@@ -30,13 +30,12 @@
struct neighbor_ident_list *nil;
-static const struct neighbor_ident_key *k(int from_bts, uint16_t arfcn, enum bsic_kind kind, uint16_t bsic)
+static const struct neighbor_ident_key *k(int from_bts, uint16_t arfcn, uint8_t bsic)
{
static struct neighbor_ident_key key;
key = (struct neighbor_ident_key){
.from_bts = from_bts,
.arfcn = arfcn,
- .bsic_kind = kind,
.bsic = bsic,
};
return &key;
@@ -187,61 +186,54 @@ int main(void)
printf("\n--- testing NULL neighbor_ident_list\n");
nil = NULL;
- check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, -ENOMEM);
- check_get(k(0, 1, BSIC_6BIT, 2), false);
- check_del(k(0, 1, BSIC_6BIT, 2), false);
+ check_add(k(0, 1, 2), &cgi1, -ENOMEM);
+ check_get(k(0, 1, 2), false);
+ check_del(k(0, 1, 2), false);
printf("\n--- adding entries, test that no two identical entries are added\n");
nil = neighbor_ident_init(ctx);
- check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, 1);
- check_get(k(0, 1, BSIC_6BIT, 2), true);
- check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, 1);
- check_add(k(0, 1, BSIC_6BIT, 2), &cgi2, 2);
- check_add(k(0, 1, BSIC_6BIT, 2), &cgi2, 2);
- check_del(k(0, 1, BSIC_6BIT, 2), true);
+ check_add(k(0, 1, 2), &cgi1, 1);
+ check_get(k(0, 1, 2), true);
+ check_add(k(0, 1, 2), &cgi1, 1);
+ check_add(k(0, 1, 2), &cgi2, 2);
+ check_add(k(0, 1, 2), &cgi2, 2);
+ check_del(k(0, 1, 2), true);
printf("\n--- Cannot mix cell identifier types for one entry\n");
- check_add(k(0, 1, BSIC_6BIT, 2), &cgi1, 1);
- check_add(k(0, 1, BSIC_6BIT, 2), &lac1, -EINVAL);
- check_del(k(0, 1, BSIC_6BIT, 2), true);
+ check_add(k(0, 1, 2), &cgi1, 1);
+ check_add(k(0, 1, 2), &lac1, -EINVAL);
+ check_del(k(0, 1, 2), true);
neighbor_ident_free(nil);
printf("\n--- BTS matching: specific BTS is stronger\n");
nil = neighbor_ident_init(ctx);
- check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2), &lac1, 1);
- check_add(k(3, 1, BSIC_6BIT, 2), &lac2, 2);
- check_get(k(2, 1, BSIC_6BIT, 2), true);
- check_get(k(3, 1, BSIC_6BIT, 2), true);
- check_get(k(4, 1, BSIC_6BIT, 2), true);
- check_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2), true);
+ check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1, 1);
+ check_add(k(3, 1, 2), &lac2, 2);
+ check_get(k(2, 1, 2), true);
+ check_get(k(3, 1, 2), true);
+ check_get(k(4, 1, 2), true);
+ check_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), true);
neighbor_ident_free(nil);
printf("\n--- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker\n");
nil = neighbor_ident_init(ctx);
- check_add(k(0, 1, BSIC_NONE, 0), &cgi1, 1);
- check_add(k(0, 1, BSIC_6BIT, 2), &lac1, 1);
- check_add(k(0, 1, BSIC_9BIT, 2), &lac2, 2);
- check_get(k(0, 1, BSIC_6BIT, 2), true);
- check_get(k(0, 1, BSIC_9BIT, 2), true);
- printf("--- wildcard matches both 6bit and 9bit BSIC regardless:\n");
- check_get(k(0, 1, BSIC_6BIT, 23), true);
- check_get(k(0, 1, BSIC_9BIT, 23), true);
+ check_add(k(0, 1, BSIC_ANY), &cgi1, 1);
+ check_add(k(0, 1, 2), &lac1, 1);
+ check_add(k(0, 1, 2), &lac2, 2);
+ check_get(k(0, 1, 2), true);
+ check_get(k(0, 1, 2), true);
neighbor_ident_free(nil);
printf("\n--- Value ranges\n");
nil = neighbor_ident_init(ctx);
- check_add(k(0, 6, BSIC_6BIT, 1 << 6), &lac1, -ERANGE);
- check_add(k(0, 9, BSIC_9BIT, 1 << 9), &lac1, -ERANGE);
- check_add(k(0, 6, BSIC_6BIT, -1), &lac1, -ERANGE);
- check_add(k(0, 9, BSIC_9BIT, -1), &lac1, -ERANGE);
- check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_NONE, 1), &cgi2, -ERANGE);
- check_add(k(256, 1, BSIC_NONE, 1), &cgi2, -ERANGE);
- check_add(k(0, 0, BSIC_NONE, 0), &cgi1, 1);
- check_add(k(255, 65535, BSIC_NONE, 65535), &lac1, 1);
- check_add(k(0, 0, BSIC_6BIT, 0), &cgi2, 2);
- check_add(k(255, 65535, BSIC_6BIT, 0x3f), &lac2, 2);
- check_add(k(0, 0, BSIC_9BIT, 0), &cgi1, 1);
- check_add(k(255, 65535, BSIC_9BIT, 0x1ff), &cgi2, 2);
+ check_add(k(0, 6, 1 << 6), &lac1, -ERANGE);
+ check_add(k(0, 6, BSIC_ANY - 1), &lac1, -ERANGE);
+ check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2, -ERANGE);
+ check_add(k(256, 1, BSIC_ANY), &cgi2, -ERANGE);
+ check_add(k(0, 0, BSIC_ANY), &cgi1, 1);
+ check_add(k(255, 65535, BSIC_ANY), &lac1, 1);
+ check_add(k(0, 0, 0), &cgi2, 2);
+ check_add(k(255, 65535, 0x3f), &lac2, 2);
neighbor_ident_free(nil);
@@ -262,9 +254,9 @@ int main(void)
nil = neighbor_ident_init(ctx);
- i = neighbor_ident_add(nil, k(0, 1, BSIC_6BIT, 2), &a);
+ i = neighbor_ident_add(nil, k(0, 1, 2), &a);
printf("Added first cell identifier list (added %u) --> rc = %d\n", a.id_list_len, i);
- i = neighbor_ident_add(nil, k(0, 1, BSIC_6BIT, 2), &b);
+ i = neighbor_ident_add(nil, k(0, 1, 2), &b);
printf("Added second cell identifier list (tried to add %u) --> rc = %d\n", b.id_list_len, i);
if (i != -ENOSPC)
printf("ERROR: expected rc=%d\n", -ENOSPC);
diff --git a/tests/handover/neighbor_ident_test.ok b/tests/handover/neighbor_ident_test.ok
index 280b6f209..961a33cdc 100644
--- a/tests/handover/neighbor_ident_test.ok
+++ b/tests/handover/neighbor_ident_test.ok
@@ -1,62 +1,62 @@
--- testing NULL neighbor_ident_list
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=-ENOMEM, got -12
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=-ENOMEM, got -12
(empty)
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 2)) --> NULL
-neighbor_ident_del(k(0, 1, BSIC_6BIT, 2)) --> nothing deleted
+neighbor_ident_get(k(0, 1, 2)) --> NULL
+neighbor_ident_del(k(0, 1, 2)) --> nothing deleted
(empty)
--- adding entries, test that no two identical entries are added
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1
0: BTS 0 to ARFCN 1 BSIC 2
cell_id_list cgi[1] = {
0: 001-02-3-4
}
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(0, 1, 2)) --> entry returned
cell_id_list cgi[1] = {
0: 001-02-3-4
}
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1
0: BTS 0 to ARFCN 1 BSIC 2
cell_id_list cgi[1] = {
0: 001-02-3-4
}
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2
0: BTS 0 to ARFCN 1 BSIC 2
cell_id_list cgi[2] = {
0: 001-02-3-4
1: 005-006-7-8
}
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2
0: BTS 0 to ARFCN 1 BSIC 2
cell_id_list cgi[2] = {
0: 001-02-3-4
1: 005-006-7-8
}
-neighbor_ident_del(k(0, 1, BSIC_6BIT, 2)) --> entry deleted
+neighbor_ident_del(k(0, 1, 2)) --> entry deleted
(empty)
--- Cannot mix cell identifier types for one entry
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1
0: BTS 0 to ARFCN 1 BSIC 2
cell_id_list cgi[1] = {
0: 001-02-3-4
}
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &lac1) --> expect rc=-EINVAL, got -22
+neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=-EINVAL, got -22
0: BTS 0 to ARFCN 1 BSIC 2
cell_id_list cgi[1] = {
0: 001-02-3-4
}
-neighbor_ident_del(k(0, 1, BSIC_6BIT, 2)) --> entry deleted
+neighbor_ident_del(k(0, 1, 2)) --> entry deleted
(empty)
--- BTS matching: specific BTS is stronger
-neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2), &lac1) --> expect rc=1, got 1
+neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1) --> expect rc=1, got 1
0: BTS * to ARFCN 1 BSIC 2
cell_id_list lac[1] = {
0: 123
}
-neighbor_ident_add(k(3, 1, BSIC_6BIT, 2), &lac2) --> expect rc=2, got 2
+neighbor_ident_add(k(3, 1, 2), &lac2) --> expect rc=2, got 2
0: BTS * to ARFCN 1 BSIC 2
cell_id_list lac[1] = {
0: 123
@@ -66,31 +66,31 @@ neighbor_ident_add(k(3, 1, BSIC_6BIT, 2), &lac2) --> expect rc=2, got 2
0: 456
1: 789
}
-neighbor_ident_get(k(2, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(2, 1, 2)) --> entry returned
cell_id_list lac[1] = {
0: 123
}
-neighbor_ident_get(k(3, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(3, 1, 2)) --> entry returned
cell_id_list lac[2] = {
0: 456
1: 789
}
-neighbor_ident_get(k(4, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(4, 1, 2)) --> entry returned
cell_id_list lac[1] = {
0: 123
}
-neighbor_ident_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, BSIC_6BIT, 2)) --> entry returned
+neighbor_ident_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2)) --> entry returned
cell_id_list lac[1] = {
0: 123
}
--- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker
-neighbor_ident_add(k(0, 1, BSIC_NONE, 0), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, BSIC_ANY), &cgi1) --> expect rc=1, got 1
0: BTS 0 to ARFCN 1 (any BSIC)
cell_id_list cgi[1] = {
0: 001-02-3-4
}
-neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &lac1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=1, got 1
0: BTS 0 to ARFCN 1 (any BSIC)
cell_id_list cgi[1] = {
0: 001-02-3-4
@@ -99,81 +99,46 @@ neighbor_ident_add(k(0, 1, BSIC_6BIT, 2), &lac1) --> expect rc=1, got 1
cell_id_list lac[1] = {
0: 123
}
-neighbor_ident_add(k(0, 1, BSIC_9BIT, 2), &lac2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 1, 2), &lac2) --> expect rc=2, got 3
+ERROR
0: BTS 0 to ARFCN 1 (any BSIC)
cell_id_list cgi[1] = {
0: 001-02-3-4
}
1: BTS 0 to ARFCN 1 BSIC 2
- cell_id_list lac[1] = {
+ cell_id_list lac[3] = {
0: 123
+ 1: 456
+ 2: 789
}
- 2: BTS 0 to ARFCN 1 BSIC 2(9bit)
- cell_id_list lac[2] = {
- 0: 456
- 1: 789
- }
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 2)) --> entry returned
- cell_id_list lac[1] = {
+neighbor_ident_get(k(0, 1, 2)) --> entry returned
+ cell_id_list lac[3] = {
0: 123
+ 1: 456
+ 2: 789
}
-neighbor_ident_get(k(0, 1, BSIC_9BIT, 2)) --> entry returned
- cell_id_list lac[2] = {
- 0: 456
- 1: 789
- }
---- wildcard matches both 6bit and 9bit BSIC regardless:
-neighbor_ident_get(k(0, 1, BSIC_6BIT, 23)) --> entry returned
- cell_id_list cgi[1] = {
- 0: 001-02-3-4
- }
-neighbor_ident_get(k(0, 1, BSIC_9BIT, 23)) --> entry returned
- cell_id_list cgi[1] = {
- 0: 001-02-3-4
+neighbor_ident_get(k(0, 1, 2)) --> entry returned
+ cell_id_list lac[3] = {
+ 0: 123
+ 1: 456
+ 2: 789
}
--- Value ranges
-neighbor_ident_add(k(0, 6, BSIC_6BIT, 1 << 6), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(0, 6, 1 << 6), &lac1) --> expect rc=-ERANGE, got -34
(empty)
-neighbor_ident_add(k(0, 9, BSIC_9BIT, 1 << 9), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(0, 6, BSIC_ANY - 1), &lac1) --> expect rc=-ERANGE, got -34
(empty)
-neighbor_ident_add(k(0, 6, BSIC_6BIT, -1), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34
(empty)
-neighbor_ident_add(k(0, 9, BSIC_9BIT, -1), &lac1) --> expect rc=-ERANGE, got -34
+neighbor_ident_add(k(256, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34
(empty)
-neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_NONE, 1), &cgi2) --> expect rc=-ERANGE, got -34
- (empty)
-neighbor_ident_add(k(256, 1, BSIC_NONE, 1), &cgi2) --> expect rc=-ERANGE, got -34
- (empty)
-neighbor_ident_add(k(0, 0, BSIC_NONE, 0), &cgi1) --> expect rc=1, got 1
- 0: BTS 0 to ARFCN 0 (any BSIC)
- cell_id_list cgi[1] = {
- 0: 001-02-3-4
- }
-neighbor_ident_add(k(255, 65535, BSIC_NONE, 65535), &lac1) --> expect rc=1, got 1
- 0: BTS 0 to ARFCN 0 (any BSIC)
- cell_id_list cgi[1] = {
- 0: 001-02-3-4
- }
- 1: BTS 255 to ARFCN 65535 (any BSIC)
- cell_id_list lac[1] = {
- 0: 123
- }
-neighbor_ident_add(k(0, 0, BSIC_6BIT, 0), &cgi2) --> expect rc=2, got 2
+neighbor_ident_add(k(0, 0, BSIC_ANY), &cgi1) --> expect rc=1, got 1
0: BTS 0 to ARFCN 0 (any BSIC)
cell_id_list cgi[1] = {
0: 001-02-3-4
}
- 1: BTS 255 to ARFCN 65535 (any BSIC)
- cell_id_list lac[1] = {
- 0: 123
- }
- 2: BTS 0 to ARFCN 0 BSIC 0
- cell_id_list cgi[2] = {
- 0: 001-02-3-4
- 1: 005-006-7-8
- }
-neighbor_ident_add(k(255, 65535, BSIC_6BIT, 0x3f), &lac2) --> expect rc=2, got 2
+neighbor_ident_add(k(255, 65535, BSIC_ANY), &lac1) --> expect rc=1, got 1
0: BTS 0 to ARFCN 0 (any BSIC)
cell_id_list cgi[1] = {
0: 001-02-3-4
@@ -182,17 +147,7 @@ neighbor_ident_add(k(255, 65535, BSIC_6BIT, 0x3f), &lac2) --> expect rc=2, got 2
cell_id_list lac[1] = {
0: 123
}
- 2: BTS 0 to ARFCN 0 BSIC 0
- cell_id_list cgi[2] = {
- 0: 001-02-3-4
- 1: 005-006-7-8
- }
- 3: BTS 255 to ARFCN 65535 BSIC 63
- cell_id_list lac[2] = {
- 0: 456
- 1: 789
- }
-neighbor_ident_add(k(0, 0, BSIC_9BIT, 0), &cgi1) --> expect rc=1, got 1
+neighbor_ident_add(k(0, 0, 0), &cgi2) --> expect rc=2, got 2
0: BTS 0 to ARFCN 0 (any BSIC)
cell_id_list cgi[1] = {
0: 001-02-3-4
@@ -206,16 +161,7 @@ neighbor_ident_add(k(0, 0, BSIC_9BIT, 0), &cgi1) --> expect rc=1, got 1
0: 001-02-3-4
1: 005-006-7-8
}
- 3: BTS 255 to ARFCN 65535 BSIC 63
- cell_id_list lac[2] = {
- 0: 456
- 1: 789
- }
- 4: BTS 0 to ARFCN 0 BSIC 0(9bit)
- cell_id_list cgi[1] = {
- 0: 001-02-3-4
- }
-neighbor_ident_add(k(255, 65535, BSIC_9BIT, 0x1ff), &cgi2) --> expect rc=2, got 2
+neighbor_ident_add(k(255, 65535, 0x3f), &lac2) --> expect rc=2, got 2
0: BTS 0 to ARFCN 0 (any BSIC)
cell_id_list cgi[1] = {
0: 001-02-3-4
@@ -234,15 +180,6 @@ neighbor_ident_add(k(255, 65535, BSIC_9BIT, 0x1ff), &cgi2) --> expect rc=2, got
0: 456
1: 789
}
- 4: BTS 0 to ARFCN 0 BSIC 0(9bit)
- cell_id_list cgi[1] = {
- 0: 001-02-3-4
- }
- 5: BTS 255 to ARFCN 65535 BSIC 511(9bit)
- cell_id_list cgi[2] = {
- 0: 001-02-3-4
- 1: 005-006-7-8
- }
--- size limits
Added first cell identifier list (added 127) --> rc = 127