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

Side by Side Diff: ipc/ipc_channel_mojo_unittest.cc

Issue 2744943002: Mojo: Move waiting APIs to public library (Closed)
Patch Set: . Created 3 years, 9 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 | mojo/common/data_pipe_utils.cc » ('j') | 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/ipc_channel_mojo.h" 5 #include "ipc/ipc_channel_mojo.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 20 matching lines...) Expand all
31 #include "build/build_config.h" 31 #include "build/build_config.h"
32 #include "ipc/ipc_message.h" 32 #include "ipc/ipc_message.h"
33 #include "ipc/ipc_mojo_handle_attachment.h" 33 #include "ipc/ipc_mojo_handle_attachment.h"
34 #include "ipc/ipc_mojo_message_helper.h" 34 #include "ipc/ipc_mojo_message_helper.h"
35 #include "ipc/ipc_mojo_param_traits.h" 35 #include "ipc/ipc_mojo_param_traits.h"
36 #include "ipc/ipc_sync_channel.h" 36 #include "ipc/ipc_sync_channel.h"
37 #include "ipc/ipc_sync_message.h" 37 #include "ipc/ipc_sync_message.h"
38 #include "ipc/ipc_test.mojom.h" 38 #include "ipc/ipc_test.mojom.h"
39 #include "ipc/ipc_test_base.h" 39 #include "ipc/ipc_test_base.h"
40 #include "ipc/ipc_test_channel_listener.h" 40 #include "ipc/ipc_test_channel_listener.h"
41 #include "mojo/public/cpp/system/wait.h"
41 #include "testing/gtest/include/gtest/gtest.h" 42 #include "testing/gtest/include/gtest/gtest.h"
42 43
43 #if defined(OS_POSIX) 44 #if defined(OS_POSIX)
44 #include "base/file_descriptor_posix.h" 45 #include "base/file_descriptor_posix.h"
45 #include "ipc/ipc_platform_file_attachment_posix.h" 46 #include "ipc/ipc_platform_file_attachment_posix.h"
46 #endif 47 #endif
47 48
48 namespace { 49 namespace {
49 50
50 void SendString(IPC::Sender* sender, const std::string& str) { 51 void SendString(IPC::Sender* sender, const std::string& str) {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 241
241 static void ReadReceivedPipe(const IPC::Message& message, 242 static void ReadReceivedPipe(const IPC::Message& message,
242 base::PickleIterator* iter) { 243 base::PickleIterator* iter) {
243 mojo::ScopedMessagePipeHandle pipe; 244 mojo::ScopedMessagePipeHandle pipe;
244 EXPECT_TRUE( 245 EXPECT_TRUE(
245 IPC::MojoMessageHelper::ReadMessagePipeFrom(&message, iter, &pipe)); 246 IPC::MojoMessageHelper::ReadMessagePipeFrom(&message, iter, &pipe));
246 std::string content(GetSendingFileContent().size(), ' '); 247 std::string content(GetSendingFileContent().size(), ' ');
247 248
248 uint32_t num_bytes = static_cast<uint32_t>(content.size()); 249 uint32_t num_bytes = static_cast<uint32_t>(content.size());
249 ASSERT_EQ(MOJO_RESULT_OK, 250 ASSERT_EQ(MOJO_RESULT_OK,
250 mojo::Wait(pipe.get(), MOJO_HANDLE_SIGNAL_READABLE, 251 mojo::Wait(pipe.get(), MOJO_HANDLE_SIGNAL_READABLE));
251 MOJO_DEADLINE_INDEFINITE, nullptr));
252 EXPECT_EQ(MOJO_RESULT_OK, 252 EXPECT_EQ(MOJO_RESULT_OK,
253 mojo::ReadMessageRaw(pipe.get(), &content[0], &num_bytes, nullptr, 253 mojo::ReadMessageRaw(pipe.get(), &content[0], &num_bytes, nullptr,
254 nullptr, 0)); 254 nullptr, 0));
255 EXPECT_EQ(content, GetSendingFileContent()); 255 EXPECT_EQ(content, GetSendingFileContent());
256 } 256 }
257 257
258 #if defined(OS_POSIX) 258 #if defined(OS_POSIX)
259 static base::FilePath GetSendingFilePath(const base::FilePath& dir_path) { 259 static base::FilePath GetSendingFilePath(const base::FilePath& dir_path) {
260 return dir_path.Append("ListenerThatExpectsFile.txt"); 260 return dir_path.Append("ListenerThatExpectsFile.txt");
261 } 261 }
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 listener.set_sender(channel()); 349 listener.set_sender(channel());
350 350
351 base::RunLoop().Run(); 351 base::RunLoop().Run();
352 352
353 Close(); 353 Close();
354 } 354 }
355 355
356 void ReadOK(mojo::MessagePipeHandle pipe) { 356 void ReadOK(mojo::MessagePipeHandle pipe) {
357 std::string should_be_ok("xx"); 357 std::string should_be_ok("xx");
358 uint32_t num_bytes = static_cast<uint32_t>(should_be_ok.size()); 358 uint32_t num_bytes = static_cast<uint32_t>(should_be_ok.size());
359 CHECK_EQ(MOJO_RESULT_OK, mojo::Wait(pipe, MOJO_HANDLE_SIGNAL_READABLE, 359 CHECK_EQ(MOJO_RESULT_OK, mojo::Wait(pipe, MOJO_HANDLE_SIGNAL_READABLE));
360 MOJO_DEADLINE_INDEFINITE, nullptr));
361 CHECK_EQ(MOJO_RESULT_OK, 360 CHECK_EQ(MOJO_RESULT_OK,
362 mojo::ReadMessageRaw(pipe, &should_be_ok[0], &num_bytes, nullptr, 361 mojo::ReadMessageRaw(pipe, &should_be_ok[0], &num_bytes, nullptr,
363 nullptr, 0)); 362 nullptr, 0));
364 EXPECT_EQ(should_be_ok, std::string("OK")); 363 EXPECT_EQ(should_be_ok, std::string("OK"));
365 } 364 }
366 365
367 void WriteOK(mojo::MessagePipeHandle pipe) { 366 void WriteOK(mojo::MessagePipeHandle pipe) {
368 std::string ok("OK"); 367 std::string ok("OK");
369 CHECK_EQ(MOJO_RESULT_OK, 368 CHECK_EQ(MOJO_RESULT_OK,
370 mojo::WriteMessageRaw(pipe, &ok[0], static_cast<uint32_t>(ok.size()), 369 mojo::WriteMessageRaw(pipe, &ok[0], static_cast<uint32_t>(ok.size()),
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after
1464 Connect(&listener); 1463 Connect(&listener);
1465 1464
1466 base::RunLoop().Run(); 1465 base::RunLoop().Run();
1467 1466
1468 Close(); 1467 Close();
1469 } 1468 }
1470 1469
1471 #endif // OS_LINUX 1470 #endif // OS_LINUX
1472 1471
1473 } // namespace 1472 } // namespace
OLDNEW
« no previous file with comments | « no previous file | mojo/common/data_pipe_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698