summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2013-06-02 05:53:13 -0700
committerDaniil Baturin <daniil@baturin.org>2013-06-02 05:53:13 -0700
commit83cf00e0117c4b41001a56f93cf4beae720cc6a0 (patch)
treef9be4ab75a0a7df11f1a35103987a83f218bb13a /tests
parenta64770739a28b05f6c5a033a3f2085959662b447 (diff)
downloadipaddrcheck-83cf00e0117c4b41001a56f93cf4beae720cc6a0.tar.gz
ipaddrcheck-83cf00e0117c4b41001a56f93cf4beae720cc6a0.zip
Add interface address validation support.
Fix IPv4 CIDR regex to support one-digit mask properly.
Diffstat (limited to 'tests')
-rw-r--r--tests/check_ipaddrcheck.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/check_ipaddrcheck.c b/tests/check_ipaddrcheck.c
index ebf99b2..9315bec 100644
--- a/tests/check_ipaddrcheck.c
+++ b/tests/check_ipaddrcheck.c
@@ -43,8 +43,11 @@ END_TEST
START_TEST (test_is_ipv4_cidr)
{
- char* good_address_str = "192.0.2.1/21";
- ck_assert_int_eq(is_ipv4_cidr(good_address_str), RESULT_SUCCESS);
+ char* good_address_str_1 = "192.0.2.1/8";
+ ck_assert_int_eq(is_ipv4_cidr(good_address_str_1), RESULT_SUCCESS);
+
+ char* good_address_str_2 = "192.0.2.1/21";
+ ck_assert_int_eq(is_ipv4_cidr(good_address_str_2), RESULT_SUCCESS);
char* address_str_no_mask = "192.0.2.1";
ck_assert_int_eq(is_ipv4_cidr(address_str_no_mask), RESULT_FAILURE);
@@ -339,6 +342,22 @@ START_TEST (test_is_ipv6_link_local)
}
END_TEST
+START_TEST (test_is_valid_intf_address)
+{
+ char* good_address_str_v4 = "192.0.2.5/24";
+ CIDR* good_address_v4 = cidr_from_str(good_address_str_v4);
+ ck_assert_int_eq(is_valid_intf_address(good_address_v4, good_address_str_v4, NO_LOOPBACK), RESULT_SUCCESS);
+ cidr_free(good_address_v4);
+
+ char* good_address_str_v6 = "2001:db8:a:b::14/64";
+ CIDR* good_address_v6 = cidr_from_str(good_address_str_v6);
+ ck_assert_int_eq(is_valid_intf_address(good_address_v6, good_address_str_v6, NO_LOOPBACK), RESULT_SUCCESS);
+ cidr_free(good_address_v6);
+
+
+}
+END_TEST
+
Suite *ipaddrcheck_suite(void)
{
@@ -366,6 +385,7 @@ Suite *ipaddrcheck_suite(void)
tcase_add_test(tc_core, test_is_ipv6_net);
tcase_add_test(tc_core, test_is_ipv6_multicast);
tcase_add_test(tc_core, test_is_ipv6_link_local);
+ tcase_add_test(tc_core, test_is_valid_intf_address);
suite_add_tcase(s, tc_core);