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

Side by Side Diff: mojo/edk/system/remote_message_pipe_unittest.cc

Issue 1160203002: Make Dispatcher::Type an enum class. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 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
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 <stdint.h> 5 #include <stdint.h>
6 #include <stdio.h> 6 #include <stdio.h>
7 #include <string.h> 7 #include <string.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 mp1->ReadMessage(1, UserPointer<void>(read_buffer), 667 mp1->ReadMessage(1, UserPointer<void>(read_buffer),
668 MakeUserPointer(&read_buffer_size), &read_dispatchers, 668 MakeUserPointer(&read_buffer_size), &read_dispatchers,
669 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE)); 669 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE));
670 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size)); 670 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size));
671 EXPECT_STREQ(kHello, read_buffer); 671 EXPECT_STREQ(kHello, read_buffer);
672 EXPECT_EQ(1u, read_dispatchers.size()); 672 EXPECT_EQ(1u, read_dispatchers.size());
673 EXPECT_EQ(1u, read_num_dispatchers); 673 EXPECT_EQ(1u, read_num_dispatchers);
674 ASSERT_TRUE(read_dispatchers[0]); 674 ASSERT_TRUE(read_dispatchers[0]);
675 EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); 675 EXPECT_TRUE(read_dispatchers[0]->HasOneRef());
676 676
677 EXPECT_EQ(Dispatcher::kTypeMessagePipe, read_dispatchers[0]->GetType()); 677 EXPECT_EQ(Dispatcher::Type::MESSAGE_PIPE, read_dispatchers[0]->GetType());
678 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get()); 678 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get());
679 679
680 // Add the waiter now, before it becomes readable to avoid a race. 680 // Add the waiter now, before it becomes readable to avoid a race.
681 waiter.Init(); 681 waiter.Init();
682 ASSERT_EQ(MOJO_RESULT_OK, 682 ASSERT_EQ(MOJO_RESULT_OK,
683 dispatcher->AddAwakable(&waiter, MOJO_HANDLE_SIGNAL_READABLE, 456, 683 dispatcher->AddAwakable(&waiter, MOJO_HANDLE_SIGNAL_READABLE, 456,
684 nullptr)); 684 nullptr));
685 685
686 // Write to "local_mp", port 1. 686 // Write to "local_mp", port 1.
687 EXPECT_EQ( 687 EXPECT_EQ(
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 mp1->ReadMessage(1, UserPointer<void>(read_buffer), 841 mp1->ReadMessage(1, UserPointer<void>(read_buffer),
842 MakeUserPointer(&read_buffer_size), &read_dispatchers, 842 MakeUserPointer(&read_buffer_size), &read_dispatchers,
843 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE)); 843 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE));
844 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size)); 844 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size));
845 EXPECT_STREQ(kHello, read_buffer); 845 EXPECT_STREQ(kHello, read_buffer);
846 EXPECT_EQ(1u, read_dispatchers.size()); 846 EXPECT_EQ(1u, read_dispatchers.size());
847 EXPECT_EQ(1u, read_num_dispatchers); 847 EXPECT_EQ(1u, read_num_dispatchers);
848 ASSERT_TRUE(read_dispatchers[0]); 848 ASSERT_TRUE(read_dispatchers[0]);
849 EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); 849 EXPECT_TRUE(read_dispatchers[0]->HasOneRef());
850 850
851 EXPECT_EQ(Dispatcher::kTypeMessagePipe, read_dispatchers[0]->GetType()); 851 EXPECT_EQ(Dispatcher::Type::MESSAGE_PIPE, read_dispatchers[0]->GetType());
852 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get()); 852 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get());
853 853
854 // |dispatcher| should already be readable and not writable. 854 // |dispatcher| should already be readable and not writable.
855 hss = dispatcher->GetHandleSignalsState(); 855 hss = dispatcher->GetHandleSignalsState();
856 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, 856 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
857 hss.satisfied_signals); 857 hss.satisfied_signals);
858 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED, 858 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
859 hss.satisfiable_signals); 859 hss.satisfiable_signals);
860 // So read from it. 860 // So read from it.
861 memset(read_buffer, 0, sizeof(read_buffer)); 861 memset(read_buffer, 0, sizeof(read_buffer));
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 mp1->ReadMessage(1, UserPointer<void>(read_buffer), 975 mp1->ReadMessage(1, UserPointer<void>(read_buffer),
976 MakeUserPointer(&read_buffer_size), &read_dispatchers, 976 MakeUserPointer(&read_buffer_size), &read_dispatchers,
977 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE)); 977 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE));
978 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size)); 978 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size));
979 EXPECT_STREQ(kHello, read_buffer); 979 EXPECT_STREQ(kHello, read_buffer);
980 EXPECT_EQ(1u, read_dispatchers.size()); 980 EXPECT_EQ(1u, read_dispatchers.size());
981 EXPECT_EQ(1u, read_num_dispatchers); 981 EXPECT_EQ(1u, read_num_dispatchers);
982 ASSERT_TRUE(read_dispatchers[0]); 982 ASSERT_TRUE(read_dispatchers[0]);
983 EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); 983 EXPECT_TRUE(read_dispatchers[0]->HasOneRef());
984 984
985 EXPECT_EQ(Dispatcher::kTypeSharedBuffer, read_dispatchers[0]->GetType()); 985 EXPECT_EQ(Dispatcher::Type::SHARED_BUFFER, read_dispatchers[0]->GetType());
986 dispatcher = static_cast<SharedBufferDispatcher*>(read_dispatchers[0].get()); 986 dispatcher = static_cast<SharedBufferDispatcher*>(read_dispatchers[0].get());
987 987
988 // Make another mapping. 988 // Make another mapping.
989 scoped_ptr<embedder::PlatformSharedBufferMapping> mapping1; 989 scoped_ptr<embedder::PlatformSharedBufferMapping> mapping1;
990 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->MapBuffer( 990 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->MapBuffer(
991 0, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping1)); 991 0, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping1));
992 ASSERT_TRUE(mapping1); 992 ASSERT_TRUE(mapping1);
993 ASSERT_TRUE(mapping1->GetBase()); 993 ASSERT_TRUE(mapping1->GetBase());
994 ASSERT_EQ(100u, mapping1->GetLength()); 994 ASSERT_EQ(100u, mapping1->GetLength());
995 EXPECT_NE(mapping1->GetBase(), mapping0->GetBase()); 995 EXPECT_NE(mapping1->GetBase(), mapping0->GetBase());
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 mp1->ReadMessage(1, UserPointer<void>(read_buffer), 1094 mp1->ReadMessage(1, UserPointer<void>(read_buffer),
1095 MakeUserPointer(&read_buffer_size), &read_dispatchers, 1095 MakeUserPointer(&read_buffer_size), &read_dispatchers,
1096 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE)); 1096 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE));
1097 EXPECT_EQ(sizeof(kWorld), static_cast<size_t>(read_buffer_size)); 1097 EXPECT_EQ(sizeof(kWorld), static_cast<size_t>(read_buffer_size));
1098 EXPECT_STREQ(kWorld, read_buffer); 1098 EXPECT_STREQ(kWorld, read_buffer);
1099 EXPECT_EQ(1u, read_dispatchers.size()); 1099 EXPECT_EQ(1u, read_dispatchers.size());
1100 EXPECT_EQ(1u, read_num_dispatchers); 1100 EXPECT_EQ(1u, read_num_dispatchers);
1101 ASSERT_TRUE(read_dispatchers[0]); 1101 ASSERT_TRUE(read_dispatchers[0]);
1102 EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); 1102 EXPECT_TRUE(read_dispatchers[0]->HasOneRef());
1103 1103
1104 EXPECT_EQ(Dispatcher::kTypePlatformHandle, read_dispatchers[0]->GetType()); 1104 EXPECT_EQ(Dispatcher::Type::PLATFORM_HANDLE, read_dispatchers[0]->GetType());
1105 dispatcher = 1105 dispatcher =
1106 static_cast<PlatformHandleDispatcher*>(read_dispatchers[0].get()); 1106 static_cast<PlatformHandleDispatcher*>(read_dispatchers[0].get());
1107 1107
1108 embedder::ScopedPlatformHandle h = dispatcher->PassPlatformHandle().Pass(); 1108 embedder::ScopedPlatformHandle h = dispatcher->PassPlatformHandle().Pass();
1109 EXPECT_TRUE(h.is_valid()); 1109 EXPECT_TRUE(h.is_valid());
1110 1110
1111 fp = mojo::test::FILEFromPlatformHandle(h.Pass(), "rb").Pass(); 1111 fp = mojo::test::FILEFromPlatformHandle(h.Pass(), "rb").Pass();
1112 EXPECT_FALSE(h.is_valid()); 1112 EXPECT_FALSE(h.is_valid());
1113 EXPECT_TRUE(fp); 1113 EXPECT_TRUE(fp);
1114 1114
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 mp1->ReadMessage(1, UserPointer<void>(read_buffer), 1231 mp1->ReadMessage(1, UserPointer<void>(read_buffer),
1232 MakeUserPointer(&read_buffer_size), &read_dispatchers, 1232 MakeUserPointer(&read_buffer_size), &read_dispatchers,
1233 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE)); 1233 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE));
1234 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size)); 1234 EXPECT_EQ(sizeof(kHello), static_cast<size_t>(read_buffer_size));
1235 EXPECT_STREQ(kHello, read_buffer); 1235 EXPECT_STREQ(kHello, read_buffer);
1236 EXPECT_EQ(1u, read_dispatchers.size()); 1236 EXPECT_EQ(1u, read_dispatchers.size());
1237 EXPECT_EQ(1u, read_num_dispatchers); 1237 EXPECT_EQ(1u, read_num_dispatchers);
1238 ASSERT_TRUE(read_dispatchers[0]); 1238 ASSERT_TRUE(read_dispatchers[0]);
1239 EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); 1239 EXPECT_TRUE(read_dispatchers[0]->HasOneRef());
1240 1240
1241 EXPECT_EQ(Dispatcher::kTypeMessagePipe, read_dispatchers[0]->GetType()); 1241 EXPECT_EQ(Dispatcher::Type::MESSAGE_PIPE, read_dispatchers[0]->GetType());
1242 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get()); 1242 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get());
1243 read_dispatchers.clear(); 1243 read_dispatchers.clear();
1244 1244
1245 // Now pass it back. 1245 // Now pass it back.
1246 1246
1247 // Prepare to wait on MP 0, port 0. (Add the waiter now. Otherwise, if we do 1247 // Prepare to wait on MP 0, port 0. (Add the waiter now. Otherwise, if we do
1248 // it later, it might already be readable.) 1248 // it later, it might already be readable.)
1249 waiter.Init(); 1249 waiter.Init();
1250 ASSERT_EQ( 1250 ASSERT_EQ(
1251 MOJO_RESULT_OK, 1251 MOJO_RESULT_OK,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 mp0->ReadMessage(0, UserPointer<void>(read_buffer), 1288 mp0->ReadMessage(0, UserPointer<void>(read_buffer),
1289 MakeUserPointer(&read_buffer_size), &read_dispatchers, 1289 MakeUserPointer(&read_buffer_size), &read_dispatchers,
1290 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE)); 1290 &read_num_dispatchers, MOJO_READ_MESSAGE_FLAG_NONE));
1291 EXPECT_EQ(sizeof(kWorld), static_cast<size_t>(read_buffer_size)); 1291 EXPECT_EQ(sizeof(kWorld), static_cast<size_t>(read_buffer_size));
1292 EXPECT_STREQ(kWorld, read_buffer); 1292 EXPECT_STREQ(kWorld, read_buffer);
1293 EXPECT_EQ(1u, read_dispatchers.size()); 1293 EXPECT_EQ(1u, read_dispatchers.size());
1294 EXPECT_EQ(1u, read_num_dispatchers); 1294 EXPECT_EQ(1u, read_num_dispatchers);
1295 ASSERT_TRUE(read_dispatchers[0]); 1295 ASSERT_TRUE(read_dispatchers[0]);
1296 EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); 1296 EXPECT_TRUE(read_dispatchers[0]->HasOneRef());
1297 1297
1298 EXPECT_EQ(Dispatcher::kTypeMessagePipe, read_dispatchers[0]->GetType()); 1298 EXPECT_EQ(Dispatcher::Type::MESSAGE_PIPE, read_dispatchers[0]->GetType());
1299 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get()); 1299 dispatcher = static_cast<MessagePipeDispatcher*>(read_dispatchers[0].get());
1300 read_dispatchers.clear(); 1300 read_dispatchers.clear();
1301 1301
1302 // Add the waiter now, before it becomes readable to avoid a race. 1302 // Add the waiter now, before it becomes readable to avoid a race.
1303 waiter.Init(); 1303 waiter.Init();
1304 ASSERT_EQ(MOJO_RESULT_OK, 1304 ASSERT_EQ(MOJO_RESULT_OK,
1305 dispatcher->AddAwakable(&waiter, MOJO_HANDLE_SIGNAL_READABLE, 789, 1305 dispatcher->AddAwakable(&waiter, MOJO_HANDLE_SIGNAL_READABLE, 789,
1306 nullptr)); 1306 nullptr));
1307 1307
1308 // Write to "local_mp", port 1. 1308 // Write to "local_mp", port 1.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1367 mp0->Close(0); 1367 mp0->Close(0);
1368 mp1->Close(1); 1368 mp1->Close(1);
1369 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close()); 1369 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close());
1370 // Note that |local_mp|'s port 0 belong to |dispatcher|, which was closed. 1370 // Note that |local_mp|'s port 0 belong to |dispatcher|, which was closed.
1371 local_mp->Close(1); 1371 local_mp->Close(1);
1372 } 1372 }
1373 1373
1374 } // namespace 1374 } // namespace
1375 } // namespace system 1375 } // namespace system
1376 } // namespace mojo 1376 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698