diff options
author | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-01 15:19:40 +0000 |
---|---|---|
committer | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-01 15:19:40 +0000 |
commit | b2fcd0e0c8850eda2135b6fe270af5f453682f23 (patch) | |
tree | 2858497a3551d59093a5dfd233bf3550d40a4e8d /net/socket/socks_client_socket_unittest.cc | |
parent | 087a03f6aeded6397081304e191b1ac027b8e134 (diff) | |
download | chromium_src-b2fcd0e0c8850eda2135b6fe270af5f453682f23.zip chromium_src-b2fcd0e0c8850eda2135b6fe270af5f453682f23.tar.gz chromium_src-b2fcd0e0c8850eda2135b6fe270af5f453682f23.tar.bz2 |
Update NetLog to be threadsafe.
The ChromeNetLog is now owned by the browser process,
and passed to the IOThread on creation.
NetLog entries can be added from any thread.
Observers must be able to handle having log entries added
from any thread. Observers can add/remove themselves on any
thread.
BUG=63334
TEST=None, yet
Review URL: http://codereview.chromium.org/4118004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67851 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/socks_client_socket_unittest.cc')
-rw-r--r-- | net/socket/socks_client_socket_unittest.cc | 59 |
1 files changed, 44 insertions, 15 deletions
diff --git a/net/socket/socks_client_socket_unittest.cc b/net/socket/socks_client_socket_unittest.cc index 11a88ae..aa5338a 100644 --- a/net/socket/socks_client_socket_unittest.cc +++ b/net/socket/socks_client_socket_unittest.cc @@ -142,16 +142,20 @@ TEST_F(SOCKSClientSocketTest, CompleteHandshake) { int rv = user_sock_->Connect(&callback_); EXPECT_EQ(ERR_IO_PENDING, rv); + + net::CapturingNetLog::EntryList entries; + log.GetEntries(&entries); EXPECT_TRUE( - LogContainsBeginEvent(log.entries(), 0, NetLog::TYPE_SOCKS_CONNECT)); + LogContainsBeginEvent(entries, 0, NetLog::TYPE_SOCKS_CONNECT)); EXPECT_FALSE(user_sock_->IsConnected()); - rv = callback_.WaitForResult(); + rv = callback_.WaitForResult(); EXPECT_EQ(OK, rv); EXPECT_TRUE(user_sock_->IsConnected()); EXPECT_EQ(SOCKSClientSocket::kSOCKS4, user_sock_->socks_version_); + log.GetEntries(&entries); EXPECT_TRUE(LogContainsEndEvent( - log.entries(), -1, NetLog::TYPE_SOCKS_CONNECT)); + entries, -1, NetLog::TYPE_SOCKS_CONNECT)); scoped_refptr<IOBuffer> buffer(new IOBuffer(payload_write.size())); memcpy(buffer->data(), payload_write.data(), payload_write.size()); @@ -208,14 +212,19 @@ TEST_F(SOCKSClientSocketTest, HandshakeFailures) { int rv = user_sock_->Connect(&callback_); EXPECT_EQ(ERR_IO_PENDING, rv); + + net::CapturingNetLog::EntryList entries; + log.GetEntries(&entries); EXPECT_TRUE(LogContainsBeginEvent( - log.entries(), 0, NetLog::TYPE_SOCKS_CONNECT)); + entries, 0, NetLog::TYPE_SOCKS_CONNECT)); + rv = callback_.WaitForResult(); EXPECT_EQ(tests[i].fail_code, rv); EXPECT_FALSE(user_sock_->IsConnected()); EXPECT_TRUE(tcp_sock_->IsConnected()); + log.GetEntries(&entries); EXPECT_TRUE(LogContainsEndEvent( - log.entries(), -1, NetLog::TYPE_SOCKS_CONNECT)); + entries, -1, NetLog::TYPE_SOCKS_CONNECT)); } } @@ -240,13 +249,17 @@ TEST_F(SOCKSClientSocketTest, PartialServerReads) { int rv = user_sock_->Connect(&callback_); EXPECT_EQ(ERR_IO_PENDING, rv); + net::CapturingNetLog::EntryList entries; + log.GetEntries(&entries); EXPECT_TRUE(LogContainsBeginEvent( - log.entries(), 0, NetLog::TYPE_SOCKS_CONNECT)); + entries, 0, NetLog::TYPE_SOCKS_CONNECT)); + rv = callback_.WaitForResult(); EXPECT_EQ(OK, rv); EXPECT_TRUE(user_sock_->IsConnected()); + log.GetEntries(&entries); EXPECT_TRUE(LogContainsEndEvent( - log.entries(), -1, NetLog::TYPE_SOCKS_CONNECT)); + entries, -1, NetLog::TYPE_SOCKS_CONNECT)); } // Tests scenario when the client sends the handshake request in @@ -274,13 +287,17 @@ TEST_F(SOCKSClientSocketTest, PartialClientWrites) { int rv = user_sock_->Connect(&callback_); EXPECT_EQ(ERR_IO_PENDING, rv); + net::CapturingNetLog::EntryList entries; + log.GetEntries(&entries); EXPECT_TRUE(LogContainsBeginEvent( - log.entries(), 0, NetLog::TYPE_SOCKS_CONNECT)); + entries, 0, NetLog::TYPE_SOCKS_CONNECT)); + rv = callback_.WaitForResult(); EXPECT_EQ(OK, rv); EXPECT_TRUE(user_sock_->IsConnected()); + log.GetEntries(&entries); EXPECT_TRUE(LogContainsEndEvent( - log.entries(), -1, NetLog::TYPE_SOCKS_CONNECT)); + entries, -1, NetLog::TYPE_SOCKS_CONNECT)); } // Tests the case when the server sends a smaller sized handshake data @@ -302,13 +319,17 @@ TEST_F(SOCKSClientSocketTest, FailedSocketRead) { int rv = user_sock_->Connect(&callback_); EXPECT_EQ(ERR_IO_PENDING, rv); + net::CapturingNetLog::EntryList entries; + log.GetEntries(&entries); EXPECT_TRUE(LogContainsBeginEvent( - log.entries(), 0, NetLog::TYPE_SOCKS_CONNECT)); + entries, 0, NetLog::TYPE_SOCKS_CONNECT)); + rv = callback_.WaitForResult(); EXPECT_EQ(ERR_CONNECTION_CLOSED, rv); EXPECT_FALSE(user_sock_->IsConnected()); + log.GetEntries(&entries); EXPECT_TRUE(LogContainsEndEvent( - log.entries(), -1, NetLog::TYPE_SOCKS_CONNECT)); + entries, -1, NetLog::TYPE_SOCKS_CONNECT)); } // Tries to connect to an unknown DNS and on failure should revert to SOCKS4A. @@ -335,14 +356,18 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AFailedDNS) { int rv = user_sock_->Connect(&callback_); EXPECT_EQ(ERR_IO_PENDING, rv); + net::CapturingNetLog::EntryList entries; + log.GetEntries(&entries); EXPECT_TRUE(LogContainsBeginEvent( - log.entries(), 0, NetLog::TYPE_SOCKS_CONNECT)); + entries, 0, NetLog::TYPE_SOCKS_CONNECT)); + rv = callback_.WaitForResult(); EXPECT_EQ(OK, rv); EXPECT_TRUE(user_sock_->IsConnected()); EXPECT_EQ(SOCKSClientSocket::kSOCKS4a, user_sock_->socks_version_); + log.GetEntries(&entries); EXPECT_TRUE(LogContainsEndEvent( - log.entries(), -1, NetLog::TYPE_SOCKS_CONNECT)); + entries, -1, NetLog::TYPE_SOCKS_CONNECT)); } // Tries to connect to a domain that resolves to IPv6. @@ -371,14 +396,18 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AIfDomainInIPv6) { int rv = user_sock_->Connect(&callback_); EXPECT_EQ(ERR_IO_PENDING, rv); + net::CapturingNetLog::EntryList entries; + log.GetEntries(&entries); EXPECT_TRUE(LogContainsBeginEvent( - log.entries(), 0, NetLog::TYPE_SOCKS_CONNECT)); + entries, 0, NetLog::TYPE_SOCKS_CONNECT)); + rv = callback_.WaitForResult(); EXPECT_EQ(OK, rv); EXPECT_TRUE(user_sock_->IsConnected()); EXPECT_EQ(SOCKSClientSocket::kSOCKS4a, user_sock_->socks_version_); + log.GetEntries(&entries); EXPECT_TRUE(LogContainsEndEvent( - log.entries(), -1, NetLog::TYPE_SOCKS_CONNECT)); + entries, -1, NetLog::TYPE_SOCKS_CONNECT)); } // Calls Disconnect() while a host resolve is in progress. The outstanding host |