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

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

Issue 1993283002: Add thunks for MojoGetRights(), etc. (Closed) Base URL: https://github.com/domokit/mojo.git@work795_core_get_rights
Patch Set: I'm an idiot Created 4 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "mojo/edk/system/core.h" 5 #include "mojo/edk/system/core.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <limits> 9 #include <limits>
10 10
11 #include "mojo/edk/platform/thread_utils.h" 11 #include "mojo/edk/platform/thread_utils.h"
12 #include "mojo/edk/system/awakable.h" 12 #include "mojo/edk/system/awakable.h"
13 #include "mojo/edk/system/core_test_base.h" 13 #include "mojo/edk/system/core_test_base.h"
14 #include "mojo/edk/system/test/timeouts.h" 14 #include "mojo/edk/system/test/timeouts.h"
15 #include "mojo/public/cpp/system/macros.h" 15 #include "mojo/public/cpp/system/macros.h"
16 16
17 using mojo::platform::ThreadSleep; 17 using mojo::platform::ThreadSleep;
18 18
19 namespace mojo { 19 namespace mojo {
20 namespace system { 20 namespace system {
21 namespace { 21 namespace {
22 22
23 const MojoHandleRights kDefaultMessagePipeHandleRights =
24 MOJO_HANDLE_RIGHT_TRANSFER | MOJO_HANDLE_RIGHT_READ |
25 MOJO_HANDLE_RIGHT_WRITE | MOJO_HANDLE_RIGHT_GET_OPTIONS |
26 MOJO_HANDLE_RIGHT_SET_OPTIONS;
27 const MojoHandleRights kDefaultDataPipeProducerHandleRights =
28 MOJO_HANDLE_RIGHT_TRANSFER | MOJO_HANDLE_RIGHT_WRITE |
29 MOJO_HANDLE_RIGHT_GET_OPTIONS | MOJO_HANDLE_RIGHT_SET_OPTIONS;
30 const MojoHandleRights kDefaultDataPipeConsumerHandleRights =
31 MOJO_HANDLE_RIGHT_TRANSFER | MOJO_HANDLE_RIGHT_READ |
32 MOJO_HANDLE_RIGHT_GET_OPTIONS | MOJO_HANDLE_RIGHT_SET_OPTIONS;
33
23 const MojoHandleSignalsState kEmptyMojoHandleSignalsState = {0u, 0u}; 34 const MojoHandleSignalsState kEmptyMojoHandleSignalsState = {0u, 0u};
24 const MojoHandleSignalsState kFullMojoHandleSignalsState = {~0u, ~0u}; 35 const MojoHandleSignalsState kFullMojoHandleSignalsState = {~0u, ~0u};
25 36
26 using CoreTest = test::CoreTestBase; 37 using CoreTest = test::CoreTestBase;
27 38
28 TEST_F(CoreTest, GetTimeTicksNow) { 39 TEST_F(CoreTest, GetTimeTicksNow) {
29 const MojoTimeTicks start = core()->GetTimeTicksNow(); 40 const MojoTimeTicks start = core()->GetTimeTicksNow();
30 EXPECT_NE(static_cast<MojoTimeTicks>(0), start) 41 EXPECT_NE(static_cast<MojoTimeTicks>(0), start)
31 << "GetTimeTicksNow should return nonzero value"; 42 << "GetTimeTicksNow should return nonzero value";
32 ThreadSleep(test::DeadlineFromMilliseconds(15u)); 43 ThreadSleep(test::DeadlineFromMilliseconds(15u));
33 const MojoTimeTicks finish = core()->GetTimeTicksNow(); 44 const MojoTimeTicks finish = core()->GetTimeTicksNow();
34 // Allow for some fuzz in sleep. 45 // Allow for some fuzz in sleep.
35 EXPECT_GE((finish - start), static_cast<MojoTimeTicks>(8000)) 46 EXPECT_GE((finish - start), static_cast<MojoTimeTicks>(8000))
36 << "Sleeping should result in increasing time ticks"; 47 << "Sleeping should result in increasing time ticks";
37 } 48 }
38 49
39 TEST_F(CoreTest, Basic) { 50 TEST_F(CoreTest, Basic) {
40 MockHandleInfo info; 51 MockHandleInfo info;
41 52
42 EXPECT_EQ(0u, info.GetCtorCallCount()); 53 EXPECT_EQ(0u, info.GetCtorCallCount());
43 MojoHandle h = CreateMockHandle(&info); 54 MojoHandle h = CreateMockHandle(&info);
44 EXPECT_EQ(1u, info.GetCtorCallCount()); 55 EXPECT_EQ(1u, info.GetCtorCallCount());
45 EXPECT_NE(h, MOJO_HANDLE_INVALID); 56 EXPECT_NE(h, MOJO_HANDLE_INVALID);
46 57
47 MojoHandleRights rights = 0; 58 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE;
48 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(h, MakeUserPointer(&rights))); 59 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(h, MakeUserPointer(&rights)));
49 EXPECT_EQ(kDefaultMockHandleRights, rights); 60 EXPECT_EQ(kDefaultMockHandleRights, rights);
50 61
51 EXPECT_EQ(0u, info.GetWriteMessageCallCount()); 62 EXPECT_EQ(0u, info.GetWriteMessageCallCount());
52 EXPECT_EQ(MOJO_RESULT_OK, 63 EXPECT_EQ(MOJO_RESULT_OK,
53 core()->WriteMessage(h, NullUserPointer(), 0, NullUserPointer(), 0, 64 core()->WriteMessage(h, NullUserPointer(), 0, NullUserPointer(), 0,
54 MOJO_WRITE_MESSAGE_FLAG_NONE)); 65 MOJO_WRITE_MESSAGE_FLAG_NONE));
55 EXPECT_EQ(1u, info.GetWriteMessageCallCount()); 66 EXPECT_EQ(1u, info.GetWriteMessageCallCount());
56 67
57 EXPECT_EQ(0u, info.GetReadMessageCallCount()); 68 EXPECT_EQ(0u, info.GetReadMessageCallCount());
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 MockHandleInfo info; 214 MockHandleInfo info;
204 MojoHandle h = CreateMockHandle(&info); 215 MojoHandle h = CreateMockHandle(&info);
205 EXPECT_EQ(MOJO_RESULT_OK, core()->Close(h)); 216 EXPECT_EQ(MOJO_RESULT_OK, core()->Close(h));
206 EXPECT_EQ(1u, info.GetCloseCallCount()); 217 EXPECT_EQ(1u, info.GetCloseCallCount());
207 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(h)); 218 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(h));
208 EXPECT_EQ(1u, info.GetCloseCallCount()); 219 EXPECT_EQ(1u, info.GetCloseCallCount());
209 } 220 }
210 221
211 // |GetRights()|: 222 // |GetRights()|:
212 { 223 {
213 MojoHandleRights rights = 0; 224 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE;
214 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 225 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
215 core()->GetRights(MOJO_HANDLE_INVALID, MakeUserPointer(&rights))); 226 core()->GetRights(MOJO_HANDLE_INVALID, MakeUserPointer(&rights)));
216 EXPECT_EQ(0u, rights); 227 EXPECT_EQ(0u, rights);
217 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 228 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
218 core()->GetRights(10, MakeUserPointer(&rights))); 229 core()->GetRights(10, MakeUserPointer(&rights)));
219 EXPECT_EQ(0u, rights); 230 EXPECT_EQ(0u, rights);
220 } 231 }
221 232
222 // |Wait()|: 233 // |Wait()|:
223 { 234 {
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 674
664 EXPECT_EQ(MOJO_RESULT_OK, 675 EXPECT_EQ(MOJO_RESULT_OK,
665 core()->CreateMessagePipe(NullUserPointer(), MakeUserPointer(&h[0]), 676 core()->CreateMessagePipe(NullUserPointer(), MakeUserPointer(&h[0]),
666 MakeUserPointer(&h[1]))); 677 MakeUserPointer(&h[1])));
667 // Should get two distinct, valid handles. 678 // Should get two distinct, valid handles.
668 EXPECT_NE(h[0], MOJO_HANDLE_INVALID); 679 EXPECT_NE(h[0], MOJO_HANDLE_INVALID);
669 EXPECT_NE(h[1], MOJO_HANDLE_INVALID); 680 EXPECT_NE(h[1], MOJO_HANDLE_INVALID);
670 EXPECT_NE(h[0], h[1]); 681 EXPECT_NE(h[0], h[1]);
671 682
672 // Both should have the correct rights. 683 // Both should have the correct rights.
673 static const MojoHandleRights kMessagePipeHandleRights =
674 MOJO_HANDLE_RIGHT_TRANSFER | MOJO_HANDLE_RIGHT_READ |
675 MOJO_HANDLE_RIGHT_WRITE | MOJO_HANDLE_RIGHT_GET_OPTIONS |
676 MOJO_HANDLE_RIGHT_SET_OPTIONS;
677 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE; 684 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE;
678 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(h[0], MakeUserPointer(&rights))); 685 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(h[0], MakeUserPointer(&rights)));
679 EXPECT_EQ(kMessagePipeHandleRights, rights); 686 EXPECT_EQ(kDefaultMessagePipeHandleRights, rights);
680 rights = MOJO_HANDLE_RIGHT_NONE; 687 rights = MOJO_HANDLE_RIGHT_NONE;
681 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(h[1], MakeUserPointer(&rights))); 688 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(h[1], MakeUserPointer(&rights)));
682 EXPECT_EQ(kMessagePipeHandleRights, rights); 689 EXPECT_EQ(kDefaultMessagePipeHandleRights, rights);
683 690
684 // Neither should be readable. 691 // Neither should be readable.
685 MojoHandleSignals signals[2] = {MOJO_HANDLE_SIGNAL_READABLE, 692 MojoHandleSignals signals[2] = {MOJO_HANDLE_SIGNAL_READABLE,
686 MOJO_HANDLE_SIGNAL_READABLE}; 693 MOJO_HANDLE_SIGNAL_READABLE};
687 result_index = static_cast<uint32_t>(-1); 694 result_index = static_cast<uint32_t>(-1);
688 hss[0] = kEmptyMojoHandleSignalsState; 695 hss[0] = kEmptyMojoHandleSignalsState;
689 hss[1] = kEmptyMojoHandleSignalsState; 696 hss[1] = kEmptyMojoHandleSignalsState;
690 EXPECT_EQ( 697 EXPECT_EQ(
691 MOJO_RESULT_DEADLINE_EXCEEDED, 698 MOJO_RESULT_DEADLINE_EXCEEDED,
692 core()->WaitMany(MakeUserPointer(h), MakeUserPointer(signals), 2, 0, 699 core()->WaitMany(MakeUserPointer(h), MakeUserPointer(signals), 2, 0,
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 EXPECT_NE(h_received, h_passing[1]); 981 EXPECT_NE(h_received, h_passing[1]);
975 EXPECT_NE(h_received, h_passed[0]); 982 EXPECT_NE(h_received, h_passed[0]);
976 983
977 // Note: We rely on the Mojo system not re-using handle values very often. 984 // Note: We rely on the Mojo system not re-using handle values very often.
978 EXPECT_NE(h_received, h_passed[1]); 985 EXPECT_NE(h_received, h_passed[1]);
979 986
980 // |h_passed[1]| should no longer be valid; check that trying to close it 987 // |h_passed[1]| should no longer be valid; check that trying to close it
981 // fails. See above note. 988 // fails. See above note.
982 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(h_passed[1])); 989 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(h_passed[1]));
983 990
991 // Check that |h_received| still has the expected rights.
992 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE;
993 EXPECT_EQ(MOJO_RESULT_OK,
994 core()->GetRights(h_received, MakeUserPointer(&rights)));
995 EXPECT_EQ(kDefaultMessagePipeHandleRights, rights);
996
984 // Write to |h_passed[0]|. Should receive on |h_received|. 997 // Write to |h_passed[0]|. Should receive on |h_received|.
985 EXPECT_EQ(MOJO_RESULT_OK, 998 EXPECT_EQ(MOJO_RESULT_OK,
986 core()->WriteMessage(h_passed[0], UserPointer<const void>(kHello), 999 core()->WriteMessage(h_passed[0], UserPointer<const void>(kHello),
987 kHelloSize, NullUserPointer(), 0, 1000 kHelloSize, NullUserPointer(), 0,
988 MOJO_WRITE_MESSAGE_FLAG_NONE)); 1001 MOJO_WRITE_MESSAGE_FLAG_NONE));
989 hss = kEmptyMojoHandleSignalsState; 1002 hss = kEmptyMojoHandleSignalsState;
990 EXPECT_EQ(MOJO_RESULT_OK, 1003 EXPECT_EQ(MOJO_RESULT_OK,
991 core()->Wait(h_received, MOJO_HANDLE_SIGNAL_READABLE, 1000000000, 1004 core()->Wait(h_received, MOJO_HANDLE_SIGNAL_READABLE, 1000000000,
992 MakeUserPointer(&hss))); 1005 MakeUserPointer(&hss)));
993 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE, 1006 EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
(...skipping 26 matching lines...) Expand all
1020 1033
1021 EXPECT_EQ(MOJO_RESULT_OK, 1034 EXPECT_EQ(MOJO_RESULT_OK,
1022 core()->CreateDataPipe(NullUserPointer(), MakeUserPointer(&ph), 1035 core()->CreateDataPipe(NullUserPointer(), MakeUserPointer(&ph),
1023 MakeUserPointer(&ch))); 1036 MakeUserPointer(&ch)));
1024 // Should get two distinct, valid handles. 1037 // Should get two distinct, valid handles.
1025 EXPECT_NE(ph, MOJO_HANDLE_INVALID); 1038 EXPECT_NE(ph, MOJO_HANDLE_INVALID);
1026 EXPECT_NE(ch, MOJO_HANDLE_INVALID); 1039 EXPECT_NE(ch, MOJO_HANDLE_INVALID);
1027 EXPECT_NE(ph, ch); 1040 EXPECT_NE(ph, ch);
1028 1041
1029 // Both should have the correct rights. 1042 // Both should have the correct rights.
1030 static const MojoHandleRights kDataPipeProducerHandleRights =
1031 MOJO_HANDLE_RIGHT_TRANSFER | MOJO_HANDLE_RIGHT_WRITE |
1032 MOJO_HANDLE_RIGHT_GET_OPTIONS | MOJO_HANDLE_RIGHT_SET_OPTIONS;
1033 static const MojoHandleRights kDataPipeConsumerHandleRights =
1034 MOJO_HANDLE_RIGHT_TRANSFER | MOJO_HANDLE_RIGHT_READ |
1035 MOJO_HANDLE_RIGHT_GET_OPTIONS | MOJO_HANDLE_RIGHT_SET_OPTIONS;
1036 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE; 1043 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE;
1037 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(ph, MakeUserPointer(&rights))); 1044 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(ph, MakeUserPointer(&rights)));
1038 EXPECT_EQ(kDataPipeProducerHandleRights, rights); 1045 EXPECT_EQ(kDefaultDataPipeProducerHandleRights, rights);
1039 rights = MOJO_HANDLE_RIGHT_NONE; 1046 rights = MOJO_HANDLE_RIGHT_NONE;
1040 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(ch, MakeUserPointer(&rights))); 1047 EXPECT_EQ(MOJO_RESULT_OK, core()->GetRights(ch, MakeUserPointer(&rights)));
1041 EXPECT_EQ(kDataPipeConsumerHandleRights, rights); 1048 EXPECT_EQ(kDefaultDataPipeConsumerHandleRights, rights);
1042 1049
1043 // Producer should be never-readable, but already writable. 1050 // Producer should be never-readable, but already writable.
1044 hss = kEmptyMojoHandleSignalsState; 1051 hss = kEmptyMojoHandleSignalsState;
1045 EXPECT_EQ( 1052 EXPECT_EQ(
1046 MOJO_RESULT_FAILED_PRECONDITION, 1053 MOJO_RESULT_FAILED_PRECONDITION,
1047 core()->Wait(ph, MOJO_HANDLE_SIGNAL_READABLE, 0, MakeUserPointer(&hss))); 1054 core()->Wait(ph, MOJO_HANDLE_SIGNAL_READABLE, 0, MakeUserPointer(&hss)));
1048 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD, 1055 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD,
1049 hss.satisfied_signals); 1056 hss.satisfied_signals);
1050 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED | 1057 EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED |
1051 MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD, 1058 MOJO_HANDLE_SIGNAL_WRITE_THRESHOLD,
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
1457 EXPECT_NE(ch_received, h_passing[1]); 1464 EXPECT_NE(ch_received, h_passing[1]);
1458 EXPECT_NE(ch_received, ph); 1465 EXPECT_NE(ch_received, ph);
1459 1466
1460 // Note: We rely on the Mojo system not re-using handle values very often. 1467 // Note: We rely on the Mojo system not re-using handle values very often.
1461 EXPECT_NE(ch_received, ch); 1468 EXPECT_NE(ch_received, ch);
1462 1469
1463 // |ch| should no longer be valid; check that trying to close it fails. See 1470 // |ch| should no longer be valid; check that trying to close it fails. See
1464 // above note. 1471 // above note.
1465 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(ch)); 1472 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(ch));
1466 1473
1474 // Check that |ch_received| still has the expected rights.
1475 MojoHandleRights rights = MOJO_HANDLE_RIGHT_NONE;
1476 EXPECT_EQ(MOJO_RESULT_OK,
1477 core()->GetRights(ch_received, MakeUserPointer(&rights)));
1478 EXPECT_EQ(kDefaultDataPipeConsumerHandleRights, rights);
1479
1467 // Write to |ph|. Should receive on |ch_received|. 1480 // Write to |ph|. Should receive on |ch_received|.
1468 num_bytes = kWorldSize; 1481 num_bytes = kWorldSize;
1469 EXPECT_EQ(MOJO_RESULT_OK, 1482 EXPECT_EQ(MOJO_RESULT_OK,
1470 core()->WriteData(ph, UserPointer<const void>(kWorld), 1483 core()->WriteData(ph, UserPointer<const void>(kWorld),
1471 MakeUserPointer(&num_bytes), 1484 MakeUserPointer(&num_bytes),
1472 MOJO_WRITE_DATA_FLAG_ALL_OR_NONE)); 1485 MOJO_WRITE_DATA_FLAG_ALL_OR_NONE));
1473 hss = kEmptyMojoHandleSignalsState; 1486 hss = kEmptyMojoHandleSignalsState;
1474 EXPECT_EQ(MOJO_RESULT_OK, 1487 EXPECT_EQ(MOJO_RESULT_OK,
1475 core()->Wait(ch_received, MOJO_HANDLE_SIGNAL_READABLE, 1000000000, 1488 core()->Wait(ch_received, MOJO_HANDLE_SIGNAL_READABLE, 1000000000,
1476 MakeUserPointer(&hss))); 1489 MakeUserPointer(&hss)));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1517 EXPECT_NE(ph_received, h_passing[1]); 1530 EXPECT_NE(ph_received, h_passing[1]);
1518 EXPECT_NE(ph_received, ch_received); 1531 EXPECT_NE(ph_received, ch_received);
1519 1532
1520 // Again, rely on the Mojo system not re-using handle values very often. 1533 // Again, rely on the Mojo system not re-using handle values very often.
1521 EXPECT_NE(ph_received, ph); 1534 EXPECT_NE(ph_received, ph);
1522 1535
1523 // |ph| should no longer be valid; check that trying to close it fails. See 1536 // |ph| should no longer be valid; check that trying to close it fails. See
1524 // above note. 1537 // above note.
1525 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(ph)); 1538 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, core()->Close(ph));
1526 1539
1540 // Check that |ph_received| still has the expected rights.
1541 rights = MOJO_HANDLE_RIGHT_NONE;
1542 EXPECT_EQ(MOJO_RESULT_OK,
1543 core()->GetRights(ph_received, MakeUserPointer(&rights)));
1544 EXPECT_EQ(kDefaultDataPipeProducerHandleRights, rights);
1545
1527 // Write to |ph_received|. Should receive on |ch_received|. 1546 // Write to |ph_received|. Should receive on |ch_received|.
1528 num_bytes = kHelloSize; 1547 num_bytes = kHelloSize;
1529 EXPECT_EQ(MOJO_RESULT_OK, 1548 EXPECT_EQ(MOJO_RESULT_OK,
1530 core()->WriteData(ph_received, UserPointer<const void>(kHello), 1549 core()->WriteData(ph_received, UserPointer<const void>(kHello),
1531 MakeUserPointer(&num_bytes), 1550 MakeUserPointer(&num_bytes),
1532 MOJO_WRITE_DATA_FLAG_ALL_OR_NONE)); 1551 MOJO_WRITE_DATA_FLAG_ALL_OR_NONE));
1533 hss = kEmptyMojoHandleSignalsState; 1552 hss = kEmptyMojoHandleSignalsState;
1534 EXPECT_EQ(MOJO_RESULT_OK, 1553 EXPECT_EQ(MOJO_RESULT_OK,
1535 core()->Wait(ch_received, MOJO_HANDLE_SIGNAL_READABLE, 1000000000, 1554 core()->Wait(ch_received, MOJO_HANDLE_SIGNAL_READABLE, 1000000000,
1536 MakeUserPointer(&hss))); 1555 MakeUserPointer(&hss)));
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
1733 1752
1734 EXPECT_EQ(MOJO_RESULT_OK, core()->Close(h)); 1753 EXPECT_EQ(MOJO_RESULT_OK, core()->Close(h));
1735 } 1754 }
1736 1755
1737 // TODO(vtl): Test |CreateSharedBuffer()|, |DuplicateBufferHandle()|, and 1756 // TODO(vtl): Test |CreateSharedBuffer()|, |DuplicateBufferHandle()|, and
1738 // |MapBuffer()|. 1757 // |MapBuffer()|.
1739 1758
1740 } // namespace 1759 } // namespace
1741 } // namespace system 1760 } // namespace system
1742 } // namespace mojo 1761 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/embedder/system_impl_private_entrypoints.cc ('k') | mojo/nacl/nonsfi/irt_mojo_nonsfi.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698