diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-03-22 04:54:57 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-07-28 12:18:23 +0200 |
commit | 431e085736ba958c5b69c87e401c67f0b322189d (patch) | |
tree | b2c583e4085d2e50cb5080cc2a635aeb869930f2 /tests/handover | |
parent | 19bed23065e19caac62b4a6cfe565e609046da7d (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.c | 76 | ||||
-rw-r--r-- | tests/handover/neighbor_ident_test.ok | 147 |
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 |