diff options
author | Uri Simchoni <uri@samba.org> | 2021-09-16 20:03:02 +0300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2021-09-28 09:44:35 +0000 |
commit | 262148721ee6d794f7f2d1ad1b36e00a1401ec41 (patch) | |
tree | 2f9d848997a7bd33db55e1d786163e2dfd01b1f2 /lib/tsocket | |
parent | c26fcef50d09d3d70c646f3151dda265d4b0eb92 (diff) | |
download | samba-262148721ee6d794f7f2d1ad1b36e00a1401ec41.tar.gz |
selftest: add more tests for test_address_inet_from_strings
Test the case of NULL address as input
Signed-off-by: Uri Simchoni <uri@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib/tsocket')
-rw-r--r-- | lib/tsocket/tests/test_bsd_addr.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/tsocket/tests/test_bsd_addr.c b/lib/tsocket/tests/test_bsd_addr.c index 9f9fa29ec2d..baefb8ce236 100644 --- a/lib/tsocket/tests/test_bsd_addr.c +++ b/lib/tsocket/tests/test_bsd_addr.c @@ -163,6 +163,49 @@ static void test_address_inet_from_strings(void **state) assert_int_equal(rc, -1); assert_int_not_equal(save_errno, 0); assert_null(addr); + + /* + * Unspecified IP family, given NULL, verify it returns something + */ + rc = tsocket_address_inet_from_strings(mem_ctx, "ip", NULL, 1234, + &addr); + assert_return_code(rc, errno); + assert_non_null(addr); + TALLOC_FREE(addr); + + /* + * IPv4, given NULL, verify it returns 0.0.0.0 + */ + rc = tsocket_address_inet_from_strings(mem_ctx, "ipv4", NULL, 1234, + &addr); + assert_return_code(rc, errno); + assert_non_null(addr); + addr_s = tsocket_address_string(addr, mem_ctx); + assert_non_null(addr_s); + assert_string_equal(addr_s, "ipv4:0.0.0.0:1234"); + assert_true(tsocket_address_is_inet(addr, "ip")); + assert_true(tsocket_address_is_inet(addr, "ipv4")); + assert_false(tsocket_address_is_inet(addr, "ipv6")); + assert_int_equal(tsocket_address_inet_port(addr), 1234); + TALLOC_FREE(addr); + TALLOC_FREE(addr_s); + + /* + * IPv6, given NULL, verify it returns :: + */ + rc = tsocket_address_inet_from_strings(mem_ctx, "ipv6", NULL, 1234, + &addr); + assert_return_code(rc, errno); + assert_non_null(addr); + addr_s = tsocket_address_string(addr, mem_ctx); + assert_non_null(addr_s); + assert_string_equal(addr_s, "ipv6::::1234"); + assert_true(tsocket_address_is_inet(addr, "ip")); + assert_false(tsocket_address_is_inet(addr, "ipv4")); + assert_true(tsocket_address_is_inet(addr, "ipv6")); + assert_int_equal(tsocket_address_inet_port(addr), 1234); + TALLOC_FREE(addr); + TALLOC_FREE(addr_s); } int main(int argc, char *argv[]) |