diff options
Diffstat (limited to 'net/base/tcp_client_socket_unittest.cc')
-rw-r--r-- | net/base/tcp_client_socket_unittest.cc | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/net/base/tcp_client_socket_unittest.cc b/net/base/tcp_client_socket_unittest.cc index b0de697..f780783 100644 --- a/net/base/tcp_client_socket_unittest.cc +++ b/net/base/tcp_client_socket_unittest.cc @@ -28,8 +28,8 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "net/base/address_list.h" -#include "net/base/net_errors.h" #include "net/base/host_resolver.h" +#include "net/base/net_errors.h" #include "net/base/tcp_client_socket.h" #include "net/base/test_completion_callback.h" #include "testing/gtest/include/gtest/gtest.h" @@ -58,10 +58,12 @@ TEST_F(TCPClientSocketTest, Connect) { EXPECT_FALSE(sock.IsConnected()); rv = sock.Connect(&callback); - ASSERT_EQ(rv, net::ERR_IO_PENDING); + if (rv != net::OK) { + ASSERT_EQ(rv, net::ERR_IO_PENDING); - rv = callback.WaitForResult(); - EXPECT_EQ(rv, net::OK); + rv = callback.WaitForResult(); + EXPECT_EQ(rv, net::OK); + } EXPECT_TRUE(sock.IsConnected()); @@ -83,18 +85,20 @@ TEST_F(TCPClientSocketTest, Read) { net::TCPClientSocket sock(addr); rv = sock.Connect(&callback); - ASSERT_EQ(rv, net::ERR_IO_PENDING); + if (rv != net::OK) { + ASSERT_EQ(rv, net::ERR_IO_PENDING); - rv = callback.WaitForResult(); - EXPECT_EQ(rv, net::OK); + rv = callback.WaitForResult(); + EXPECT_EQ(rv, net::OK); + } const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; - rv = sock.Write(request_text, arraysize(request_text)-1, &callback); + rv = sock.Write(request_text, arraysize(request_text) - 1, &callback); EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); if (rv == net::ERR_IO_PENDING) { rv = callback.WaitForResult(); - EXPECT_EQ(rv, arraysize(request_text)-1); + EXPECT_EQ(rv, arraysize(request_text) - 1); } char buf[4096]; @@ -105,7 +109,8 @@ TEST_F(TCPClientSocketTest, Read) { if (rv == net::ERR_IO_PENDING) rv = callback.WaitForResult(); - if (rv == 0) + EXPECT_GE(rv, 0); + if (rv <= 0) break; } } @@ -121,18 +126,20 @@ TEST_F(TCPClientSocketTest, Read_SmallChunks) { net::TCPClientSocket sock(addr); rv = sock.Connect(&callback); - ASSERT_EQ(rv, net::ERR_IO_PENDING); + if (rv != net::OK) { + ASSERT_EQ(rv, net::ERR_IO_PENDING); - rv = callback.WaitForResult(); - EXPECT_EQ(rv, net::OK); + rv = callback.WaitForResult(); + EXPECT_EQ(rv, net::OK); + } const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; - rv = sock.Write(request_text, arraysize(request_text)-1, &callback); + rv = sock.Write(request_text, arraysize(request_text) - 1, &callback); EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); if (rv == net::ERR_IO_PENDING) { rv = callback.WaitForResult(); - EXPECT_EQ(rv, arraysize(request_text)-1); + EXPECT_EQ(rv, arraysize(request_text) - 1); } char buf[1]; @@ -143,7 +150,8 @@ TEST_F(TCPClientSocketTest, Read_SmallChunks) { if (rv == net::ERR_IO_PENDING) rv = callback.WaitForResult(); - if (rv == 0) + EXPECT_GE(rv, 0); + if (rv <= 0) break; } } @@ -159,18 +167,20 @@ TEST_F(TCPClientSocketTest, Read_Interrupted) { net::TCPClientSocket sock(addr); rv = sock.Connect(&callback); - ASSERT_EQ(rv, net::ERR_IO_PENDING); + if (rv != net::OK) { + ASSERT_EQ(rv, net::ERR_IO_PENDING); - rv = callback.WaitForResult(); - EXPECT_EQ(rv, net::OK); + rv = callback.WaitForResult(); + EXPECT_EQ(rv, net::OK); + } const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; - rv = sock.Write(request_text, arraysize(request_text)-1, &callback); + rv = sock.Write(request_text, arraysize(request_text) - 1, &callback); EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); if (rv == net::ERR_IO_PENDING) { rv = callback.WaitForResult(); - EXPECT_EQ(rv, arraysize(request_text)-1); + EXPECT_EQ(rv, arraysize(request_text) - 1); } // Do a partial read and then exit. This test should not crash! @@ -181,5 +191,5 @@ TEST_F(TCPClientSocketTest, Read_Interrupted) { if (rv == net::ERR_IO_PENDING) rv = callback.WaitForResult(); - EXPECT_TRUE(rv != 0); + EXPECT_NE(rv, 0); } |