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

Side by Side Diff: ipc/mojo/ipc_channel_mojo_unittest.cc

Issue 2055683002: Quit the test child message loop on connection error. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 unified diff | Download patch
« 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "ipc/mojo/ipc_channel_mojo.h" 5 #include "ipc/mojo/ipc_channel_mojo.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 373
374 class ListenerThatExpectsMessagePipe : public IPC::Listener { 374 class ListenerThatExpectsMessagePipe : public IPC::Listener {
375 public: 375 public:
376 ListenerThatExpectsMessagePipe() : sender_(NULL) {} 376 ListenerThatExpectsMessagePipe() : sender_(NULL) {}
377 377
378 ~ListenerThatExpectsMessagePipe() override {} 378 ~ListenerThatExpectsMessagePipe() override {}
379 379
380 bool OnMessageReceived(const IPC::Message& message) override { 380 bool OnMessageReceived(const IPC::Message& message) override {
381 base::PickleIterator iter(message); 381 base::PickleIterator iter(message);
382 HandleSendingHelper::ReadReceivedPipe(message, &iter); 382 HandleSendingHelper::ReadReceivedPipe(message, &iter);
383 base::MessageLoop::current()->QuitWhenIdle();
384 ListenerThatExpectsOK::SendOK(sender_); 383 ListenerThatExpectsOK::SendOK(sender_);
385 return true; 384 return true;
386 } 385 }
387 386
388 void OnChannelError() override { NOTREACHED(); } 387 void OnChannelError() override {
388 base::MessageLoop::current()->QuitWhenIdle();
389 }
389 390
390 void set_sender(IPC::Sender* sender) { sender_ = sender; } 391 void set_sender(IPC::Sender* sender) { sender_ = sender; }
391 392
392 private: 393 private:
393 IPC::Sender* sender_; 394 IPC::Sender* sender_;
394 }; 395 };
395 396
396 TEST_F(IPCChannelMojoTest, SendMessagePipe) { 397 TEST_F(IPCChannelMojoTest, SendMessagePipe) {
397 InitWithMojo("IPCChannelMojoTestSendMessagePipeClient"); 398 InitWithMojo("IPCChannelMojoTestSendMessagePipeClient");
398 399
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 base::PickleIterator iter(message); 451 base::PickleIterator iter(message);
451 mojo::MessagePipeHandle handle; 452 mojo::MessagePipeHandle handle;
452 EXPECT_TRUE(IPC::ParamTraits<mojo::MessagePipeHandle>::Read(&message, &iter, 453 EXPECT_TRUE(IPC::ParamTraits<mojo::MessagePipeHandle>::Read(&message, &iter,
453 &handle)); 454 &handle));
454 EXPECT_EQ(handle.is_valid(), receiving_valid_); 455 EXPECT_EQ(handle.is_valid(), receiving_valid_);
455 if (receiving_valid_) { 456 if (receiving_valid_) {
456 ReadOK(handle); 457 ReadOK(handle);
457 MojoClose(handle.value()); 458 MojoClose(handle.value());
458 } 459 }
459 460
460 base::MessageLoop::current()->QuitWhenIdle();
461 ListenerThatExpectsOK::SendOK(sender_); 461 ListenerThatExpectsOK::SendOK(sender_);
462 return true; 462 return true;
463 } 463 }
464 464
465 void OnChannelError() override { NOTREACHED(); } 465 void OnChannelError() override {
466 base::MessageLoop::current()->QuitWhenIdle();
467 }
468
466 void set_sender(IPC::Sender* sender) { sender_ = sender; } 469 void set_sender(IPC::Sender* sender) { sender_ = sender; }
467 470
468 private: 471 private:
469 IPC::Sender* sender_; 472 IPC::Sender* sender_;
470 bool receiving_valid_; 473 bool receiving_valid_;
471 }; 474 };
472 475
473 class ParamTraitMessagePipeClient : public ChannelClient { 476 class ParamTraitMessagePipeClient : public ChannelClient {
474 public: 477 public:
475 void RunTest(bool receiving_valid_handle) { 478 void RunTest(bool receiving_valid_handle) {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 #if defined(OS_POSIX) 585 #if defined(OS_POSIX)
583 class ListenerThatExpectsFile : public IPC::Listener { 586 class ListenerThatExpectsFile : public IPC::Listener {
584 public: 587 public:
585 ListenerThatExpectsFile() : sender_(NULL) {} 588 ListenerThatExpectsFile() : sender_(NULL) {}
586 589
587 ~ListenerThatExpectsFile() override {} 590 ~ListenerThatExpectsFile() override {}
588 591
589 bool OnMessageReceived(const IPC::Message& message) override { 592 bool OnMessageReceived(const IPC::Message& message) override {
590 base::PickleIterator iter(message); 593 base::PickleIterator iter(message);
591 HandleSendingHelper::ReadReceivedFile(message, &iter); 594 HandleSendingHelper::ReadReceivedFile(message, &iter);
592 base::MessageLoop::current()->QuitWhenIdle();
593 ListenerThatExpectsOK::SendOK(sender_); 595 ListenerThatExpectsOK::SendOK(sender_);
594 return true; 596 return true;
595 } 597 }
596 598
597 void OnChannelError() override { NOTREACHED(); } 599 void OnChannelError() override {
600 base::MessageLoop::current()->QuitWhenIdle();
601 }
598 602
599 void set_sender(IPC::Sender* sender) { sender_ = sender; } 603 void set_sender(IPC::Sender* sender) { sender_ = sender; }
600 604
601 private: 605 private:
602 IPC::Sender* sender_; 606 IPC::Sender* sender_;
603 }; 607 };
604 608
605 TEST_F(IPCChannelMojoTest, SendPlatformHandle) { 609 TEST_F(IPCChannelMojoTest, SendPlatformHandle) {
606 InitWithMojo("IPCChannelMojoTestSendPlatformHandleClient"); 610 InitWithMojo("IPCChannelMojoTestSendPlatformHandleClient");
607 611
(...skipping 27 matching lines...) Expand all
635 class ListenerThatExpectsFileAndPipe : public IPC::Listener { 639 class ListenerThatExpectsFileAndPipe : public IPC::Listener {
636 public: 640 public:
637 ListenerThatExpectsFileAndPipe() : sender_(NULL) {} 641 ListenerThatExpectsFileAndPipe() : sender_(NULL) {}
638 642
639 ~ListenerThatExpectsFileAndPipe() override {} 643 ~ListenerThatExpectsFileAndPipe() override {}
640 644
641 bool OnMessageReceived(const IPC::Message& message) override { 645 bool OnMessageReceived(const IPC::Message& message) override {
642 base::PickleIterator iter(message); 646 base::PickleIterator iter(message);
643 HandleSendingHelper::ReadReceivedFile(message, &iter); 647 HandleSendingHelper::ReadReceivedFile(message, &iter);
644 HandleSendingHelper::ReadReceivedPipe(message, &iter); 648 HandleSendingHelper::ReadReceivedPipe(message, &iter);
645 base::MessageLoop::current()->QuitWhenIdle();
646 ListenerThatExpectsOK::SendOK(sender_); 649 ListenerThatExpectsOK::SendOK(sender_);
647 return true; 650 return true;
648 } 651 }
649 652
650 void OnChannelError() override { NOTREACHED(); } 653 void OnChannelError() override {
654 base::MessageLoop::current()->QuitWhenIdle();
655 }
651 656
652 void set_sender(IPC::Sender* sender) { sender_ = sender; } 657 void set_sender(IPC::Sender* sender) { sender_ = sender; }
653 658
654 private: 659 private:
655 IPC::Sender* sender_; 660 IPC::Sender* sender_;
656 }; 661 };
657 662
658 TEST_F(IPCChannelMojoTest, SendPlatformHandleAndPipe) { 663 TEST_F(IPCChannelMojoTest, SendPlatformHandleAndPipe) {
659 InitWithMojo("IPCChannelMojoTestSendPlatformHandleAndPipeClient"); 664 InitWithMojo("IPCChannelMojoTestSendPlatformHandleAndPipeClient");
660 665
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 Connect(&listener); 732 Connect(&listener);
728 733
729 base::MessageLoop::current()->Run(); 734 base::MessageLoop::current()->Run();
730 735
731 Close(); 736 Close();
732 } 737 }
733 738
734 #endif // OS_LINUX 739 #endif // OS_LINUX
735 740
736 } // namespace 741 } // namespace
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