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

Side by Side Diff: ipc/ipc_channel_posix_unittest.cc

Issue 191483002: Get rid of multiprocess_test's debug_on_start arguments. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: restore ipc_switches.* Created 6 years, 9 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 | « content/common/sandbox_mac_unittest_helper.mm ('k') | ipc/ipc_test_base.cc » ('j') | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // These tests are POSIX only. 5 // These tests are POSIX only.
6 6
7 #include "ipc/ipc_channel_posix.h" 7 #include "ipc/ipc_channel_posix.h"
8 8
9 #include <fcntl.h> 9 #include <fcntl.h>
10 #include <sys/socket.h> 10 #include <sys/socket.h>
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 TEST_F(IPCChannelPosixTest, AdvancedConnected) { 278 TEST_F(IPCChannelPosixTest, AdvancedConnected) {
279 // Test creating a connection to an external process. 279 // Test creating a connection to an external process.
280 IPCChannelPosixTestListener listener(false); 280 IPCChannelPosixTestListener listener(false);
281 IPC::ChannelHandle chan_handle(GetConnectionSocketName()); 281 IPC::ChannelHandle chan_handle(GetConnectionSocketName());
282 SetUpSocket(&chan_handle, IPC::Channel::MODE_NAMED_SERVER); 282 SetUpSocket(&chan_handle, IPC::Channel::MODE_NAMED_SERVER);
283 IPC::Channel channel(chan_handle, IPC::Channel::MODE_NAMED_SERVER, &listener); 283 IPC::Channel channel(chan_handle, IPC::Channel::MODE_NAMED_SERVER, &listener);
284 ASSERT_TRUE(channel.Connect()); 284 ASSERT_TRUE(channel.Connect());
285 ASSERT_TRUE(channel.AcceptsConnections()); 285 ASSERT_TRUE(channel.AcceptsConnections());
286 ASSERT_FALSE(channel.HasAcceptedConnection()); 286 ASSERT_FALSE(channel.HasAcceptedConnection());
287 287
288 base::ProcessHandle handle = SpawnChild("IPCChannelPosixTestConnectionProc", 288 base::ProcessHandle handle = SpawnChild("IPCChannelPosixTestConnectionProc");
289 false);
290 ASSERT_TRUE(handle); 289 ASSERT_TRUE(handle);
291 SpinRunLoop(TestTimeouts::action_max_timeout()); 290 SpinRunLoop(TestTimeouts::action_max_timeout());
292 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status()); 291 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status());
293 ASSERT_TRUE(channel.HasAcceptedConnection()); 292 ASSERT_TRUE(channel.HasAcceptedConnection());
294 IPC::Message* message = new IPC::Message(0, // routing_id 293 IPC::Message* message = new IPC::Message(0, // routing_id
295 kQuitMessage, // message type 294 kQuitMessage, // message type
296 IPC::Message::PRIORITY_NORMAL); 295 IPC::Message::PRIORITY_NORMAL);
297 channel.Send(message); 296 channel.Send(message);
298 SpinRunLoop(TestTimeouts::action_timeout()); 297 SpinRunLoop(TestTimeouts::action_timeout());
299 int exit_code = 0; 298 int exit_code = 0;
300 EXPECT_TRUE(base::WaitForExitCode(handle, &exit_code)); 299 EXPECT_TRUE(base::WaitForExitCode(handle, &exit_code));
301 EXPECT_EQ(0, exit_code); 300 EXPECT_EQ(0, exit_code);
302 ASSERT_EQ(IPCChannelPosixTestListener::CHANNEL_ERROR, listener.status()); 301 ASSERT_EQ(IPCChannelPosixTestListener::CHANNEL_ERROR, listener.status());
303 ASSERT_FALSE(channel.HasAcceptedConnection()); 302 ASSERT_FALSE(channel.HasAcceptedConnection());
304 } 303 }
305 304
306 TEST_F(IPCChannelPosixTest, ResetState) { 305 TEST_F(IPCChannelPosixTest, ResetState) {
307 // Test creating a connection to an external process. Close the connection, 306 // Test creating a connection to an external process. Close the connection,
308 // but continue to listen and make sure another external process can connect 307 // but continue to listen and make sure another external process can connect
309 // to us. 308 // to us.
310 IPCChannelPosixTestListener listener(false); 309 IPCChannelPosixTestListener listener(false);
311 IPC::ChannelHandle chan_handle(GetConnectionSocketName()); 310 IPC::ChannelHandle chan_handle(GetConnectionSocketName());
312 SetUpSocket(&chan_handle, IPC::Channel::MODE_NAMED_SERVER); 311 SetUpSocket(&chan_handle, IPC::Channel::MODE_NAMED_SERVER);
313 IPC::Channel channel(chan_handle, IPC::Channel::MODE_NAMED_SERVER, &listener); 312 IPC::Channel channel(chan_handle, IPC::Channel::MODE_NAMED_SERVER, &listener);
314 ASSERT_TRUE(channel.Connect()); 313 ASSERT_TRUE(channel.Connect());
315 ASSERT_TRUE(channel.AcceptsConnections()); 314 ASSERT_TRUE(channel.AcceptsConnections());
316 ASSERT_FALSE(channel.HasAcceptedConnection()); 315 ASSERT_FALSE(channel.HasAcceptedConnection());
317 316
318 base::ProcessHandle handle = SpawnChild("IPCChannelPosixTestConnectionProc", 317 base::ProcessHandle handle = SpawnChild("IPCChannelPosixTestConnectionProc");
319 false);
320 ASSERT_TRUE(handle); 318 ASSERT_TRUE(handle);
321 SpinRunLoop(TestTimeouts::action_max_timeout()); 319 SpinRunLoop(TestTimeouts::action_max_timeout());
322 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status()); 320 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status());
323 ASSERT_TRUE(channel.HasAcceptedConnection()); 321 ASSERT_TRUE(channel.HasAcceptedConnection());
324 channel.ResetToAcceptingConnectionState(); 322 channel.ResetToAcceptingConnectionState();
325 ASSERT_FALSE(channel.HasAcceptedConnection()); 323 ASSERT_FALSE(channel.HasAcceptedConnection());
326 324
327 base::ProcessHandle handle2 = SpawnChild("IPCChannelPosixTestConnectionProc", 325 base::ProcessHandle handle2 = SpawnChild("IPCChannelPosixTestConnectionProc");
328 false);
329 ASSERT_TRUE(handle2); 326 ASSERT_TRUE(handle2);
330 SpinRunLoop(TestTimeouts::action_max_timeout()); 327 SpinRunLoop(TestTimeouts::action_max_timeout());
331 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status()); 328 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status());
332 ASSERT_TRUE(channel.HasAcceptedConnection()); 329 ASSERT_TRUE(channel.HasAcceptedConnection());
333 IPC::Message* message = new IPC::Message(0, // routing_id 330 IPC::Message* message = new IPC::Message(0, // routing_id
334 kQuitMessage, // message type 331 kQuitMessage, // message type
335 IPC::Message::PRIORITY_NORMAL); 332 IPC::Message::PRIORITY_NORMAL);
336 channel.Send(message); 333 channel.Send(message);
337 SpinRunLoop(TestTimeouts::action_timeout()); 334 SpinRunLoop(TestTimeouts::action_timeout());
338 EXPECT_TRUE(base::KillProcess(handle, 0, false)); 335 EXPECT_TRUE(base::KillProcess(handle, 0, false));
(...skipping 28 matching lines...) Expand all
367 // Test setting up a connection to an external process, and then have 364 // Test setting up a connection to an external process, and then have
368 // another external process attempt to connect to us. 365 // another external process attempt to connect to us.
369 IPCChannelPosixTestListener listener(false); 366 IPCChannelPosixTestListener listener(false);
370 IPC::ChannelHandle chan_handle(GetConnectionSocketName()); 367 IPC::ChannelHandle chan_handle(GetConnectionSocketName());
371 SetUpSocket(&chan_handle, IPC::Channel::MODE_NAMED_SERVER); 368 SetUpSocket(&chan_handle, IPC::Channel::MODE_NAMED_SERVER);
372 IPC::Channel channel(chan_handle, IPC::Channel::MODE_NAMED_SERVER, &listener); 369 IPC::Channel channel(chan_handle, IPC::Channel::MODE_NAMED_SERVER, &listener);
373 ASSERT_TRUE(channel.Connect()); 370 ASSERT_TRUE(channel.Connect());
374 ASSERT_TRUE(channel.AcceptsConnections()); 371 ASSERT_TRUE(channel.AcceptsConnections());
375 ASSERT_FALSE(channel.HasAcceptedConnection()); 372 ASSERT_FALSE(channel.HasAcceptedConnection());
376 373
377 base::ProcessHandle handle = SpawnChild("IPCChannelPosixTestConnectionProc", 374 base::ProcessHandle handle = SpawnChild("IPCChannelPosixTestConnectionProc");
378 false);
379 ASSERT_TRUE(handle); 375 ASSERT_TRUE(handle);
380 SpinRunLoop(TestTimeouts::action_max_timeout()); 376 SpinRunLoop(TestTimeouts::action_max_timeout());
381 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status()); 377 ASSERT_EQ(IPCChannelPosixTestListener::CONNECTED, listener.status());
382 ASSERT_TRUE(channel.HasAcceptedConnection()); 378 ASSERT_TRUE(channel.HasAcceptedConnection());
383 base::ProcessHandle handle2 = SpawnChild("IPCChannelPosixFailConnectionProc", 379 base::ProcessHandle handle2 = SpawnChild("IPCChannelPosixFailConnectionProc");
384 false);
385 ASSERT_TRUE(handle2); 380 ASSERT_TRUE(handle2);
386 SpinRunLoop(TestTimeouts::action_max_timeout()); 381 SpinRunLoop(TestTimeouts::action_max_timeout());
387 int exit_code = 0; 382 int exit_code = 0;
388 EXPECT_TRUE(base::WaitForExitCode(handle2, &exit_code)); 383 EXPECT_TRUE(base::WaitForExitCode(handle2, &exit_code));
389 EXPECT_EQ(exit_code, 0); 384 EXPECT_EQ(exit_code, 0);
390 ASSERT_EQ(IPCChannelPosixTestListener::DENIED, listener.status()); 385 ASSERT_EQ(IPCChannelPosixTestListener::DENIED, listener.status());
391 ASSERT_TRUE(channel.HasAcceptedConnection()); 386 ASSERT_TRUE(channel.HasAcceptedConnection());
392 IPC::Message* message = new IPC::Message(0, // routing_id 387 IPC::Message* message = new IPC::Message(0, // routing_id
393 kQuitMessage, // message type 388 kQuitMessage, // message type
394 IPC::Message::PRIORITY_NORMAL); 389 IPC::Message::PRIORITY_NORMAL);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 if (connected) { 459 if (connected) {
465 IPCChannelPosixTest::SpinRunLoop(TestTimeouts::action_max_timeout()); 460 IPCChannelPosixTest::SpinRunLoop(TestTimeouts::action_max_timeout());
466 EXPECT_EQ(IPCChannelPosixTestListener::CHANNEL_ERROR, listener.status()); 461 EXPECT_EQ(IPCChannelPosixTestListener::CHANNEL_ERROR, listener.status());
467 } else { 462 } else {
468 EXPECT_EQ(IPCChannelPosixTestListener::DISCONNECTED, listener.status()); 463 EXPECT_EQ(IPCChannelPosixTestListener::DISCONNECTED, listener.status());
469 } 464 }
470 return 0; 465 return 0;
471 } 466 }
472 467
473 } // namespace 468 } // namespace
OLDNEW
« no previous file with comments | « content/common/sandbox_mac_unittest_helper.mm ('k') | ipc/ipc_test_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698