diff options
| author | Daniil Baturin <daniil@vyos.io> | 2024-01-04 13:38:37 -0500 |
|---|---|---|
| committer | Daniil Baturin <daniil@vyos.io> | 2024-01-04 13:38:37 -0500 |
| commit | 23e0eda853a9bfa42a2fa0d50b31eea874a01a9c (patch) | |
| tree | ba5e579ed670d0275fea996b0284b3a74da78f28 /tests | |
| parent | 346aedbcd2257512208195bb165cc857e2907922 (diff) | |
| download | ipaddrcheck-23e0eda853a9bfa42a2fa0d50b31eea874a01a9c.tar.gz ipaddrcheck-23e0eda853a9bfa42a2fa0d50b31eea874a01a9c.zip | |
Add --range-prefix-length option
to require the range boundaries to lie within the same subnet
of a given size
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/check_ipaddrcheck.c | 26 | ||||
| -rwxr-xr-x | tests/integration_tests.sh | 6 |
2 files changed, 26 insertions, 6 deletions
diff --git a/tests/check_ipaddrcheck.c b/tests/check_ipaddrcheck.c index 3b260c2..ebae1e1 100644 --- a/tests/check_ipaddrcheck.c +++ b/tests/check_ipaddrcheck.c @@ -405,17 +405,31 @@ END_TEST START_TEST (test_is_ipv4_range) { - ck_assert_int_eq(is_ipv4_range("192.0.2.0-192.0.2.10", 0), RESULT_SUCCESS); - ck_assert_int_eq(is_ipv4_range("192.0.2.-", 0), RESULT_FAILURE); - ck_assert_int_eq(is_ipv4_range("192.0.2.99-192.0.2.11", 0), RESULT_FAILURE); + ck_assert_int_eq(is_ipv4_range("192.0.2.0-192.0.2.10", 0, 1), RESULT_SUCCESS); + ck_assert_int_eq(is_ipv4_range("192.0.2.-", 0, 1), RESULT_FAILURE); + ck_assert_int_eq(is_ipv4_range("192.0.2.99-192.0.2.11", 0, 1), RESULT_FAILURE); +} +END_TEST + +START_TEST (test_is_ipv4_range_prefix) +{ + ck_assert_int_eq(is_ipv4_range("192.0.2.0-192.0.2.10", 24, 1), RESULT_SUCCESS); + ck_assert_int_eq(is_ipv4_range("10.0.1.1-10.0.2.1", 24, 1), RESULT_FAILURE); } END_TEST START_TEST (test_is_ipv6_range) { - ck_assert_int_eq(is_ipv6_range("2001:db8::1-2001:db8::20", 0), RESULT_SUCCESS); - ck_assert_int_eq(is_ipv6_range("2001:-", 0), RESULT_FAILURE); - ck_assert_int_eq(is_ipv6_range("2001:db8::99-2001:db8:1", 0), RESULT_FAILURE); + ck_assert_int_eq(is_ipv6_range("2001:db8::1-2001:db8::20", 0, 1), RESULT_SUCCESS); + ck_assert_int_eq(is_ipv6_range("2001:-", 0, 1), RESULT_FAILURE); + ck_assert_int_eq(is_ipv6_range("2001:db8::99-2001:db8:1", 0, 1), RESULT_FAILURE); +} +END_TEST + +START_TEST (test_is_ipv6_range_prefix) +{ + ck_assert_int_eq(is_ipv6_range("2001:db8::1-2001:db8::20", 64, 1), RESULT_SUCCESS); + ck_assert_int_eq(is_ipv6_range("2001:db8:aaaa::1-2001:db8:bbbb::1", 64, 1), RESULT_FAILURE); } END_TEST diff --git a/tests/integration_tests.sh b/tests/integration_tests.sh index 8264960..3a1e4ea 100755 --- a/tests/integration_tests.sh +++ b/tests/integration_tests.sh @@ -284,6 +284,9 @@ do assert_raises "$IPADDRCHECK --is-ipv4-range $range" 1 done +assert_raises "$IPADDRCHECK --range-prefix-length 24 --is-ipv4-range 10.0.0.1-10.0.0.10" 0 +assert_raises "$IPADDRCHECK --range-prefix-length 29 --is-ipv4-range 10.0.0.1-10.0.0.10" 1 + # --is-ipv6-range for range in \ ${ipv6_range_positive[*]} @@ -297,4 +300,7 @@ do assert_raises "$IPADDRCHECK --is-ipv6-range $range" 1 done +assert_raises "$IPADDRCHECK --range-prefix-length 64 --is-ipv6-range 2001:db8::1-2001:db8::100" 0 +assert_raises "$IPADDRCHECK --range-prefix-length 64 --is-ipv6-range 2001:db8:aaaa::1-2001:db8:bbbb::1" 1 + assert_end ipaddrcheck_integration |
