diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2017-12-04 12:52:23 +0100 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2017-12-04 13:25:02 +0100 |
commit | 9c0f4f49e9b15b55cd9baa42c1ba191903664397 (patch) | |
tree | 624b14e37d54fb93809a716cb0d67aa3ece381b0 /tests | |
parent | ac51c7e68e64740568c6843499cb3a352e3e549e (diff) |
tests: Split ipv6 specific tests into a new test group
This way they can be easily disabled later on when IPv6 support is made
optional.
Change-Id: I3906dbf55ccf1650083398e08ac870add0bbdcef
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/Makefile.am | 8 | ||||
-rw-r--r-- | tests/lib/in46a_test.c | 214 | ||||
-rw-r--r-- | tests/lib/in46a_test.ok | 16 | ||||
-rw-r--r-- | tests/lib/in46a_v6_test.ok | 8 | ||||
-rw-r--r-- | tests/lib/ippool_test.c | 15 | ||||
-rw-r--r-- | tests/lib/ippool_test.err | 2 | ||||
-rw-r--r-- | tests/lib/ippool_test.ok | 257 | ||||
-rw-r--r-- | tests/lib/ippool_v6_test.err | 2 | ||||
-rw-r--r-- | tests/lib/ippool_v6_test.ok | 257 | ||||
-rw-r--r-- | tests/testsuite.at | 13 |
10 files changed, 440 insertions, 352 deletions
diff --git a/tests/lib/Makefile.am b/tests/lib/Makefile.am index 95d6901..ee46468 100644 --- a/tests/lib/Makefile.am +++ b/tests/lib/Makefile.am @@ -1,7 +1,11 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g -EXTRA_DIST = ippool_test.ok ippool_test.err \ - in46a_test.ok +EXTRA_DIST = ippool_test.ok \ + ippool_test.err \ + ippool_v6_test.ok \ + ippool_v6_test.err \ + in46a_test.ok \ + in46a_v6_test.ok noinst_PROGRAMS = ippool_test in46a_test diff --git a/tests/lib/in46a_test.c b/tests/lib/in46a_test.c index d4a5dbc..c0bb670 100644 --- a/tests/lib/in46a_test.c +++ b/tests/lib/in46a_test.c @@ -20,41 +20,24 @@ static const struct in46_addr g_ia4 = { .v4.s_addr = 0x0d0c0b0a, }; -static const struct in46_addr g_ia6 = { - .len = 16, - .v6.s6_addr = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 }, -}; - static void test_in46a_to_af(void) { - struct in46_addr ia; - - printf("Testing in46a_to_af()\n"); + printf("Testing in46a_to_af() with IPv4 addresses\n"); OSMO_ASSERT(in46a_to_af(&g_ia4) == AF_INET); - OSMO_ASSERT(in46a_to_af(&g_ia6) == AF_INET6); - - ia.len = 8; - OSMO_ASSERT(in46a_to_af(&ia) == AF_INET6); } static void test_in46a_to_sas(void) { struct sockaddr_storage ss; struct sockaddr_in *sin = (struct sockaddr_in *) &ss; - struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) &ss; - printf("Testing in46a_to_sas()\n"); + printf("Testing in46a_to_sas() with IPv4 addresses\n"); memset(&ss, 0, sizeof(ss)); OSMO_ASSERT(in46a_to_sas(&ss, &g_ia4) == 0); OSMO_ASSERT(sin->sin_family == AF_INET); OSMO_ASSERT(sin->sin_addr.s_addr == g_ia4.v4.s_addr); - - memset(&ss, 0, sizeof(ss)); - OSMO_ASSERT(in46a_to_sas(&ss, &g_ia6) == 0); - OSMO_ASSERT(sin6->sin6_family == AF_INET6); - OSMO_ASSERT(!memcmp(&sin6->sin6_addr, &g_ia6.v6, sizeof(sin6->sin6_addr))); } static void test_in46a_ntop(void) @@ -63,7 +46,7 @@ static void test_in46a_ntop(void) char buf[256]; const char *res; - printf("Testing in46a_ntop()\n"); + printf("Testing in46a_ntop() with IPv4 addresses\n"); res = in46a_ntop(NULL, buf, sizeof(buf)); OSMO_ASSERT(res && !strcmp(res, "UNDEFINED")); @@ -79,10 +62,6 @@ static void test_in46a_ntop(void) res = in46a_ntop(&ia, buf, sizeof(buf)); OSMO_ASSERT(res && !strcmp(res, "1.2.3.4")); printf("res = %s\n", res); - - res = in46a_ntop(&g_ia6, buf, sizeof(buf)); - OSMO_ASSERT(res && !strcmp(res, "102:304:506:708:90a:b0c:d0e:f10")); - printf("res = %s\n", res); } static void test_in46p_ntoa(void) @@ -101,21 +80,14 @@ static void test_in46a_equal(void) { struct in46_addr b; - printf("Testing in46a_equal()\n"); + printf("Testing in46a_equal() with IPv4 addresses\n"); memset(&b, 0xff, sizeof(b)); b.len = g_ia4.len; b.v4.s_addr = g_ia4.v4.s_addr; OSMO_ASSERT(in46a_equal(&g_ia4, &b)); - - memset(&b, 0xff, sizeof(b)); - b.len = g_ia6.len; - b.v6 = g_ia6.v6; - OSMO_ASSERT(in46a_equal(&g_ia6, &b)); - } - static int log_in46a_within_mask(const struct in46_addr *addr, const struct in46_addr *net, size_t prefixlen) { @@ -134,7 +106,7 @@ static void test_in46a_within_mask(void) { struct in46_addr addr, mask; - printf("Testing in46a_within_mask()\n"); + printf("Testing in46a_within_mask() with IPv4 addresses\n"); addr = g_ia4; mask = g_ia4; @@ -155,13 +127,9 @@ static void test_in46a_within_mask(void) static void test_in46a_to_eua(void) { - const struct in46_addr ia_v6_8 = { - .len = 8, - .v6.s6_addr = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 }, - }; struct ul66_t eua; - printf("testing in46a_to_eua()\n"); + printf("testing in46a_to_eua() with IPv4 addresses\n"); #if 0 /* triggers assert in current implementation */ const struct in46_addr ia_invalid = { .len = 3, }; @@ -173,18 +141,6 @@ static void test_in46a_to_eua(void) OSMO_ASSERT(eua.v[0] == PDP_EUA_ORG_IETF); OSMO_ASSERT(eua.v[1] == PDP_EUA_TYPE_v4); OSMO_ASSERT(osmo_load32le(&eua.v[2]) == g_ia4.v4.s_addr); - - /* IPv6 address */ - OSMO_ASSERT(in46a_to_eua(&g_ia6, &eua) == 0); - OSMO_ASSERT(eua.v[0] == PDP_EUA_ORG_IETF); - OSMO_ASSERT(eua.v[1] == PDP_EUA_TYPE_v6); - OSMO_ASSERT(!memcmp(&eua.v[2], &g_ia6.v6, 16)); - - /* IPv6 address with prefix / length 8 */ - OSMO_ASSERT(in46a_to_eua(&ia_v6_8, &eua) == 0); - OSMO_ASSERT(eua.v[0] == PDP_EUA_ORG_IETF); - OSMO_ASSERT(eua.v[1] == PDP_EUA_TYPE_v6); - OSMO_ASSERT(!memcmp(&eua.v[2], &ia_v6_8.v6, 16)); } static void test_in46a_from_eua(void) @@ -193,13 +149,9 @@ static void test_in46a_from_eua(void) struct ul66_t eua; const uint8_t v4_unspec[] = { PDP_EUA_ORG_IETF, PDP_EUA_TYPE_v4 }; const uint8_t v4_spec[] = { PDP_EUA_ORG_IETF, PDP_EUA_TYPE_v4, 1,2,3,4 }; - const uint8_t v6_unspec[] = { PDP_EUA_ORG_IETF, PDP_EUA_TYPE_v6 }; - const uint8_t v6_spec[] = { PDP_EUA_ORG_IETF, PDP_EUA_TYPE_v6, - 1,2,3,4,5,6,7,8,9,0xa,0xb,0xc,0xd,0xe,0xf,0x10 }; - memset(&eua, 0, sizeof(eua)); - printf("Testing in46a_from_eua()\n"); + printf("Testing in46a_from_eua() with IPv4 addresses\n"); /* default: v4 unspec */ OSMO_ASSERT(in46a_from_eua(&eua, &ia) == 0); @@ -231,20 +183,6 @@ static void test_in46a_from_eua(void) OSMO_ASSERT(in46a_from_eua(&eua, &ia) == 0); OSMO_ASSERT(ia.len == 4); OSMO_ASSERT(ia.v4.s_addr == htonl(0x01020304)); - - /* unspecified V6 */ - memcpy(eua.v, v6_unspec, sizeof(v6_unspec)); - eua.l = sizeof(v6_unspec); - OSMO_ASSERT(in46a_from_eua(&eua, &ia) == 0); - OSMO_ASSERT(ia.len == 16); - OSMO_ASSERT(IN6_IS_ADDR_UNSPECIFIED(&ia.v6)); - - /* specified V6 */ - memcpy(eua.v, v6_spec, sizeof(v6_spec)); - eua.l = sizeof(v6_spec); - OSMO_ASSERT(in46a_from_eua(&eua, &ia) == 0); - OSMO_ASSERT(ia.len == 16); - OSMO_ASSERT(!memcmp(&ia.v6, v6_spec+2, ia.len)); } static void test_in46a_netmasklen(void) @@ -274,7 +212,117 @@ static void test_in46a_netmasklen(void) netmask.v4.s_addr = 0x00000000; len = in46a_netmasklen(&netmask); OSMO_ASSERT(len == 0); +} + +/* IPv6 specific tests */ + +static const struct in46_addr g_ia6 = { + .len = 16, + .v6.s6_addr = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 }, +}; + +static void test_in46a_to_af_v6(void) +{ + struct in46_addr ia; + + printf("Testing in46a_to_af() with IPv6 addresses\n"); + + OSMO_ASSERT(in46a_to_af(&g_ia6) == AF_INET6); + + ia.len = 8; + OSMO_ASSERT(in46a_to_af(&ia) == AF_INET6); +} +static void test_in46a_to_sas_v6(void) +{ + struct sockaddr_storage ss; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) &ss; + + printf("Testing in46a_to_sas() with IPv6 addresses\n"); + + memset(&ss, 0, sizeof(ss)); + OSMO_ASSERT(in46a_to_sas(&ss, &g_ia6) == 0); + OSMO_ASSERT(sin6->sin6_family == AF_INET6); + OSMO_ASSERT(!memcmp(&sin6->sin6_addr, &g_ia6.v6, sizeof(sin6->sin6_addr))); +} + +static void test_in46a_ntop_v6(void) +{ + char buf[256]; + const char *res; + + printf("Testing in46a_ntop() with IPv6 addresses\n"); + + res = in46a_ntop(&g_ia6, buf, sizeof(buf)); + OSMO_ASSERT(res && !strcmp(res, "102:304:506:708:90a:b0c:d0e:f10")); + printf("res = %s\n", res); +} + +static void test_in46a_equal_v6(void) +{ + struct in46_addr b; + + printf("Testing in46a_equal() with IPv6 addresses\n"); + + memset(&b, 0xff, sizeof(b)); + b.len = g_ia6.len; + b.v6 = g_ia6.v6; + OSMO_ASSERT(in46a_equal(&g_ia6, &b)); +} + +static void test_in46a_to_eua_v6(void) +{ + const struct in46_addr ia_v6_8 = { + .len = 8, + .v6.s6_addr = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 }, + }; + struct ul66_t eua; + + printf("testing in46a_to_eua() with IPv6 addresses\n"); + + /* IPv6 address */ + OSMO_ASSERT(in46a_to_eua(&g_ia6, &eua) == 0); + OSMO_ASSERT(eua.v[0] == PDP_EUA_ORG_IETF); + OSMO_ASSERT(eua.v[1] == PDP_EUA_TYPE_v6); + OSMO_ASSERT(!memcmp(&eua.v[2], &g_ia6.v6, 16)); + + /* IPv6 address with prefix / length 8 */ + OSMO_ASSERT(in46a_to_eua(&ia_v6_8, &eua) == 0); + OSMO_ASSERT(eua.v[0] == PDP_EUA_ORG_IETF); + OSMO_ASSERT(eua.v[1] == PDP_EUA_TYPE_v6); + OSMO_ASSERT(!memcmp(&eua.v[2], &ia_v6_8.v6, 16)); +} + +static void test_in46a_from_eua_v6(void) +{ + struct in46_addr ia; + struct ul66_t eua; + const uint8_t v6_unspec[] = { PDP_EUA_ORG_IETF, PDP_EUA_TYPE_v6 }; + const uint8_t v6_spec[] = { PDP_EUA_ORG_IETF, PDP_EUA_TYPE_v6, + 1,2,3,4,5,6,7,8,9,0xa,0xb,0xc,0xd,0xe,0xf,0x10 }; + + memset(&eua, 0, sizeof(eua)); + + printf("Testing in46a_from_eua() with IPv6 addresses\n"); + + /* unspecified V6 */ + memcpy(eua.v, v6_unspec, sizeof(v6_unspec)); + eua.l = sizeof(v6_unspec); + OSMO_ASSERT(in46a_from_eua(&eua, &ia) == 0); + OSMO_ASSERT(ia.len == 16); + OSMO_ASSERT(IN6_IS_ADDR_UNSPECIFIED(&ia.v6)); + + /* specified V6 */ + memcpy(eua.v, v6_spec, sizeof(v6_spec)); + eua.l = sizeof(v6_spec); + OSMO_ASSERT(in46a_from_eua(&eua, &ia) == 0); + OSMO_ASSERT(ia.len == 16); + OSMO_ASSERT(!memcmp(&ia.v6, v6_spec+2, ia.len)); +} + +static void test_in46a_netmasklen_v6(void) +{ + unsigned int len; printf("Testing in46a_netmasklen() with IPv6 addresses\n"); const struct in46_addr netmaskA = { .len = 16, @@ -313,14 +361,24 @@ int main(int argc, char **argv) srand(time(NULL)); - test_in46a_to_af(); - test_in46a_to_sas(); - test_in46a_ntop(); - test_in46p_ntoa(); - test_in46a_equal(); - test_in46a_within_mask(); - test_in46a_to_eua(); - test_in46a_from_eua(); - test_in46a_netmasklen(); + if (argc < 2 || strcmp(argv[1], "-v6")) { + test_in46a_to_af(); + test_in46a_to_sas(); + test_in46a_ntop(); + test_in46p_ntoa(); + test_in46a_equal(); + test_in46a_within_mask(); + test_in46a_to_eua(); + test_in46a_from_eua(); + test_in46a_netmasklen(); + } else { + test_in46a_to_af_v6(); + test_in46a_to_sas_v6(); + test_in46a_ntop_v6(); + test_in46a_equal_v6(); + test_in46a_to_eua_v6(); + test_in46a_from_eua_v6(); + test_in46a_netmasklen_v6(); + } return 0; } diff --git a/tests/lib/in46a_test.ok b/tests/lib/in46a_test.ok index 9a0ff7a..b497ad1 100644 --- a/tests/lib/in46a_test.ok +++ b/tests/lib/in46a_test.ok @@ -1,19 +1,17 @@ -Testing in46a_to_af() -Testing in46a_to_sas() -Testing in46a_ntop() +Testing in46a_to_af() with IPv4 addresses +Testing in46a_to_sas() with IPv4 addresses +Testing in46a_ntop() with IPv4 addresses res = UNDEFINED res = UNDEFINED res = 1.2.3.4 -res = 102:304:506:708:90a:b0c:d0e:f10 in46p_ntoa() returns 16.32.48.0/24 -Testing in46a_equal() -Testing in46a_within_mask() +Testing in46a_equal() with IPv4 addresses +Testing in46a_within_mask() with IPv4 addresses in46a_within_mask(10.11.12.13, 10.11.12.13, 32) = 1 in46a_within_mask(10.11.12.13, 10.11.12.12, 30) = 1 in46a_within_mask(10.11.12.13, 10.8.0.0, 13) = 1 in46a_within_mask(10.11.12.14, 10.11.12.13, 32) = 0 in46a_within_mask(10.11.12.14, 10.11.12.12, 30) = 1 -testing in46a_to_eua() -Testing in46a_from_eua() +testing in46a_to_eua() with IPv4 addresses +Testing in46a_from_eua() with IPv4 addresses Testing in46a_netmasklen() with IPv4 addresses -Testing in46a_netmasklen() with IPv6 addresses diff --git a/tests/lib/in46a_v6_test.ok b/tests/lib/in46a_v6_test.ok new file mode 100644 index 0000000..d092591 --- /dev/null +++ b/tests/lib/in46a_v6_test.ok @@ -0,0 +1,8 @@ +Testing in46a_to_af() with IPv6 addresses +Testing in46a_to_sas() with IPv6 addresses +Testing in46a_ntop() with IPv6 addresses +res = 102:304:506:708:90a:b0c:d0e:f10 +Testing in46a_equal() with IPv6 addresses +testing in46a_to_eua() with IPv6 addresses +Testing in46a_from_eua() with IPv6 addresses +Testing in46a_netmasklen() with IPv6 addresses diff --git a/tests/lib/ippool_test.c b/tests/lib/ippool_test.c index 5b3227c..8d3f46c 100644 --- a/tests/lib/ippool_test.c +++ b/tests/lib/ippool_test.c @@ -113,14 +113,17 @@ static void test_pool_sizes(void) /* 65534 addresses [0.1..255.254] */ test_pool_size("192.168.0.0/16", IPPOOL_NONETWORK | IPPOOL_NOBROADCAST, NULL, 0, 65534); - /* 256 prefixes of /64 each */ - test_pool_size("2001:DB8::/56", 0, NULL, 0, 256); - /* 253 addresses [1..254] & exclude 192.168.23.1/24 */ char *blacklist[] = {"176.16.222.10/24", "192.168.23.1/24", "192.168.38.2/24"}; test_pool_size("192.168.23.0/24", IPPOOL_NONETWORK | IPPOOL_NOBROADCAST, blacklist, 3, 253); } +static void test_pool_sizes_v6(void) +{ + /* 256 prefixes of /64 each */ + test_pool_size("2001:DB8::/56", 0, NULL, 0, 256); +} + int main(int argc, char **argv) { osmo_init_logging(&log_info); @@ -129,6 +132,10 @@ int main(int argc, char **argv) srand(time(NULL)); - test_pool_sizes(); + if (argc < 2 || strcmp(argv[1], "-v6")) { + test_pool_sizes(); + } else { + test_pool_sizes_v6(); + } return 0; } diff --git a/tests/lib/ippool_test.err b/tests/lib/ippool_test.err index b11c12a..7dc5371 100644 --- a/tests/lib/ippool_test.err +++ b/tests/lib/ippool_test.err @@ -8,5 +8,3 @@ No more IP addresses available No more IP addresses available No more IP addresses available No more IP addresses available -No more IP addresses available -No more IP addresses available diff --git a/tests/lib/ippool_test.ok b/tests/lib/ippool_test.ok index 263494e..d247c74 100644 --- a/tests/lib/ippool_test.ok +++ b/tests/lib/ippool_test.ok @@ -66301,263 +66301,6 @@ allocated address 192.168.255.251 allocated address 192.168.255.252 allocated address 192.168.255.253 allocated address 192.168.255.254 -testing pool for prefix 2001:DB8::/56, flags=0x0, blacklist_size=0, expected_size=256 -allocated address 2001:db8:: -allocated address 2001:db8:0:1:: -allocated address 2001:db8:0:2:: -allocated address 2001:db8:0:3:: -allocated address 2001:db8:0:4:: -allocated address 2001:db8:0:5:: -allocated address 2001:db8:0:6:: -allocated address 2001:db8:0:7:: -allocated address 2001:db8:0:8:: -allocated address 2001:db8:0:9:: -allocated address 2001:db8:0:a:: -allocated address 2001:db8:0:b:: -allocated address 2001:db8:0:c:: -allocated address 2001:db8:0:d:: -allocated address 2001:db8:0:e:: -allocated address 2001:db8:0:f:: -allocated address 2001:db8:0:10:: -allocated address 2001:db8:0:11:: -allocated address 2001:db8:0:12:: -allocated address 2001:db8:0:13:: -allocated address 2001:db8:0:14:: -allocated address 2001:db8:0:15:: -allocated address 2001:db8:0:16:: -allocated address 2001:db8:0:17:: -allocated address 2001:db8:0:18:: -allocated address 2001:db8:0:19:: -allocated address 2001:db8:0:1a:: -allocated address 2001:db8:0:1b:: -allocated address 2001:db8:0:1c:: -allocated address 2001:db8:0:1d:: -allocated address 2001:db8:0:1e:: -allocated address 2001:db8:0:1f:: -allocated address 2001:db8:0:20:: -allocated address 2001:db8:0:21:: -allocated address 2001:db8:0:22:: -allocated address 2001:db8:0:23:: -allocated address 2001:db8:0:24:: -allocated address 2001:db8:0:25:: -allocated address 2001:db8:0:26:: -allocated address 2001:db8:0:27:: -allocated address 2001:db8:0:28:: -allocated address 2001:db8:0:29:: -allocated address 2001:db8:0:2a:: -allocated address 2001:db8:0:2b:: -allocated address 2001:db8:0:2c:: -allocated address 2001:db8:0:2d:: -allocated address 2001:db8:0:2e:: -allocated address 2001:db8:0:2f:: -allocated address 2001:db8:0:30:: -allocated address 2001:db8:0:31:: -allocated address 2001:db8:0:32:: -allocated address 2001:db8:0:33:: -allocated address 2001:db8:0:34:: -allocated address 2001:db8:0:35:: -allocated address 2001:db8:0:36:: -allocated address 2001:db8:0:37:: -allocated address 2001:db8:0:38:: -allocated address 2001:db8:0:39:: -allocated address 2001:db8:0:3a:: -allocated address 2001:db8:0:3b:: -allocated address 2001:db8:0:3c:: -allocated address 2001:db8:0:3d:: -allocated address 2001:db8:0:3e:: -allocated address 2001:db8:0:3f:: -allocated address 2001:db8:0:40:: -allocated address 2001:db8:0:41:: -allocated address 2001:db8:0:42:: -allocated address 2001:db8:0:43:: -allocated address 2001:db8:0:44:: -allocated address 2001:db8:0:45:: -allocated address 2001:db8:0:46:: -allocated address 2001:db8:0:47:: -allocated address 2001:db8:0:48:: -allocated address 2001:db8:0:49:: -allocated address 2001:db8:0:4a:: -allocated address 2001:db8:0:4b:: -allocated address 2001:db8:0:4c:: -allocated address 2001:db8:0:4d:: -allocated address 2001:db8:0:4e:: -allocated address 2001:db8:0:4f:: -allocated address 2001:db8:0:50:: -allocated address 2001:db8:0:51:: -allocated address 2001:db8:0:52:: -allocated address 2001:db8:0:53:: -allocated address 2001:db8:0:54:: -allocated address 2001:db8:0:55:: -allocated address 2001:db8:0:56:: -allocated address 2001:db8:0:57:: -allocated address 2001:db8:0:58:: -allocated address 2001:db8:0:59:: -allocated address 2001:db8:0:5a:: -allocated address 2001:db8:0:5b:: -allocated address 2001:db8:0:5c:: -allocated address 2001:db8:0:5d:: -allocated address 2001:db8:0:5e:: -allocated address 2001:db8:0:5f:: -allocated address 2001:db8:0:60:: -allocated address 2001:db8:0:61:: -allocated address 2001:db8:0:62:: -allocated address 2001:db8:0:63:: -allocated address 2001:db8:0:64:: -allocated address 2001:db8:0:65:: -allocated address 2001:db8:0:66:: -allocated address 2001:db8:0:67:: -allocated address 2001:db8:0:68:: -allocated address 2001:db8:0:69:: -allocated address 2001:db8:0:6a:: -allocated address 2001:db8:0:6b:: -allocated address 2001:db8:0:6c:: -allocated address 2001:db8:0:6d:: -allocated address 2001:db8:0:6e:: -allocated address 2001:db8:0:6f:: -allocated address 2001:db8:0:70:: -allocated address 2001:db8:0:71:: -allocated address 2001:db8:0:72:: -allocated address 2001:db8:0:73:: -allocated address 2001:db8:0:74:: -allocated address 2001:db8:0:75:: -allocated address 2001:db8:0:76:: -allocated address 2001:db8:0:77:: -allocated address 2001:db8:0:78:: -allocated address 2001:db8:0:79:: -allocated address 2001:db8:0:7a:: -allocated address 2001:db8:0:7b:: -allocated address 2001:db8:0:7c:: -allocated address 2001:db8:0:7d:: -allocated address 2001:db8:0:7e:: -allocated address 2001:db8:0:7f:: -allocated address 2001:db8:0:80:: -allocated address 2001:db8:0:81:: -allocated address 2001:db8:0:82:: -allocated address 2001:db8:0:83:: -allocated address 2001:db8:0:84:: -allocated address 2001:db8:0:85:: -allocated address 2001:db8:0:86:: -allocated address 2001:db8:0:87:: -allocated address 2001:db8:0:88:: -allocated address 2001:db8:0:89:: -allocated address 2001:db8:0:8a:: -allocated address 2001:db8:0:8b:: -allocated address 2001:db8:0:8c:: -allocated address 2001:db8:0:8d:: -allocated address 2001:db8:0:8e:: -allocated address 2001:db8:0:8f:: -allocated address 2001:db8:0:90:: -allocated address 2001:db8:0:91:: -allocated address 2001:db8:0:92:: -allocated address 2001:db8:0:93:: -allocated address 2001:db8:0:94:: -allocated address 2001:db8:0:95:: -allocated address 2001:db8:0:96:: -allocated address 2001:db8:0:97:: -allocated address 2001:db8:0:98:: -allocated address 2001:db8:0:99:: -allocated address 2001:db8:0:9a:: -allocated address 2001:db8:0:9b:: -allocated address 2001:db8:0:9c:: -allocated address 2001:db8:0:9d:: -allocated address 2001:db8:0:9e:: -allocated address 2001:db8:0:9f:: -allocated address 2001:db8:0:a0:: -allocated address 2001:db8:0:a1:: -allocated address 2001:db8:0:a2:: -allocated address 2001:db8:0:a3:: -allocated address 2001:db8:0:a4:: -allocated address 2001:db8:0:a5:: -allocated address 2001:db8:0:a6:: -allocated address 2001:db8:0:a7:: -allocated address 2001:db8:0:a8:: -allocated address 2001:db8:0:a9:: -allocated address 2001:db8:0:aa:: -allocated address 2001:db8:0:ab:: -allocated address 2001:db8:0:ac:: -allocated address 2001:db8:0:ad:: -allocated address 2001:db8:0:ae:: -allocated address 2001:db8:0:af:: -allocated address 2001:db8:0:b0:: -allocated address 2001:db8:0:b1:: -allocated address 2001:db8:0:b2:: -allocated address 2001:db8:0:b3:: -allocated address 2001:db8:0:b4:: -allocated address 2001:db8:0:b5:: -allocated address 2001:db8:0:b6:: -allocated address 2001:db8:0:b7:: -allocated address 2001:db8:0:b8:: -allocated address 2001:db8:0:b9:: -allocated address 2001:db8:0:ba:: -allocated address 2001:db8:0:bb:: -allocated address 2001:db8:0:bc:: -allocated address 2001:db8:0:bd:: -allocated address 2001:db8:0:be:: -allocated address 2001:db8:0:bf:: -allocated address 2001:db8:0:c0:: -allocated address 2001:db8:0:c1:: -allocated address 2001:db8:0:c2:: -allocated address 2001:db8:0:c3:: -allocated address 2001:db8:0:c4:: -allocated address 2001:db8:0:c5:: -allocated address 2001:db8:0:c6:: -allocated address 2001:db8:0:c7:: -allocated address 2001:db8:0:c8:: -allocated address 2001:db8:0:c9:: -allocated address 2001:db8:0:ca:: -allocated address 2001:db8:0:cb:: -allocated address 2001:db8:0:cc:: -allocated address 2001:db8:0:cd:: -allocated address 2001:db8:0:ce:: -allocated address 2001:db8:0:cf:: -allocated address 2001:db8:0:d0:: -allocated address 2001:db8:0:d1:: -allocated address 2001:db8:0:d2:: -allocated address 2001:db8:0:d3:: -allocated address 2001:db8:0:d4:: -allocated address 2001:db8:0:d5:: -allocated address 2001:db8:0:d6:: -allocated address 2001:db8:0:d7:: -allocated address 2001:db8:0:d8:: -allocated address 2001:db8:0:d9:: -allocated address 2001:db8:0:da:: -allocated address 2001:db8:0:db:: -allocated address 2001:db8:0:dc:: -allocated address 2001:db8:0:dd:: -allocated address 2001:db8:0:de:: -allocated address 2001:db8:0:df:: -allocated address 2001:db8:0:e0:: -allocated address 2001:db8:0:e1:: -allocated address 2001:db8:0:e2:: -allocated address 2001:db8:0:e3:: -allocated address 2001:db8:0:e4:: -allocated address 2001:db8:0:e5:: -allocated address 2001:db8:0:e6:: -allocated address 2001:db8:0:e7:: -allocated address 2001:db8:0:e8:: -allocated address 2001:db8:0:e9:: -allocated address 2001:db8:0:ea:: -allocated address 2001:db8:0:eb:: -allocated address 2001:db8:0:ec:: -allocated address 2001:db8:0:ed:: -allocated address 2001:db8:0:ee:: -allocated address 2001:db8:0:ef:: -allocated address 2001:db8:0:f0:: -allocated address 2001:db8:0:f1:: -allocated address 2001:db8:0:f2:: -allocated address 2001:db8:0:f3:: -allocated address 2001:db8:0:f4:: -allocated address 2001:db8:0:f5:: -allocated address 2001:db8:0:f6:: -allocated address 2001:db8:0:f7:: -allocated address 2001:db8:0:f8:: -allocated address 2001:db8:0:f9:: -allocated address 2001:db8:0:fa:: -allocated address 2001:db8:0:fb:: -allocated address 2001:db8:0:fc:: -allocated address 2001:db8:0:fd:: -allocated address 2001:db8:0:fe:: -allocated address 2001:db8:0:ff:: testing pool for prefix 192.168.23.0/24, flags=0x3, blacklist_size=3, expected_size=253 allocated address 192.168.23.2 allocated address 192.168.23.3 diff --git a/tests/lib/ippool_v6_test.err b/tests/lib/ippool_v6_test.err new file mode 100644 index 0000000..f0edefe --- /dev/null +++ b/tests/lib/ippool_v6_test.err @@ -0,0 +1,2 @@ +No more IP addresses available +No more IP addresses available diff --git a/tests/lib/ippool_v6_test.ok b/tests/lib/ippool_v6_test.ok new file mode 100644 index 0000000..19ea4d1 --- /dev/null +++ b/tests/lib/ippool_v6_test.ok @@ -0,0 +1,257 @@ +testing pool for prefix 2001:DB8::/56, flags=0x0, blacklist_size=0, expected_size=256 +allocated address 2001:db8:: +allocated address 2001:db8:0:1:: +allocated address 2001:db8:0:2:: +allocated address 2001:db8:0:3:: +allocated address 2001:db8:0:4:: +allocated address 2001:db8:0:5:: +allocated address 2001:db8:0:6:: +allocated address 2001:db8:0:7:: +allocated address 2001:db8:0:8:: +allocated address 2001:db8:0:9:: +allocated address 2001:db8:0:a:: +allocated address 2001:db8:0:b:: +allocated address 2001:db8:0:c:: +allocated address 2001:db8:0:d:: +allocated address 2001:db8:0:e:: +allocated address 2001:db8:0:f:: +allocated address 2001:db8:0:10:: +allocated address 2001:db8:0:11:: +allocated address 2001:db8:0:12:: +allocated address 2001:db8:0:13:: +allocated address 2001:db8:0:14:: +allocated address 2001:db8:0:15:: +allocated address 2001:db8:0:16:: +allocated address 2001:db8:0:17:: +allocated address 2001:db8:0:18:: +allocated address 2001:db8:0:19:: +allocated address 2001:db8:0:1a:: +allocated address 2001:db8:0:1b:: +allocated address 2001:db8:0:1c:: +allocated address 2001:db8:0:1d:: +allocated address 2001:db8:0:1e:: +allocated address 2001:db8:0:1f:: +allocated address 2001:db8:0:20:: +allocated address 2001:db8:0:21:: +allocated address 2001:db8:0:22:: +allocated address 2001:db8:0:23:: +allocated address 2001:db8:0:24:: +allocated address 2001:db8:0:25:: +allocated address 2001:db8:0:26:: +allocated address 2001:db8:0:27:: +allocated address 2001:db8:0:28:: +allocated address 2001:db8:0:29:: +allocated address 2001:db8:0:2a:: +allocated address 2001:db8:0:2b:: +allocated address 2001:db8:0:2c:: +allocated address 2001:db8:0:2d:: +allocated address 2001:db8:0:2e:: +allocated address 2001:db8:0:2f:: +allocated address 2001:db8:0:30:: +allocated address 2001:db8:0:31:: +allocated address 2001:db8:0:32:: +allocated address 2001:db8:0:33:: +allocated address 2001:db8:0:34:: +allocated address 2001:db8:0:35:: +allocated address 2001:db8:0:36:: +allocated address 2001:db8:0:37:: +allocated address 2001:db8:0:38:: +allocated address 2001:db8:0:39:: +allocated address 2001:db8:0:3a:: +allocated address 2001:db8:0:3b:: +allocated address 2001:db8:0:3c:: +allocated address 2001:db8:0:3d:: +allocated address 2001:db8:0:3e:: +allocated address 2001:db8:0:3f:: +allocated address 2001:db8:0:40:: +allocated address 2001:db8:0:41:: +allocated address 2001:db8:0:42:: +allocated address 2001:db8:0:43:: +allocated address 2001:db8:0:44:: +allocated address 2001:db8:0:45:: +allocated address 2001:db8:0:46:: +allocated address 2001:db8:0:47:: +allocated address 2001:db8:0:48:: +allocated address 2001:db8:0:49:: +allocated address 2001:db8:0:4a:: +allocated address 2001:db8:0:4b:: +allocated address 2001:db8:0:4c:: +allocated address 2001:db8:0:4d:: +allocated address 2001:db8:0:4e:: +allocated address 2001:db8:0:4f:: +allocated address 2001:db8:0:50:: +allocated address 2001:db8:0:51:: +allocated address 2001:db8:0:52:: +allocated address 2001:db8:0:53:: +allocated address 2001:db8:0:54:: +allocated address 2001:db8:0:55:: +allocated address 2001:db8:0:56:: +allocated address 2001:db8:0:57:: +allocated address 2001:db8:0:58:: +allocated address 2001:db8:0:59:: +allocated address 2001:db8:0:5a:: +allocated address 2001:db8:0:5b:: +allocated address 2001:db8:0:5c:: +allocated address 2001:db8:0:5d:: +allocated address 2001:db8:0:5e:: +allocated address 2001:db8:0:5f:: +allocated address 2001:db8:0:60:: +allocated address 2001:db8:0:61:: +allocated address 2001:db8:0:62:: +allocated address 2001:db8:0:63:: +allocated address 2001:db8:0:64:: +allocated address 2001:db8:0:65:: +allocated address 2001:db8:0:66:: +allocated address 2001:db8:0:67:: +allocated address 2001:db8:0:68:: +allocated address 2001:db8:0:69:: +allocated address 2001:db8:0:6a:: +allocated address 2001:db8:0:6b:: +allocated address 2001:db8:0:6c:: +allocated address 2001:db8:0:6d:: +allocated address 2001:db8:0:6e:: +allocated address 2001:db8:0:6f:: +allocated address 2001:db8:0:70:: +allocated address 2001:db8:0:71:: +allocated address 2001:db8:0:72:: +allocated address 2001:db8:0:73:: +allocated address 2001:db8:0:74:: +allocated address 2001:db8:0:75:: +allocated address 2001:db8:0:76:: +allocated address 2001:db8:0:77:: +allocated address 2001:db8:0:78:: +allocated address 2001:db8:0:79:: +allocated address 2001:db8:0:7a:: +allocated address 2001:db8:0:7b:: +allocated address 2001:db8:0:7c:: +allocated address 2001:db8:0:7d:: +allocated address 2001:db8:0:7e:: +allocated address 2001:db8:0:7f:: +allocated address 2001:db8:0:80:: +allocated address 2001:db8:0:81:: +allocated address 2001:db8:0:82:: +allocated address 2001:db8:0:83:: +allocated address 2001:db8:0:84:: +allocated address 2001:db8:0:85:: +allocated address 2001:db8:0:86:: +allocated address 2001:db8:0:87:: +allocated address 2001:db8:0:88:: +allocated address 2001:db8:0:89:: +allocated address 2001:db8:0:8a:: +allocated address 2001:db8:0:8b:: +allocated address 2001:db8:0:8c:: +allocated address 2001:db8:0:8d:: +allocated address 2001:db8:0:8e:: +allocated address 2001:db8:0:8f:: +allocated address 2001:db8:0:90:: +allocated address 2001:db8:0:91:: +allocated address 2001:db8:0:92:: +allocated address 2001:db8:0:93:: +allocated address 2001:db8:0:94:: +allocated address 2001:db8:0:95:: +allocated address 2001:db8:0:96:: +allocated address 2001:db8:0:97:: +allocated address 2001:db8:0:98:: +allocated address 2001:db8:0:99:: +allocated address 2001:db8:0:9a:: +allocated address 2001:db8:0:9b:: +allocated address 2001:db8:0:9c:: +allocated address 2001:db8:0:9d:: +allocated address 2001:db8:0:9e:: +allocated address 2001:db8:0:9f:: +allocated address 2001:db8:0:a0:: +allocated address 2001:db8:0:a1:: +allocated address 2001:db8:0:a2:: +allocated address 2001:db8:0:a3:: +allocated address 2001:db8:0:a4:: +allocated address 2001:db8:0:a5:: +allocated address 2001:db8:0:a6:: +allocated address 2001:db8:0:a7:: +allocated address 2001:db8:0:a8:: +allocated address 2001:db8:0:a9:: +allocated address 2001:db8:0:aa:: +allocated address 2001:db8:0:ab:: +allocated address 2001:db8:0:ac:: +allocated address 2001:db8:0:ad:: +allocated address 2001:db8:0:ae:: +allocated address 2001:db8:0:af:: +allocated address 2001:db8:0:b0:: +allocated address 2001:db8:0:b1:: +allocated address 2001:db8:0:b2:: +allocated address 2001:db8:0:b3:: +allocated address 2001:db8:0:b4:: +allocated address 2001:db8:0:b5:: +allocated address 2001:db8:0:b6:: +allocated address 2001:db8:0:b7:: +allocated address 2001:db8:0:b8:: +allocated address 2001:db8:0:b9:: +allocated address 2001:db8:0:ba:: +allocated address 2001:db8:0:bb:: +allocated address 2001:db8:0:bc:: +allocated address 2001:db8:0:bd:: +allocated address 2001:db8:0:be:: +allocated address 2001:db8:0:bf:: +allocated address 2001:db8:0:c0:: +allocated address 2001:db8:0:c1:: +allocated address 2001:db8:0:c2:: +allocated address 2001:db8:0:c3:: +allocated address 2001:db8:0:c4:: +allocated address 2001:db8:0:c5:: +allocated address 2001:db8:0:c6:: +allocated address 2001:db8:0:c7:: +allocated address 2001:db8:0:c8:: +allocated address 2001:db8:0:c9:: +allocated address 2001:db8:0:ca:: +allocated address 2001:db8:0:cb:: +allocated address 2001:db8:0:cc:: +allocated address 2001:db8:0:cd:: +allocated address 2001:db8:0:ce:: +allocated address 2001:db8:0:cf:: +allocated address 2001:db8:0:d0:: +allocated address 2001:db8:0:d1:: +allocated address 2001:db8:0:d2:: +allocated address 2001:db8:0:d3:: +allocated address 2001:db8:0:d4:: +allocated address 2001:db8:0:d5:: +allocated address 2001:db8:0:d6:: +allocated address 2001:db8:0:d7:: +allocated address 2001:db8:0:d8:: +allocated address 2001:db8:0:d9:: +allocated address 2001:db8:0:da:: +allocated address 2001:db8:0:db:: +allocated address 2001:db8:0:dc:: +allocated address 2001:db8:0:dd:: +allocated address 2001:db8:0:de:: +allocated address 2001:db8:0:df:: +allocated address 2001:db8:0:e0:: +allocated address 2001:db8:0:e1:: +allocated address 2001:db8:0:e2:: +allocated address 2001:db8:0:e3:: +allocated address 2001:db8:0:e4:: +allocated address 2001:db8:0:e5:: +allocated address 2001:db8:0:e6:: +allocated address 2001:db8:0:e7:: +allocated address 2001:db8:0:e8:: +allocated address 2001:db8:0:e9:: +allocated address 2001:db8:0:ea:: +allocated address 2001:db8:0:eb:: +allocated address 2001:db8:0:ec:: +allocated address 2001:db8:0:ed:: +allocated address 2001:db8:0:ee:: +allocated address 2001:db8:0:ef:: +allocated address 2001:db8:0:f0:: +allocated address 2001:db8:0:f1:: +allocated address 2001:db8:0:f2:: +allocated address 2001:db8:0:f3:: +allocated address 2001:db8:0:f4:: +allocated address 2001:db8:0:f5:: +allocated address 2001:db8:0:f6:: +allocated address 2001:db8:0:f7:: +allocated address 2001:db8:0:f8:: +allocated address 2001:db8:0:f9:: +allocated address 2001:db8:0:fa:: +allocated address 2001:db8:0:fb:: +allocated address 2001:db8:0:fc:: +allocated address 2001:db8:0:fd:: +allocated address 2001:db8:0:fe:: +allocated address 2001:db8:0:ff:: diff --git a/tests/testsuite.at b/tests/testsuite.at index f365f95..fa94db3 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -8,12 +8,25 @@ cat $abs_srcdir/lib/ippool_test.err > experr AT_CHECK([$abs_top_builddir/tests/lib/ippool_test], [], [expout], [experr]) AT_CLEANUP +AT_SETUP([ippool_v6]) +AT_KEYWORDS([ippool_v6]) +cat $abs_srcdir/lib/ippool_v6_test.ok > expout +cat $abs_srcdir/lib/ippool_v6_test.err > experr +AT_CHECK([$abs_top_builddir/tests/lib/ippool_test -v6], [], [expout], [experr]) +AT_CLEANUP + AT_SETUP([in46a]) AT_KEYWORDS([in46a]) cat $abs_srcdir/lib/in46a_test.ok > expout AT_CHECK([$abs_top_builddir/tests/lib/in46a_test], [], [expout], []) AT_CLEANUP +AT_SETUP([in46a_v6]) +AT_KEYWORDS([in46a_v6]) +cat $abs_srcdir/lib/in46a_v6_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/lib/in46a_test -v6], [], [expout], []) +AT_CLEANUP + AT_SETUP([gtpie]) AT_KEYWORDS([gtpie]) cat $abs_srcdir/gtp/gtpie_test.ok > expout |