Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1092)

Unified Diff: jingle/glue/chrome_async_socket_unittest.cc

Issue 349933004: Revert of Revert "[Mac] Reland r276808 Use a native MessagePump instead of a MessagePumpDefault" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/message_loop/message_pump_default.h ('k') | jingle/notifier/base/xmpp_connection_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: jingle/glue/chrome_async_socket_unittest.cc
diff --git a/jingle/glue/chrome_async_socket_unittest.cc b/jingle/glue/chrome_async_socket_unittest.cc
index db3d2b09c9ffd6a60cf631264b35c08436c4e558..b3c81b1bbc6e11440d0a8ca743c0d127a4c56399 100644
--- a/jingle/glue/chrome_async_socket_unittest.cc
+++ b/jingle/glue/chrome_async_socket_unittest.cc
@@ -11,6 +11,7 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h"
+#include "base/message_loop/message_pump_default.h"
#include "jingle/glue/resolving_client_socket_factory.h"
#include "net/base/address_list.h"
#include "net/base/net_errors.h"
@@ -143,7 +144,15 @@
protected:
ChromeAsyncSocketTest()
: ssl_socket_data_provider_(net::ASYNC, net::OK),
- addr_("localhost", 35) {}
+ addr_("localhost", 35) {
+ // GTest death tests execute in a fork()ed but not exec()ed process.
+ // On OS X a CoreFoundation-backed message loop will exit with a
+ // __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__
+ // when called.
+ // Explicitly create a MessagePumpDefault which can run in this enivronment.
+ scoped_ptr<base::MessagePump> pump(new base::MessagePumpDefault());
+ message_loop_.reset(new base::MessageLoop(pump.Pass()));
+ }
virtual ~ChromeAsyncSocketTest() {}
@@ -182,7 +191,7 @@
virtual void TearDown() {
// Run any tasks that we forgot to pump.
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectClosed();
ExpectNoSignal();
chrome_async_socket_.reset();
@@ -342,7 +351,7 @@
EXPECT_TRUE(chrome_async_socket_->Connect(addr_));
ExpectNonErrorState(ChromeAsyncSocket::STATE_CONNECTING);
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
// We may not necessarily be open; may have been other events
// queued up.
ExpectSignalSocketState(
@@ -372,7 +381,7 @@
EXPECT_EQ(kDummyData, DrainRead(1));
EXPECT_TRUE(chrome_async_socket_->StartTls("fakedomain.com"));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSSLConnectSignal();
ExpectNoSignal();
ExpectNonErrorState(ChromeAsyncSocket::STATE_TLS_OPEN);
@@ -415,7 +424,7 @@
}
// ChromeAsyncSocket expects a message loop.
- base::MessageLoop message_loop_;
+ scoped_ptr<base::MessageLoop> message_loop_;
AsyncSocketDataProvider async_socket_data_provider_;
net::SSLSocketDataProvider ssl_socket_data_provider_;
@@ -510,7 +519,7 @@
SignalSocketState::NoError(
SIGNAL_CLOSE, ChromeAsyncSocket::STATE_CLOSED));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
}
TEST_F(ChromeAsyncSocketTest, HangingConnect) {
@@ -532,14 +541,14 @@
ExpectNonErrorState(ChromeAsyncSocket::STATE_CONNECTING);
ExpectNoSignal();
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectNonErrorState(ChromeAsyncSocket::STATE_OPEN);
ExpectSignalSocketState(
SignalSocketState::NoError(
SIGNAL_CONNECT, ChromeAsyncSocket::STATE_OPEN));
ExpectNoSignal();
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
DoCloseOpenedNoError();
}
@@ -552,14 +561,14 @@
net::MockConnect(net::ASYNC, net::OK));
EXPECT_TRUE(chrome_async_socket_->Connect(addr_));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSignalSocketState(
SignalSocketState::NoError(
SIGNAL_CONNECT, ChromeAsyncSocket::STATE_OPEN));
DoCloseOpenedNoError();
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
}
TEST_F(ChromeAsyncSocketTest, PendingConnectError) {
@@ -567,7 +576,7 @@
net::MockConnect(net::ASYNC, net::ERR_TIMED_OUT));
EXPECT_TRUE(chrome_async_socket_->Connect(addr_));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSignalSocketState(
SignalSocketState(
@@ -629,7 +638,7 @@
EXPECT_EQ(kReadData, DrainRead(1));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
DoCloseOpenedNoError();
}
@@ -643,7 +652,7 @@
EXPECT_EQ(kReadData, DrainRead(1));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
const char kReadData2[] = "mydatatoread2";
async_socket_data_provider_.AddRead(net::MockRead(kReadData2));
@@ -665,7 +674,7 @@
EXPECT_EQ(kReadData, DrainRead(1));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
async_socket_data_provider_.AddRead(
net::MockRead(net::SYNCHRONOUS, net::ERR_TIMED_OUT));
@@ -699,7 +708,7 @@
EXPECT_EQ(kReadData, DrainRead(1));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
DoCloseOpenedNoError();
}
@@ -755,12 +764,12 @@
DoOpenClosed();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData, 3));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 3, 5));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 8,
arraysize(kWriteData) - 8));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectNoSignal();
@@ -778,12 +787,12 @@
net::MockWrite(net::ASYNC, kWriteData + 8, arraysize(kWriteData) - 8));
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData, 3));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 3, 5));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 8,
arraysize(kWriteData) - 8));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectNoSignal();
@@ -801,12 +810,12 @@
net::MockWrite(net::ASYNC, net::ERR_TIMED_OUT));
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData, 3));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 3, 5));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 8,
arraysize(kWriteData) - 8));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSignalSocketState(
SignalSocketState(
@@ -874,7 +883,7 @@
ExpectReadSignal();
EXPECT_TRUE(chrome_async_socket_->StartTls("fakedomain.com"));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSSLConnectSignal();
ExpectNoSignal();
ExpectNonErrorState(ChromeAsyncSocket::STATE_TLS_OPEN);
@@ -889,7 +898,7 @@
ExpectReadSignal();
EXPECT_TRUE(chrome_async_socket_->StartTls("fakedomain.com"));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSSLConnectSignal();
ExpectNoSignal();
ExpectNonErrorState(ChromeAsyncSocket::STATE_TLS_OPEN);
@@ -913,7 +922,7 @@
ExpectReadSignal();
EXPECT_TRUE(chrome_async_socket_->StartTls("fakedomain.com"));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSignalSocketState(
SignalSocketState(
SIGNAL_CLOSE, ChromeAsyncSocket::STATE_CLOSED,
@@ -941,7 +950,7 @@
EXPECT_TRUE(chrome_async_socket_->Read(buf, sizeof(buf), &len_read));
EXPECT_EQ(0U, len_read);
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSSLConnectSignal();
ExpectSSLReadSignal();
ExpectNoSignal();
@@ -972,11 +981,11 @@
// TODO(akalin): Figure out how to test that the write happens
// *after* the SSL connect.
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSSLConnectSignal();
ExpectNoSignal();
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
DoSSLCloseOpenedNoError();
}
@@ -1005,7 +1014,7 @@
EXPECT_FALSE(chrome_async_socket_->StartTls("fakedomain.com"));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
DoCloseOpened(
SignalSocketState(SIGNAL_CLOSE,
@@ -1020,14 +1029,14 @@
TEST_F(ChromeAsyncSocketTest, SSLRead) {
DoSSLOpenClosed();
async_socket_data_provider_.AddRead(net::MockRead(kReadData));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectSSLReadSignal();
ExpectNoSignal();
EXPECT_EQ(kReadData, DrainRead(1));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
DoSSLCloseOpenedNoError();
}
@@ -1043,12 +1052,12 @@
DoSSLOpenClosed();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData, 3));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 3, 5));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 8,
arraysize(kWriteData) - 8));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectNoSignal();
@@ -1066,12 +1075,12 @@
net::MockWrite(net::ASYNC, kWriteData + 8, arraysize(kWriteData) - 8));
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData, 3));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 3, 5));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
EXPECT_TRUE(chrome_async_socket_->Write(kWriteData + 8,
arraysize(kWriteData) - 8));
- message_loop_.RunUntilIdle();
+ message_loop_->RunUntilIdle();
ExpectNoSignal();
« no previous file with comments | « base/message_loop/message_pump_default.h ('k') | jingle/notifier/base/xmpp_connection_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698