unit-tests: Accept numerical protocol/port numbers in traffic selector tests
This commit is contained in:
@@ -18,25 +18,29 @@
|
|||||||
#include <selectors/traffic_selector.h>
|
#include <selectors/traffic_selector.h>
|
||||||
|
|
||||||
|
|
||||||
static void verify(const char *str, traffic_selector_t *ts)
|
static void verify(const char *str, const char *alt, traffic_selector_t *ts)
|
||||||
{
|
{
|
||||||
char buf[512];
|
char buf[512];
|
||||||
|
|
||||||
ck_assert(ts != NULL);
|
ck_assert(ts != NULL);
|
||||||
snprintf(buf, sizeof(buf), "%R", ts);
|
snprintf(buf, sizeof(buf), "%R", ts);
|
||||||
ts->destroy(ts);
|
ts->destroy(ts);
|
||||||
ck_assert_str_eq(buf, str);
|
if (!streq(buf, str) && !streq(buf, alt))
|
||||||
|
{
|
||||||
|
fail("%s != %s or %s", buf, str, alt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
START_TEST(test_create_from_string)
|
START_TEST(test_create_from_string)
|
||||||
{
|
{
|
||||||
verify("10.1.0.0/16[tcp/http]",
|
verify("10.1.0.0/16[tcp/http]", "10.1.0.0/16[6/80]",
|
||||||
traffic_selector_create_from_string(IPPROTO_TCP, TS_IPV4_ADDR_RANGE,
|
traffic_selector_create_from_string(IPPROTO_TCP, TS_IPV4_ADDR_RANGE,
|
||||||
"10.1.0.0", 80, "10.1.255.255", 80));
|
"10.1.0.0", 80, "10.1.255.255", 80));
|
||||||
verify("10.1.0.1..10.1.0.99[udp/1234-1235]",
|
verify("10.1.0.1..10.1.0.99[udp/1234-1235]",
|
||||||
|
"10.1.0.1..10.1.0.99[17/1234-1235]",
|
||||||
traffic_selector_create_from_string(IPPROTO_UDP, TS_IPV4_ADDR_RANGE,
|
traffic_selector_create_from_string(IPPROTO_UDP, TS_IPV4_ADDR_RANGE,
|
||||||
"10.1.0.1", 1234, "10.1.0.99", 1235));
|
"10.1.0.1", 1234, "10.1.0.99", 1235));
|
||||||
verify("fec1::/64",
|
verify("fec1::/64", NULL,
|
||||||
traffic_selector_create_from_string(0, TS_IPV6_ADDR_RANGE,
|
traffic_selector_create_from_string(0, TS_IPV6_ADDR_RANGE,
|
||||||
"fec1::", 0, "fec1::ffff:ffff:ffff:ffff", 65535));
|
"fec1::", 0, "fec1::ffff:ffff:ffff:ffff", 65535));
|
||||||
}
|
}
|
||||||
@@ -44,9 +48,9 @@ END_TEST
|
|||||||
|
|
||||||
START_TEST(test_create_from_cidr)
|
START_TEST(test_create_from_cidr)
|
||||||
{
|
{
|
||||||
verify("10.1.0.0/16",
|
verify("10.1.0.0/16", NULL,
|
||||||
traffic_selector_create_from_cidr("10.1.0.0/16", 0, 0, 65535));
|
traffic_selector_create_from_cidr("10.1.0.0/16", 0, 0, 65535));
|
||||||
verify("10.1.0.1/32[udp/1234-1235]",
|
verify("10.1.0.1/32[udp/1234-1235]", "10.1.0.1/32[17/1234-1235]",
|
||||||
traffic_selector_create_from_cidr("10.1.0.1/32", IPPROTO_UDP,
|
traffic_selector_create_from_cidr("10.1.0.1/32", IPPROTO_UDP,
|
||||||
1234, 1235));
|
1234, 1235));
|
||||||
}
|
}
|
||||||
@@ -54,7 +58,7 @@ END_TEST
|
|||||||
|
|
||||||
START_TEST(test_create_from_bytes)
|
START_TEST(test_create_from_bytes)
|
||||||
{
|
{
|
||||||
verify("10.1.0.0/16",
|
verify("10.1.0.0/16", NULL,
|
||||||
traffic_selector_create_from_bytes(0, TS_IPV4_ADDR_RANGE,
|
traffic_selector_create_from_bytes(0, TS_IPV4_ADDR_RANGE,
|
||||||
chunk_from_chars(0x0a,0x01,0x00,0x00), 0,
|
chunk_from_chars(0x0a,0x01,0x00,0x00), 0,
|
||||||
chunk_from_chars(0x0a,0x01,0xff,0xff), 65535));
|
chunk_from_chars(0x0a,0x01,0xff,0xff), 65535));
|
||||||
@@ -63,7 +67,7 @@ END_TEST
|
|||||||
|
|
||||||
START_TEST(test_create_from_subnet)
|
START_TEST(test_create_from_subnet)
|
||||||
{
|
{
|
||||||
verify("10.1.0.0/16",
|
verify("10.1.0.0/16", NULL,
|
||||||
traffic_selector_create_from_subnet(
|
traffic_selector_create_from_subnet(
|
||||||
host_create_from_string("10.1.0.0", 0), 16, 0, 0, 65535));
|
host_create_from_string("10.1.0.0", 0), 16, 0, 0, 65535));
|
||||||
}
|
}
|
||||||
@@ -76,7 +80,7 @@ START_TEST(test_subset)
|
|||||||
|
|
||||||
a = traffic_selector_create_from_cidr("10.1.0.0/16", 0, 0, 65535);
|
a = traffic_selector_create_from_cidr("10.1.0.0/16", 0, 0, 65535);
|
||||||
b = traffic_selector_create_from_cidr("10.1.5.0/24", 0, 0, 65535);
|
b = traffic_selector_create_from_cidr("10.1.5.0/24", 0, 0, 65535);
|
||||||
verify("10.1.5.0/24", a->get_subset(a, b));
|
verify("10.1.5.0/24", NULL, a->get_subset(a, b));
|
||||||
a->destroy(a);
|
a->destroy(a);
|
||||||
b->destroy(b);
|
b->destroy(b);
|
||||||
}
|
}
|
||||||
@@ -88,7 +92,8 @@ START_TEST(test_subset_port)
|
|||||||
|
|
||||||
a = traffic_selector_create_from_cidr("10.0.0.0/8", IPPROTO_TCP, 55, 60);
|
a = traffic_selector_create_from_cidr("10.0.0.0/8", IPPROTO_TCP, 55, 60);
|
||||||
b = traffic_selector_create_from_cidr("10.2.7.16/30", 0, 0, 65535);
|
b = traffic_selector_create_from_cidr("10.2.7.16/30", 0, 0, 65535);
|
||||||
verify("10.2.7.16/30[tcp/55-60]", a->get_subset(a, b));
|
verify("10.2.7.16/30[tcp/55-60]", "10.2.7.16/30[6/55-60]",
|
||||||
|
a->get_subset(a, b));
|
||||||
a->destroy(a);
|
a->destroy(a);
|
||||||
b->destroy(b);
|
b->destroy(b);
|
||||||
}
|
}
|
||||||
@@ -100,7 +105,7 @@ START_TEST(test_subset_equal)
|
|||||||
|
|
||||||
a = traffic_selector_create_from_cidr("10.1.0.0/16", IPPROTO_TCP, 80, 80);
|
a = traffic_selector_create_from_cidr("10.1.0.0/16", IPPROTO_TCP, 80, 80);
|
||||||
b = traffic_selector_create_from_cidr("10.1.0.0/16", IPPROTO_TCP, 80, 80);
|
b = traffic_selector_create_from_cidr("10.1.0.0/16", IPPROTO_TCP, 80, 80);
|
||||||
verify("10.1.0.0/16[tcp/http]", a->get_subset(a, b));
|
verify("10.1.0.0/16[tcp/http]", "10.1.0.0/16[6/80]", a->get_subset(a, b));
|
||||||
a->destroy(a);
|
a->destroy(a);
|
||||||
b->destroy(b);
|
b->destroy(b);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user