Index: native_client_sdk/src/tests/nacl_io_test/host_resolver_test.cc |
diff --git a/native_client_sdk/src/tests/nacl_io_test/host_resolver_test.cc b/native_client_sdk/src/tests/nacl_io_test/host_resolver_test.cc |
index fab3ec52d3e7020c90bd86667815ac8ff03944fb..3aaec27b32a275f709a482c8f355d9137ee1a5bd 100644 |
--- a/native_client_sdk/src/tests/nacl_io_test/host_resolver_test.cc |
+++ b/native_client_sdk/src/tests/nacl_io_test/host_resolver_test.cc |
@@ -89,7 +89,7 @@ TEST_F(HostResolverTest, Getaddrinfo_Numeric) { |
struct sockaddr_in* in; |
struct addrinfo hints; |
- // Numberic only |
+ // Numeric only |
memset(&hints, 0, sizeof(hints)); |
hints.ai_family = AF_INET; |
hints.ai_socktype = SOCK_STREAM; |
@@ -107,6 +107,34 @@ TEST_F(HostResolverTest, Getaddrinfo_Numeric) { |
ki_freeaddrinfo(ai); |
} |
+TEST_F(HostResolverTest, Getaddrinfo_NumericService) { |
+ struct addrinfo* ai = NULL; |
+ struct sockaddr_in* in; |
+ struct addrinfo hints; |
+ |
+ memset(&hints, 0, sizeof(hints)); |
+ hints.ai_family = AF_INET; |
+ hints.ai_socktype = SOCK_STREAM; |
+ |
+ ASSERT_EQ(0, ki_getaddrinfo("1.2.3.4", "0", &hints, &ai)); |
+ ASSERT_NE(NULL_INFO, ai); |
+ ASSERT_NE(NULL_ADDR, ai->ai_addr); |
+ in = (struct sockaddr_in*)ai->ai_addr; |
+ uint16_t expected_port = htons(0); |
+ ASSERT_EQ(expected_port, in->sin_port); |
+ ASSERT_EQ(NULL_INFO, ai->ai_next); |
+ ki_freeaddrinfo(ai); |
+ |
+ ASSERT_EQ(0, ki_getaddrinfo("1.2.3.4", "65000", &hints, &ai)); |
+ ASSERT_NE(NULL_INFO, ai); |
+ ASSERT_NE(NULL_ADDR, ai->ai_addr); |
+ in = (struct sockaddr_in*)ai->ai_addr; |
+ expected_port = htons(65000); |
+ ASSERT_EQ(expected_port, in->sin_port); |
+ ASSERT_EQ(NULL_INFO, ai->ai_next); |
+ ki_freeaddrinfo(ai); |
+} |
+ |
TEST_F(HostResolverTest, Getaddrinfo_MissingPPAPI) { |
// Verify that full lookups fail due to lack of PPAPI interfaces |
struct addrinfo* ai = NULL; |