| Index: ipc/ipc_sync_channel_unittest.cc
|
| diff --git a/ipc/ipc_sync_channel_unittest.cc b/ipc/ipc_sync_channel_unittest.cc
|
| index a39ec7733071f769d5ff5c77344e618f36a477cd..ca8d5d789a2a7caf9bf2b6032b5998eeb49213d5 100644
|
| --- a/ipc/ipc_sync_channel_unittest.cc
|
| +++ b/ipc/ipc_sync_channel_unittest.cc
|
| @@ -65,9 +65,6 @@ class Worker : public Listener, public Sender {
|
| void AddRef() { }
|
| void Release() { }
|
| virtual bool Send(Message* msg) OVERRIDE { return channel_->Send(msg); }
|
| - bool SendWithTimeout(Message* msg, int timeout_ms) {
|
| - return channel_->SendWithTimeout(msg, timeout_ms);
|
| - }
|
| void WaitForChannelCreation() { channel_created_->Wait(); }
|
| void CloseChannel() {
|
| DCHECK(base::MessageLoop::current() == ListenerThread()->message_loop());
|
| @@ -96,12 +93,12 @@ class Worker : public Listener, public Sender {
|
| DCHECK(overrided_thread_ == NULL);
|
| overrided_thread_ = overrided_thread;
|
| }
|
| - bool SendAnswerToLife(bool pump, int timeout, bool succeed) {
|
| + bool SendAnswerToLife(bool pump, bool succeed) {
|
| int answer = 0;
|
| SyncMessage* msg = new SyncChannelTestMsg_AnswerToLife(&answer);
|
| if (pump)
|
| msg->EnableMessagePumping();
|
| - bool result = SendWithTimeout(msg, timeout);
|
| + bool result = Send(msg);
|
| DCHECK_EQ(result, succeed);
|
| DCHECK_EQ(answer, (succeed ? 42 : 0));
|
| return result;
|
| @@ -280,7 +277,7 @@ class SimpleServer : public Worker {
|
| : Worker(Channel::MODE_SERVER, "simpler_server"),
|
| pump_during_send_(pump_during_send) { }
|
| virtual void Run() OVERRIDE {
|
| - SendAnswerToLife(pump_during_send_, base::kNoTimeout, true);
|
| + SendAnswerToLife(pump_during_send_, true);
|
| Done();
|
| }
|
|
|
| @@ -322,7 +319,7 @@ class TwoStepServer : public Worker {
|
| create_pipe_now_(create_pipe_now) { }
|
|
|
| virtual void Run() OVERRIDE {
|
| - SendAnswerToLife(false, base::kNoTimeout, true);
|
| + SendAnswerToLife(false, true);
|
| Done();
|
| }
|
|
|
| @@ -408,10 +405,10 @@ class NoHangServer : public Worker {
|
| got_first_reply_(got_first_reply),
|
| pump_during_send_(pump_during_send) { }
|
| virtual void Run() OVERRIDE {
|
| - SendAnswerToLife(pump_during_send_, base::kNoTimeout, true);
|
| + SendAnswerToLife(pump_during_send_, true);
|
| got_first_reply_->Signal();
|
|
|
| - SendAnswerToLife(pump_during_send_, base::kNoTimeout, false);
|
| + SendAnswerToLife(pump_during_send_, false);
|
| Done();
|
| }
|
|
|
| @@ -470,7 +467,7 @@ class UnblockServer : public Worker {
|
| msg->EnableMessagePumping();
|
| Send(msg);
|
| } else {
|
| - SendAnswerToLife(pump_during_send_, base::kNoTimeout, true);
|
| + SendAnswerToLife(pump_during_send_, true);
|
| }
|
| Done();
|
| }
|
| @@ -541,7 +538,7 @@ class RecursiveServer : public Worker {
|
|
|
| virtual void OnDouble(int in, int* out) OVERRIDE {
|
| *out = in * 2;
|
| - SendAnswerToLife(pump_second_, base::kNoTimeout, expected_send_result_);
|
| + SendAnswerToLife(pump_second_, expected_send_result_);
|
| }
|
|
|
| bool expected_send_result_, pump_first_, pump_second_;
|
| @@ -679,7 +676,7 @@ class MultipleClient2 : public Worker {
|
|
|
| virtual void Run() OVERRIDE {
|
| client1_msg_received_->Wait();
|
| - SendAnswerToLife(pump_during_send_, base::kNoTimeout, true);
|
| + SendAnswerToLife(pump_during_send_, true);
|
| client1_can_reply_->Signal();
|
| Done();
|
| }
|
| @@ -879,117 +876,10 @@ TEST_F(IPCSyncChannelTest, ChattyServer) {
|
|
|
| //------------------------------------------------------------------------------
|
|
|
| -class TimeoutServer : public Worker {
|
| - public:
|
| - TimeoutServer(int timeout_ms,
|
| - std::vector<bool> timeout_seq,
|
| - bool pump_during_send)
|
| - : Worker(Channel::MODE_SERVER, "timeout_server"),
|
| - timeout_ms_(timeout_ms),
|
| - timeout_seq_(timeout_seq),
|
| - pump_during_send_(pump_during_send) {
|
| - }
|
| -
|
| - virtual void Run() OVERRIDE {
|
| - for (std::vector<bool>::const_iterator iter = timeout_seq_.begin();
|
| - iter != timeout_seq_.end(); ++iter) {
|
| - SendAnswerToLife(pump_during_send_, timeout_ms_, !*iter);
|
| - }
|
| - Done();
|
| - }
|
| -
|
| - private:
|
| - int timeout_ms_;
|
| - std::vector<bool> timeout_seq_;
|
| - bool pump_during_send_;
|
| -};
|
| -
|
| -class UnresponsiveClient : public Worker {
|
| - public:
|
| - explicit UnresponsiveClient(std::vector<bool> timeout_seq)
|
| - : Worker(Channel::MODE_CLIENT, "unresponsive_client"),
|
| - timeout_seq_(timeout_seq) {
|
| - }
|
| -
|
| - virtual void OnAnswerDelay(Message* reply_msg) OVERRIDE {
|
| - DCHECK(!timeout_seq_.empty());
|
| - if (!timeout_seq_[0]) {
|
| - SyncChannelTestMsg_AnswerToLife::WriteReplyParams(reply_msg, 42);
|
| - Send(reply_msg);
|
| - } else {
|
| - // Don't reply.
|
| - delete reply_msg;
|
| - }
|
| - timeout_seq_.erase(timeout_seq_.begin());
|
| - if (timeout_seq_.empty())
|
| - Done();
|
| - }
|
| -
|
| - private:
|
| - // Whether we should time-out or respond to the various messages we receive.
|
| - std::vector<bool> timeout_seq_;
|
| -};
|
| -
|
| -void SendWithTimeoutOK(bool pump_during_send) {
|
| - std::vector<Worker*> workers;
|
| - std::vector<bool> timeout_seq;
|
| - timeout_seq.push_back(false);
|
| - timeout_seq.push_back(false);
|
| - timeout_seq.push_back(false);
|
| - workers.push_back(new TimeoutServer(5000, timeout_seq, pump_during_send));
|
| - workers.push_back(new SimpleClient());
|
| - RunTest(workers);
|
| -}
|
| -
|
| -void SendWithTimeoutTimeout(bool pump_during_send) {
|
| - std::vector<Worker*> workers;
|
| - std::vector<bool> timeout_seq;
|
| - timeout_seq.push_back(true);
|
| - timeout_seq.push_back(false);
|
| - timeout_seq.push_back(false);
|
| - workers.push_back(new TimeoutServer(100, timeout_seq, pump_during_send));
|
| - workers.push_back(new UnresponsiveClient(timeout_seq));
|
| - RunTest(workers);
|
| -}
|
| -
|
| -void SendWithTimeoutMixedOKAndTimeout(bool pump_during_send) {
|
| - std::vector<Worker*> workers;
|
| - std::vector<bool> timeout_seq;
|
| - timeout_seq.push_back(true);
|
| - timeout_seq.push_back(false);
|
| - timeout_seq.push_back(false);
|
| - timeout_seq.push_back(true);
|
| - timeout_seq.push_back(false);
|
| - workers.push_back(new TimeoutServer(100, timeout_seq, pump_during_send));
|
| - workers.push_back(new UnresponsiveClient(timeout_seq));
|
| - RunTest(workers);
|
| -}
|
| -
|
| -// Tests that SendWithTimeout does not time-out if the response comes back fast
|
| -// enough.
|
| -TEST_F(IPCSyncChannelTest, SendWithTimeoutOK) {
|
| - SendWithTimeoutOK(false);
|
| - SendWithTimeoutOK(true);
|
| -}
|
| -
|
| -// Tests that SendWithTimeout does time-out.
|
| -TEST_F(IPCSyncChannelTest, SendWithTimeoutTimeout) {
|
| - SendWithTimeoutTimeout(false);
|
| - SendWithTimeoutTimeout(true);
|
| -}
|
| -
|
| -// Sends some message that time-out and some that succeed.
|
| -TEST_F(IPCSyncChannelTest, SendWithTimeoutMixedOKAndTimeout) {
|
| - SendWithTimeoutMixedOKAndTimeout(false);
|
| - SendWithTimeoutMixedOKAndTimeout(true);
|
| -}
|
| -
|
| -//------------------------------------------------------------------------------
|
| -
|
| void NestedCallback(Worker* server) {
|
| // Sleep a bit so that we wake up after the reply has been received.
|
| base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(250));
|
| - server->SendAnswerToLife(true, base::kNoTimeout, true);
|
| + server->SendAnswerToLife(true, true);
|
| }
|
|
|
| bool timeout_occurred = false;
|
| @@ -1014,7 +904,7 @@ class DoneEventRaceServer : public Worker {
|
| // bug, the reply message comes back and is deserialized, however the done
|
| // event wasn't set. So we indirectly use the timeout task to notice if a
|
| // timeout occurred.
|
| - SendAnswerToLife(true, 10000, true);
|
| + SendAnswerToLife(true, true);
|
| DCHECK(!timeout_occurred);
|
| Done();
|
| }
|
|
|