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

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

Issue 1347783002: Add our own (mojo::util::)ScopedFILE and replace uses of base::ScopedFILE with it. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 3 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 <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 <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/files/file_path.h" 13 #include "base/files/file_path.h"
14 #include "base/files/file_util.h" 14 #include "base/files/file_util.h"
15 #include "base/files/scoped_file.h"
16 #include "base/files/scoped_temp_dir.h" 15 #include "base/files/scoped_temp_dir.h"
17 #include "base/location.h" 16 #include "base/location.h"
18 #include "base/logging.h" 17 #include "base/logging.h"
19 #include "build/build_config.h" // TODO(vtl): Remove this. 18 #include "build/build_config.h" // TODO(vtl): Remove this.
20 #include "mojo/edk/embedder/platform_shared_buffer.h" 19 #include "mojo/edk/embedder/platform_shared_buffer.h"
21 #include "mojo/edk/embedder/scoped_platform_handle.h" 20 #include "mojo/edk/embedder/scoped_platform_handle.h"
22 #include "mojo/edk/system/channel.h" 21 #include "mojo/edk/system/channel.h"
23 #include "mojo/edk/system/dispatcher.h" 22 #include "mojo/edk/system/dispatcher.h"
24 #include "mojo/edk/system/message_pipe.h" 23 #include "mojo/edk/system/message_pipe.h"
25 #include "mojo/edk/system/message_pipe_test_utils.h" 24 #include "mojo/edk/system/message_pipe_test_utils.h"
26 #include "mojo/edk/system/platform_handle_dispatcher.h" 25 #include "mojo/edk/system/platform_handle_dispatcher.h"
27 #include "mojo/edk/system/raw_channel.h" 26 #include "mojo/edk/system/raw_channel.h"
28 #include "mojo/edk/system/shared_buffer_dispatcher.h" 27 #include "mojo/edk/system/shared_buffer_dispatcher.h"
29 #include "mojo/edk/system/test_utils.h" 28 #include "mojo/edk/system/test_utils.h"
30 #include "mojo/edk/test/test_utils.h" 29 #include "mojo/edk/test/test_utils.h"
30 #include "mojo/edk/util/scoped_file.h"
31 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
32 32
33 namespace mojo { 33 namespace mojo {
34 namespace system { 34 namespace system {
35 namespace { 35 namespace {
36 36
37 class MultiprocessMessagePipeTest 37 class MultiprocessMessagePipeTest
38 : public test::MultiprocessMessagePipeTestBase {}; 38 : public test::MultiprocessMessagePipeTestBase {};
39 39
40 // For each message received, sends a reply message with the same contents 40 // For each message received, sends a reply message with the same contents
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 424
425 for (int i = 0; i < num_handles; ++i) { 425 for (int i = 0; i < num_handles; ++i) {
426 CHECK_EQ(dispatchers[i]->GetType(), Dispatcher::Type::PLATFORM_HANDLE); 426 CHECK_EQ(dispatchers[i]->GetType(), Dispatcher::Type::PLATFORM_HANDLE);
427 427
428 scoped_refptr<PlatformHandleDispatcher> dispatcher( 428 scoped_refptr<PlatformHandleDispatcher> dispatcher(
429 static_cast<PlatformHandleDispatcher*>(dispatchers[i].get())); 429 static_cast<PlatformHandleDispatcher*>(dispatchers[i].get()));
430 embedder::ScopedPlatformHandle h = dispatcher->PassPlatformHandle().Pass(); 430 embedder::ScopedPlatformHandle h = dispatcher->PassPlatformHandle().Pass();
431 CHECK(h.is_valid()); 431 CHECK(h.is_valid());
432 dispatcher->Close(); 432 dispatcher->Close();
433 433
434 base::ScopedFILE fp(mojo::test::FILEFromPlatformHandle(h.Pass(), "r")); 434 util::ScopedFILE fp(mojo::test::FILEFromPlatformHandle(h.Pass(), "r"));
435 CHECK(fp); 435 CHECK(fp);
436 std::string fread_buffer(100, '\0'); 436 std::string fread_buffer(100, '\0');
437 size_t bytes_read = 437 size_t bytes_read =
438 fread(&fread_buffer[0], 1, fread_buffer.size(), fp.get()); 438 fread(&fread_buffer[0], 1, fread_buffer.size(), fp.get());
439 fread_buffer.resize(bytes_read); 439 fread_buffer.resize(bytes_read);
440 CHECK_EQ(fread_buffer, "world"); 440 CHECK_EQ(fread_buffer, "world");
441 } 441 }
442 442
443 return 0; 443 return 0;
444 } 444 }
(...skipping 11 matching lines...) Expand all
456 scoped_refptr<ChannelEndpoint> ep; 456 scoped_refptr<ChannelEndpoint> ep;
457 scoped_refptr<MessagePipe> mp(MessagePipe::CreateLocalProxy(&ep)); 457 scoped_refptr<MessagePipe> mp(MessagePipe::CreateLocalProxy(&ep));
458 Init(ep); 458 Init(ep);
459 459
460 std::vector<scoped_refptr<PlatformHandleDispatcher>> dispatchers; 460 std::vector<scoped_refptr<PlatformHandleDispatcher>> dispatchers;
461 std::vector<DispatcherTransport> transports; 461 std::vector<DispatcherTransport> transports;
462 462
463 size_t pipe_count = GetParam(); 463 size_t pipe_count = GetParam();
464 for (size_t i = 0; i < pipe_count; ++i) { 464 for (size_t i = 0; i < pipe_count; ++i) {
465 base::FilePath unused; 465 base::FilePath unused;
466 base::ScopedFILE fp( 466 util::ScopedFILE fp(
467 CreateAndOpenTemporaryFileInDir(temp_dir.path(), &unused)); 467 CreateAndOpenTemporaryFileInDir(temp_dir.path(), &unused));
468 const std::string world("world"); 468 const std::string world("world");
469 CHECK_EQ(fwrite(&world[0], 1, world.size(), fp.get()), world.size()); 469 CHECK_EQ(fwrite(&world[0], 1, world.size(), fp.get()), world.size());
470 fflush(fp.get()); 470 fflush(fp.get());
471 rewind(fp.get()); 471 rewind(fp.get());
472 472
473 scoped_refptr<PlatformHandleDispatcher> dispatcher = 473 scoped_refptr<PlatformHandleDispatcher> dispatcher =
474 PlatformHandleDispatcher::Create(embedder::ScopedPlatformHandle( 474 PlatformHandleDispatcher::Create(embedder::ScopedPlatformHandle(
475 mojo::test::PlatformHandleFromFILE(fp.Pass()))); 475 mojo::test::PlatformHandleFromFILE(fp.Pass())));
476 dispatchers.push_back(dispatcher); 476 dispatchers.push_back(dispatcher);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 // Android multi-process tests are not executing the new process. This is flaky. 510 // Android multi-process tests are not executing the new process. This is flaky.
511 #if defined(OS_POSIX) && !defined(OS_ANDROID) 511 #if defined(OS_POSIX) && !defined(OS_ANDROID)
512 INSTANTIATE_TEST_CASE_P(PipeCount, 512 INSTANTIATE_TEST_CASE_P(PipeCount,
513 MultiprocessMessagePipeTestWithPipeCount, 513 MultiprocessMessagePipeTestWithPipeCount,
514 testing::Values(1u, 128u, 140u)); 514 testing::Values(1u, 128u, 140u));
515 #endif 515 #endif
516 516
517 } // namespace 517 } // namespace
518 } // namespace system 518 } // namespace system
519 } // namespace mojo 519 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698