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

Side by Side Diff: mojo/edk/system/ports/ports_unittest.cc

Issue 2466993004: Remove use of std::function from Mojo internals (Closed)
Patch Set: . Created 4 years, 1 month 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 | « mojo/edk/system/ports/node.cc ('k') | 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <inttypes.h> 5 #include <inttypes.h>
6 #include <stdio.h> 6 #include <stdio.h>
7 #include <stdlib.h> 7 #include <stdlib.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 base::AutoLock lock(lock_); 165 base::AutoLock lock(lock_);
166 drop_messages_ = value; 166 drop_messages_ = value;
167 } 167 }
168 168
169 void set_save_messages(bool value) { 169 void set_save_messages(bool value) {
170 base::AutoLock lock(lock_); 170 base::AutoLock lock(lock_);
171 save_messages_ = value; 171 save_messages_ = value;
172 } 172 }
173 173
174 bool ReadMessage(const PortRef& port, ScopedMessage* message) { 174 bool ReadMessage(const PortRef& port, ScopedMessage* message) {
175 return node_.GetMessage(port, message) == OK && *message; 175 return node_.GetMessage(port, message, nullptr) == OK && *message;
176 } 176 }
177 177
178 bool GetSavedMessage(ScopedMessage* message) { 178 bool GetSavedMessage(ScopedMessage* message) {
179 base::AutoLock lock(lock_); 179 base::AutoLock lock(lock_);
180 if (saved_messages_.empty()) { 180 if (saved_messages_.empty()) {
181 message->reset(); 181 message->reset();
182 return false; 182 return false;
183 } 183 }
184 std::swap(*message, saved_messages_.front()); 184 std::swap(*message, saved_messages_.front());
185 saved_messages_.pop(); 185 saved_messages_.pop();
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 WaitForIdle(); 574 WaitForIdle();
575 575
576 node1.set_drop_messages(true); 576 node1.set_drop_messages(true);
577 577
578 RemoveNode(&node1); 578 RemoveNode(&node1);
579 579
580 WaitForIdle(); 580 WaitForIdle();
581 581
582 // a0 should have eventually detected peer closure after node loss. 582 // a0 should have eventually detected peer closure after node loss.
583 ScopedMessage message; 583 ScopedMessage message;
584 EXPECT_EQ(ERROR_PORT_PEER_CLOSED, node0.node().GetMessage(a0, &message)); 584 EXPECT_EQ(ERROR_PORT_PEER_CLOSED,
585 node0.node().GetMessage(a0, &message, nullptr));
585 EXPECT_FALSE(message); 586 EXPECT_FALSE(message);
586 587
587 EXPECT_EQ(OK, node0.node().ClosePort(a0)); 588 EXPECT_EQ(OK, node0.node().ClosePort(a0));
588 589
589 EXPECT_EQ(OK, node0.node().ClosePort(x0)); 590 EXPECT_EQ(OK, node0.node().ClosePort(x0));
590 591
591 EXPECT_EQ(OK, node1.node().GetMessage(x1, &message)); 592 EXPECT_EQ(OK, node1.node().GetMessage(x1, &message, nullptr));
592 EXPECT_TRUE(message); 593 EXPECT_TRUE(message);
593 node1.ClosePortsInMessage(message.get()); 594 node1.ClosePortsInMessage(message.get());
594 595
595 EXPECT_EQ(OK, node1.node().ClosePort(x1)); 596 EXPECT_EQ(OK, node1.node().ClosePort(x1));
596 597
597 WaitForIdle(); 598 WaitForIdle();
598 599
599 EXPECT_TRUE(node0.node().CanShutdownCleanly()); 600 EXPECT_TRUE(node0.node().CanShutdownCleanly());
600 EXPECT_TRUE(node1.node().CanShutdownCleanly()); 601 EXPECT_TRUE(node1.node().CanShutdownCleanly());
601 } 602 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 } 719 }
719 720
720 TEST_F(PortsTest, GetMessage1) { 721 TEST_F(PortsTest, GetMessage1) {
721 TestNode node(0); 722 TestNode node(0);
722 AddNode(&node); 723 AddNode(&node);
723 724
724 PortRef a0, a1; 725 PortRef a0, a1;
725 EXPECT_EQ(OK, node.node().CreatePortPair(&a0, &a1)); 726 EXPECT_EQ(OK, node.node().CreatePortPair(&a0, &a1));
726 727
727 ScopedMessage message; 728 ScopedMessage message;
728 EXPECT_EQ(OK, node.node().GetMessage(a0, &message)); 729 EXPECT_EQ(OK, node.node().GetMessage(a0, &message, nullptr));
729 EXPECT_FALSE(message); 730 EXPECT_FALSE(message);
730 731
731 EXPECT_EQ(OK, node.node().ClosePort(a1)); 732 EXPECT_EQ(OK, node.node().ClosePort(a1));
732 733
733 WaitForIdle(); 734 WaitForIdle();
734 735
735 EXPECT_EQ(ERROR_PORT_PEER_CLOSED, node.node().GetMessage(a0, &message)); 736 EXPECT_EQ(ERROR_PORT_PEER_CLOSED,
737 node.node().GetMessage(a0, &message, nullptr));
736 EXPECT_FALSE(message); 738 EXPECT_FALSE(message);
737 739
738 EXPECT_EQ(OK, node.node().ClosePort(a0)); 740 EXPECT_EQ(OK, node.node().ClosePort(a0));
739 741
740 WaitForIdle(); 742 WaitForIdle();
741 743
742 EXPECT_TRUE(node.node().CanShutdownCleanly()); 744 EXPECT_TRUE(node.node().CanShutdownCleanly());
743 } 745 }
744 746
745 TEST_F(PortsTest, GetMessage2) { 747 TEST_F(PortsTest, GetMessage2) {
746 TestNode node(0); 748 TestNode node(0);
747 AddNode(&node); 749 AddNode(&node);
748 750
749 PortRef a0, a1; 751 PortRef a0, a1;
750 EXPECT_EQ(OK, node.node().CreatePortPair(&a0, &a1)); 752 EXPECT_EQ(OK, node.node().CreatePortPair(&a0, &a1));
751 753
752 EXPECT_EQ(OK, node.SendStringMessage(a1, "1")); 754 EXPECT_EQ(OK, node.SendStringMessage(a1, "1"));
753 755
754 ScopedMessage message; 756 ScopedMessage message;
755 EXPECT_EQ(OK, node.node().GetMessage(a0, &message)); 757 EXPECT_EQ(OK, node.node().GetMessage(a0, &message, nullptr));
756 758
757 ASSERT_TRUE(message); 759 ASSERT_TRUE(message);
758 EXPECT_TRUE(MessageEquals(message, "1")); 760 EXPECT_TRUE(MessageEquals(message, "1"));
759 761
760 EXPECT_EQ(OK, node.node().ClosePort(a0)); 762 EXPECT_EQ(OK, node.node().ClosePort(a0));
761 EXPECT_EQ(OK, node.node().ClosePort(a1)); 763 EXPECT_EQ(OK, node.node().ClosePort(a1));
762 764
763 EXPECT_TRUE(node.node().CanShutdownCleanly()); 765 EXPECT_TRUE(node.node().CanShutdownCleanly());
764 } 766 }
765 767
766 TEST_F(PortsTest, GetMessage3) { 768 TEST_F(PortsTest, GetMessage3) {
767 TestNode node(0); 769 TestNode node(0);
768 AddNode(&node); 770 AddNode(&node);
769 771
770 PortRef a0, a1; 772 PortRef a0, a1;
771 EXPECT_EQ(OK, node.node().CreatePortPair(&a0, &a1)); 773 EXPECT_EQ(OK, node.node().CreatePortPair(&a0, &a1));
772 774
773 const char* kStrings[] = { 775 const char* kStrings[] = {
774 "1", 776 "1",
775 "2", 777 "2",
776 "3" 778 "3"
777 }; 779 };
778 780
779 for (size_t i = 0; i < sizeof(kStrings)/sizeof(kStrings[0]); ++i) 781 for (size_t i = 0; i < sizeof(kStrings)/sizeof(kStrings[0]); ++i)
780 EXPECT_EQ(OK, node.SendStringMessage(a1, kStrings[i])); 782 EXPECT_EQ(OK, node.SendStringMessage(a1, kStrings[i]));
781 783
782 ScopedMessage message; 784 ScopedMessage message;
783 for (size_t i = 0; i < sizeof(kStrings)/sizeof(kStrings[0]); ++i) { 785 for (size_t i = 0; i < sizeof(kStrings)/sizeof(kStrings[0]); ++i) {
784 EXPECT_EQ(OK, node.node().GetMessage(a0, &message)); 786 EXPECT_EQ(OK, node.node().GetMessage(a0, &message, nullptr));
785 ASSERT_TRUE(message); 787 ASSERT_TRUE(message);
786 EXPECT_TRUE(MessageEquals(message, kStrings[i])); 788 EXPECT_TRUE(MessageEquals(message, kStrings[i]));
787 } 789 }
788 790
789 EXPECT_EQ(OK, node.node().ClosePort(a0)); 791 EXPECT_EQ(OK, node.node().ClosePort(a0));
790 EXPECT_EQ(OK, node.node().ClosePort(a1)); 792 EXPECT_EQ(OK, node.node().ClosePort(a1));
791 793
792 EXPECT_TRUE(node.node().CanShutdownCleanly()); 794 EXPECT_TRUE(node.node().CanShutdownCleanly());
793 } 795 }
794 796
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after
1467 1469
1468 // Expect everything to have gone away. 1470 // Expect everything to have gone away.
1469 EXPECT_TRUE(node0.node().CanShutdownCleanly()); 1471 EXPECT_TRUE(node0.node().CanShutdownCleanly());
1470 EXPECT_TRUE(node1.node().CanShutdownCleanly()); 1472 EXPECT_TRUE(node1.node().CanShutdownCleanly());
1471 } 1473 }
1472 1474
1473 } // namespace test 1475 } // namespace test
1474 } // namespace ports 1476 } // namespace ports
1475 } // namespace edk 1477 } // namespace edk
1476 } // namespace mojo 1478 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/ports/node.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698