diff options
author | ncteisen <ncteisen@gmail.com> | 2017-03-09 11:16:25 -0800 |
---|---|---|
committer | ncteisen <ncteisen@gmail.com> | 2017-03-09 11:16:25 -0800 |
commit | b3eee5c8c7edb9d3f1c727fdaf801933e9ef4797 (patch) | |
tree | db7aa08608e112258734797d266689ed670a1349 /test/core/iomgr/sockaddr_utils_test.c | |
parent | ffe4f5e0840c1879e974b2463384b0a461bba468 (diff) | |
parent | eb064ec7b81b60c5e1eb47d6124d0c05056b3097 (diff) |
Merge branch 'master' of https://github.com/grpc/grpc into to-grpc-err-is-human
Diffstat (limited to 'test/core/iomgr/sockaddr_utils_test.c')
-rw-r--r-- | test/core/iomgr/sockaddr_utils_test.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/core/iomgr/sockaddr_utils_test.c b/test/core/iomgr/sockaddr_utils_test.c index 8569c697fe..70a6c323e5 100644 --- a/test/core/iomgr/sockaddr_utils_test.c +++ b/test/core/iomgr/sockaddr_utils_test.c @@ -70,6 +70,12 @@ static grpc_resolved_address make_addr6(const uint8_t *data, size_t data_len) { return resolved_addr6; } +static void set_addr6_scope_id(grpc_resolved_address *addr, uint32_t scope_id) { + struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)addr->addr; + GPR_ASSERT(addr6->sin6_family == AF_INET6); + addr6->sin6_scope_id = scope_id; +} + static const uint8_t kMapped[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 192, 0, 2, 1}; @@ -222,6 +228,16 @@ static void test_sockaddr_to_string(void) { expect_sockaddr_str("[2001:db8::1]:12345", &input6, 1); expect_sockaddr_uri("ipv6:[2001:db8::1]:12345", &input6); + set_addr6_scope_id(&input6, 2); + expect_sockaddr_str("[2001:db8::1%252]:12345", &input6, 0); + expect_sockaddr_str("[2001:db8::1%252]:12345", &input6, 1); + expect_sockaddr_uri("ipv6:[2001:db8::1%252]:12345", &input6); + + set_addr6_scope_id(&input6, 101); + expect_sockaddr_str("[2001:db8::1%25101]:12345", &input6, 0); + expect_sockaddr_str("[2001:db8::1%25101]:12345", &input6, 1); + expect_sockaddr_uri("ipv6:[2001:db8::1%25101]:12345", &input6); + input6 = make_addr6(kMapped, sizeof(kMapped)); expect_sockaddr_str("[::ffff:192.0.2.1]:12345", &input6, 0); expect_sockaddr_str("192.0.2.1:12345", &input6, 1); |