OLD | NEW |
---|---|
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 "base/bind.h" | 11 #include "base/bind.h" |
12 #include "mojo/edk/embedder/embedder_internal.h" | 12 #include "mojo/edk/embedder/embedder_internal.h" |
13 #include "mojo/edk/system/awakable.h" | 13 #include "mojo/edk/system/awakable.h" |
14 #include "mojo/edk/system/core_test_base.h" | 14 #include "mojo/edk/system/core_test_base.h" |
15 #include "mojo/edk/system/test_utils.h" | 15 #include "mojo/edk/system/test_utils.h" |
16 #include "mojo/public/cpp/system/macros.h" | 16 #include "mojo/public/cpp/system/macros.h" |
17 | 17 |
18 #if defined(OS_WIN) | |
19 #include "base/win/windows_version.h" | |
20 #endif | |
21 | |
18 namespace mojo { | 22 namespace mojo { |
19 namespace edk { | 23 namespace edk { |
20 namespace { | 24 namespace { |
21 | 25 |
22 const MojoHandleSignalsState kEmptyMojoHandleSignalsState = {0u, 0u}; | 26 const MojoHandleSignalsState kEmptyMojoHandleSignalsState = {0u, 0u}; |
23 const MojoHandleSignalsState kFullMojoHandleSignalsState = {~0u, ~0u}; | 27 const MojoHandleSignalsState kFullMojoHandleSignalsState = {~0u, ~0u}; |
24 const MojoHandleSignals kAllSignals = MOJO_HANDLE_SIGNAL_READABLE | | 28 const MojoHandleSignals kAllSignals = MOJO_HANDLE_SIGNAL_READABLE | |
25 MOJO_HANDLE_SIGNAL_WRITABLE | | 29 MOJO_HANDLE_SIGNAL_WRITABLE | |
26 MOJO_HANDLE_SIGNAL_PEER_CLOSED; | 30 MOJO_HANDLE_SIGNAL_PEER_CLOSED; |
27 | 31 |
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
707 ASSERT_EQ(kHelloSize, num_bytes); | 711 ASSERT_EQ(kHelloSize, num_bytes); |
708 ASSERT_STREQ(kHello, buffer); | 712 ASSERT_STREQ(kHello, buffer); |
709 ASSERT_EQ(0u, num_handles); | 713 ASSERT_EQ(0u, num_handles); |
710 | 714 |
711 // Make sure that you can't pass either of the message pipe's handles over | 715 // Make sure that you can't pass either of the message pipe's handles over |
712 // itself. | 716 // itself. |
713 ASSERT_EQ(MOJO_RESULT_BUSY, | 717 ASSERT_EQ(MOJO_RESULT_BUSY, |
714 core()->WriteMessage(h_passing[0], kHello, kHelloSize, | 718 core()->WriteMessage(h_passing[0], kHello, kHelloSize, |
715 &h_passing[0], 1, | 719 &h_passing[0], 1, |
716 MOJO_WRITE_MESSAGE_FLAG_NONE)); | 720 MOJO_WRITE_MESSAGE_FLAG_NONE)); |
721 #if defined(OS_WIN) | |
yzshen1
2015/11/13 18:27:07
Please use #if #endif around complete statements:
yzshen1
2015/11/13 18:31:06
Maybe:
bool write_message = true;
#if defined(OS_
jam
2015/11/13 18:35:46
yeah i considered the alternatives, but thought i'
| |
722 if (base::win::GetVersion() >= base::win::VERSION_VISTA) { | |
723 #endif | |
717 ASSERT_EQ(MOJO_RESULT_INVALID_ARGUMENT, | 724 ASSERT_EQ(MOJO_RESULT_INVALID_ARGUMENT, |
718 core()->WriteMessage(h_passing[0], kHello, kHelloSize, | 725 core()->WriteMessage(h_passing[0], kHello, kHelloSize, |
719 &h_passing[1], 1, | 726 &h_passing[1], 1, |
720 MOJO_WRITE_MESSAGE_FLAG_NONE)); | 727 MOJO_WRITE_MESSAGE_FLAG_NONE)); |
728 #if defined(OS_WIN) | |
729 } | |
730 #endif | |
721 | 731 |
722 MojoHandle h_passed[2]; | 732 MojoHandle h_passed[2]; |
723 ASSERT_EQ(MOJO_RESULT_OK, | 733 ASSERT_EQ(MOJO_RESULT_OK, |
724 core()->CreateMessagePipe(nullptr, &h_passed[0], &h_passed[1])); | 734 core()->CreateMessagePipe(nullptr, &h_passed[0], &h_passed[1])); |
725 | 735 |
726 // Make sure that |h_passed[]| work properly. | 736 // Make sure that |h_passed[]| work properly. |
727 ASSERT_EQ(MOJO_RESULT_OK, | 737 ASSERT_EQ(MOJO_RESULT_OK, |
728 core()->WriteMessage(h_passed[0], kHello, kHelloSize, nullptr, 0, | 738 core()->WriteMessage(h_passed[0], kHello, kHelloSize, nullptr, 0, |
729 MOJO_WRITE_MESSAGE_FLAG_NONE)); | 739 MOJO_WRITE_MESSAGE_FLAG_NONE)); |
730 hss = kEmptyMojoHandleSignalsState; | 740 hss = kEmptyMojoHandleSignalsState; |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1256 ASSERT_EQ(MOJO_RESULT_BUSY, waiter.result); | 1266 ASSERT_EQ(MOJO_RESULT_BUSY, waiter.result); |
1257 | 1267 |
1258 ASSERT_EQ(MOJO_RESULT_OK, core()->Close(h)); | 1268 ASSERT_EQ(MOJO_RESULT_OK, core()->Close(h)); |
1259 } | 1269 } |
1260 | 1270 |
1261 // TODO(vtl): Test |DuplicateBufferHandle()| and |MapBuffer()|. | 1271 // TODO(vtl): Test |DuplicateBufferHandle()| and |MapBuffer()|. |
1262 | 1272 |
1263 } // namespace | 1273 } // namespace |
1264 } // namespace edk | 1274 } // namespace edk |
1265 } // namespace mojo | 1275 } // namespace mojo |
OLD | NEW |