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

Side by Side Diff: ipc/ipc_sync_channel_unittest.cc

Issue 6973055: Removing 'using namespace' style violations in src/ipc/ (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Putting back the anonymous namespace Created 9 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Unit test for SyncChannel. 5 // Unit test for SyncChannel.
6 6
7 #include "ipc/ipc_sync_channel.h" 7 #include "ipc/ipc_sync_channel.h"
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/basictypes.h" 12 #include "base/basictypes.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "base/message_loop.h" 15 #include "base/message_loop.h"
16 #include "base/stl_util-inl.h" 16 #include "base/stl_util-inl.h"
17 #include "base/string_util.h" 17 #include "base/string_util.h"
18 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" 18 #include "base/third_party/dynamic_annotations/dynamic_annotations.h"
19 #include "base/threading/platform_thread.h" 19 #include "base/threading/platform_thread.h"
20 #include "base/threading/thread.h" 20 #include "base/threading/thread.h"
21 #include "base/synchronization/waitable_event.h" 21 #include "base/synchronization/waitable_event.h"
22 #include "ipc/ipc_message.h" 22 #include "ipc/ipc_message.h"
23 #include "ipc/ipc_sync_message_filter.h" 23 #include "ipc/ipc_sync_message_filter.h"
24 #include "ipc/ipc_sync_message_unittest.h" 24 #include "ipc/ipc_sync_message_unittest.h"
25 #include "testing/gtest/include/gtest/gtest.h" 25 #include "testing/gtest/include/gtest/gtest.h"
26 26
27 using namespace IPC;
28 using base::WaitableEvent; 27 using base::WaitableEvent;
29 28
29 namespace IPC {
30
30 namespace { 31 namespace {
31 32
32 // Base class for a "process" with listener and IPC threads. 33 // Base class for a "process" with listener and IPC threads.
33 class Worker : public Channel::Listener, public Message::Sender { 34 class Worker : public Channel::Listener, public Message::Sender {
34 public: 35 public:
35 // Will create a channel without a name. 36 // Will create a channel without a name.
36 Worker(Channel::Mode mode, const std::string& thread_name) 37 Worker(Channel::Mode mode, const std::string& thread_name)
37 : done_(new WaitableEvent(false, false)), 38 : done_(new WaitableEvent(false, false)),
38 channel_created_(new WaitableEvent(false, false)), 39 channel_created_(new WaitableEvent(false, false)),
39 mode_(mode), 40 mode_(mode),
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 } 121 }
121 Channel::Mode mode() { return mode_; } 122 Channel::Mode mode() { return mode_; }
122 WaitableEvent* done_event() { return done_.get(); } 123 WaitableEvent* done_event() { return done_.get(); }
123 WaitableEvent* shutdown_event() { return &shutdown_event_; } 124 WaitableEvent* shutdown_event() { return &shutdown_event_; }
124 void ResetChannel() { channel_.reset(); } 125 void ResetChannel() { channel_.reset(); }
125 // Derived classes need to call this when they've completed their part of 126 // Derived classes need to call this when they've completed their part of
126 // the test. 127 // the test.
127 void Done() { done_->Signal(); } 128 void Done() { done_->Signal(); }
128 129
129 protected: 130 protected:
130 IPC::SyncChannel* channel() { return channel_.get(); } 131 SyncChannel* channel() { return channel_.get(); }
131 // Functions for dervied classes to implement if they wish. 132 // Functions for dervied classes to implement if they wish.
132 virtual void Run() { } 133 virtual void Run() { }
133 virtual void OnAnswer(int* answer) { NOTREACHED(); } 134 virtual void OnAnswer(int* answer) { NOTREACHED(); }
134 virtual void OnAnswerDelay(Message* reply_msg) { 135 virtual void OnAnswerDelay(Message* reply_msg) {
135 // The message handler map below can only take one entry for 136 // The message handler map below can only take one entry for
136 // SyncChannelTestMsg_AnswerToLife, so since some classes want 137 // SyncChannelTestMsg_AnswerToLife, so since some classes want
137 // the normal version while other want the delayed reply, we 138 // the normal version while other want the delayed reply, we
138 // call the normal version if the derived class didn't override 139 // call the normal version if the derived class didn't override
139 // this function. 140 // this function.
140 int answer; 141 int answer;
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 // Tests that the caller unblocks to answer a sync message from the receiver. 454 // Tests that the caller unblocks to answer a sync message from the receiver.
454 TEST_F(IPCSyncChannelTest, Unblock) { 455 TEST_F(IPCSyncChannelTest, Unblock) {
455 Unblock(false, false, false); 456 Unblock(false, false, false);
456 Unblock(false, true, false); 457 Unblock(false, true, false);
457 Unblock(true, false, false); 458 Unblock(true, false, false);
458 Unblock(true, true, false); 459 Unblock(true, true, false);
459 } 460 }
460 461
461 //----------------------------------------------------------------------------- 462 //-----------------------------------------------------------------------------
462 463
463 // Tests that the the IPC::SyncChannel object can be deleted during a Send. 464 // Tests that the the SyncChannel object can be deleted during a Send.
464 TEST_F(IPCSyncChannelTest, ChannelDeleteDuringSend) { 465 TEST_F(IPCSyncChannelTest, ChannelDeleteDuringSend) {
465 Unblock(false, false, true); 466 Unblock(false, false, true);
466 Unblock(false, true, true); 467 Unblock(false, true, true);
467 Unblock(true, false, true); 468 Unblock(true, false, true);
468 Unblock(true, true, true); 469 Unblock(true, true, true);
469 } 470 }
470 471
471 //----------------------------------------------------------------------------- 472 //-----------------------------------------------------------------------------
472 473
473 namespace { 474 namespace {
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
1057 std::vector<Worker*> workers; 1058 std::vector<Worker*> workers;
1058 workers.push_back(new DoneEventRaceServer()); 1059 workers.push_back(new DoneEventRaceServer());
1059 workers.push_back(new SimpleClient()); 1060 workers.push_back(new SimpleClient());
1060 RunTest(workers); 1061 RunTest(workers);
1061 } 1062 }
1062 1063
1063 //----------------------------------------------------------------------------- 1064 //-----------------------------------------------------------------------------
1064 1065
1065 namespace { 1066 namespace {
1066 1067
1067 class TestSyncMessageFilter : public IPC::SyncMessageFilter { 1068 class TestSyncMessageFilter : public SyncMessageFilter {
1068 public: 1069 public:
1069 TestSyncMessageFilter(base::WaitableEvent* shutdown_event, Worker* worker) 1070 TestSyncMessageFilter(base::WaitableEvent* shutdown_event, Worker* worker)
1070 : SyncMessageFilter(shutdown_event), 1071 : SyncMessageFilter(shutdown_event),
1071 worker_(worker), 1072 worker_(worker),
1072 thread_("helper_thread") { 1073 thread_("helper_thread") {
1073 base::Thread::Options options; 1074 base::Thread::Options options;
1074 options.message_loop_type = MessageLoop::TYPE_DEFAULT; 1075 options.message_loop_type = MessageLoop::TYPE_DEFAULT;
1075 thread_.StartWithOptions(options); 1076 thread_.StartWithOptions(options);
1076 } 1077 }
1077 1078
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1171 namespace { 1172 namespace {
1172 1173
1173 class RestrictedDispatchServer : public Worker { 1174 class RestrictedDispatchServer : public Worker {
1174 public: 1175 public:
1175 RestrictedDispatchServer(WaitableEvent* sent_ping_event) 1176 RestrictedDispatchServer(WaitableEvent* sent_ping_event)
1176 : Worker("restricted_channel", Channel::MODE_SERVER), 1177 : Worker("restricted_channel", Channel::MODE_SERVER),
1177 sent_ping_event_(sent_ping_event) { } 1178 sent_ping_event_(sent_ping_event) { }
1178 1179
1179 void OnDoPing(int ping) { 1180 void OnDoPing(int ping) {
1180 // Send an asynchronous message that unblocks the caller. 1181 // Send an asynchronous message that unblocks the caller.
1181 IPC::Message* msg = new SyncChannelTestMsg_Ping(ping); 1182 Message* msg = new SyncChannelTestMsg_Ping(ping);
1182 msg->set_unblock(true); 1183 msg->set_unblock(true);
1183 Send(msg); 1184 Send(msg);
1184 // Signal the event after the message has been sent on the channel, on the 1185 // Signal the event after the message has been sent on the channel, on the
1185 // IPC thread. 1186 // IPC thread.
1186 ipc_thread().message_loop()->PostTask(FROM_HERE, 1187 ipc_thread().message_loop()->PostTask(FROM_HERE,
1187 NewRunnableMethod(this, &RestrictedDispatchServer::OnPingSent)); 1188 NewRunnableMethod(this, &RestrictedDispatchServer::OnPingSent));
1188 } 1189 }
1189 1190
1190 base::Thread* ListenerThread() { return Worker::ListenerThread(); } 1191 base::Thread* ListenerThread() { return Worker::ListenerThread(); }
1191 1192
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1308 new RestrictedDispatchServer(&sent_ping_event); 1309 new RestrictedDispatchServer(&sent_ping_event);
1309 int success = 0; 1310 int success = 0;
1310 std::vector<Worker*> workers; 1311 std::vector<Worker*> workers;
1311 workers.push_back(new NonRestrictedDispatchServer); 1312 workers.push_back(new NonRestrictedDispatchServer);
1312 workers.push_back(server); 1313 workers.push_back(server);
1313 workers.push_back( 1314 workers.push_back(
1314 new RestrictedDispatchClient(&sent_ping_event, server, &success)); 1315 new RestrictedDispatchClient(&sent_ping_event, server, &success));
1315 RunTest(workers); 1316 RunTest(workers);
1316 EXPECT_EQ(3, success); 1317 EXPECT_EQ(3, success);
1317 } 1318 }
1319
1320 } // namespace IPC
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698