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

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

Issue 1354433003: Add a mojo::test::ScopedTestDir and convert tests to use 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 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 "mojo/edk/system/platform_handle_dispatcher.h" 5 #include "mojo/edk/system/platform_handle_dispatcher.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h"
11 #include "base/files/scoped_temp_dir.h"
12 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "mojo/edk/test/scoped_test_dir.h"
13 #include "mojo/edk/test/test_utils.h" 11 #include "mojo/edk/test/test_utils.h"
14 #include "mojo/edk/util/scoped_file.h" 12 #include "mojo/edk/util/scoped_file.h"
15 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
16 14
17 namespace mojo { 15 namespace mojo {
18 namespace system { 16 namespace system {
19 namespace { 17 namespace {
20 18
21 TEST(PlatformHandleDispatcherTest, Basic) { 19 TEST(PlatformHandleDispatcherTest, Basic) {
22 base::ScopedTempDir temp_dir; 20 mojo::test::ScopedTestDir test_dir;
23 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
24 21
25 static const char kHelloWorld[] = "hello world"; 22 static const char kHelloWorld[] = "hello world";
26 23
27 base::FilePath unused; 24 util::ScopedFILE fp(test_dir.CreateFile());
28 util::ScopedFILE fp(
29 CreateAndOpenTemporaryFileInDir(temp_dir.path(), &unused));
30 ASSERT_TRUE(fp); 25 ASSERT_TRUE(fp);
31 EXPECT_EQ(sizeof(kHelloWorld), 26 EXPECT_EQ(sizeof(kHelloWorld),
32 fwrite(kHelloWorld, 1, sizeof(kHelloWorld), fp.get())); 27 fwrite(kHelloWorld, 1, sizeof(kHelloWorld), fp.get()));
33 28
34 embedder::ScopedPlatformHandle h( 29 embedder::ScopedPlatformHandle h(
35 mojo::test::PlatformHandleFromFILE(fp.Pass())); 30 mojo::test::PlatformHandleFromFILE(fp.Pass()));
36 EXPECT_FALSE(fp); 31 EXPECT_FALSE(fp);
37 ASSERT_TRUE(h.is_valid()); 32 ASSERT_TRUE(h.is_valid());
38 33
39 scoped_refptr<PlatformHandleDispatcher> dispatcher = 34 scoped_refptr<PlatformHandleDispatcher> dispatcher =
(...skipping 15 matching lines...) Expand all
55 EXPECT_STREQ(kHelloWorld, read_buffer); 50 EXPECT_STREQ(kHelloWorld, read_buffer);
56 51
57 // Try getting the handle again. (It should fail cleanly.) 52 // Try getting the handle again. (It should fail cleanly.)
58 h = dispatcher->PassPlatformHandle().Pass(); 53 h = dispatcher->PassPlatformHandle().Pass();
59 EXPECT_FALSE(h.is_valid()); 54 EXPECT_FALSE(h.is_valid());
60 55
61 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close()); 56 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close());
62 } 57 }
63 58
64 TEST(PlatformHandleDispatcherTest, CreateEquivalentDispatcherAndClose) { 59 TEST(PlatformHandleDispatcherTest, CreateEquivalentDispatcherAndClose) {
65 base::ScopedTempDir temp_dir; 60 mojo::test::ScopedTestDir test_dir;
66 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
67 61
68 static const char kFooBar[] = "foo bar"; 62 static const char kFooBar[] = "foo bar";
69 63
70 base::FilePath unused; 64 util::ScopedFILE fp(test_dir.CreateFile());
71 util::ScopedFILE fp(
72 CreateAndOpenTemporaryFileInDir(temp_dir.path(), &unused));
73 EXPECT_EQ(sizeof(kFooBar), fwrite(kFooBar, 1, sizeof(kFooBar), fp.get())); 65 EXPECT_EQ(sizeof(kFooBar), fwrite(kFooBar, 1, sizeof(kFooBar), fp.get()));
74 66
75 scoped_refptr<PlatformHandleDispatcher> dispatcher = 67 scoped_refptr<PlatformHandleDispatcher> dispatcher =
76 PlatformHandleDispatcher::Create( 68 PlatformHandleDispatcher::Create(
77 mojo::test::PlatformHandleFromFILE(fp.Pass())); 69 mojo::test::PlatformHandleFromFILE(fp.Pass()));
78 70
79 DispatcherTransport transport( 71 DispatcherTransport transport(
80 test::DispatcherTryStartTransport(dispatcher.get())); 72 test::DispatcherTryStartTransport(dispatcher.get()));
81 EXPECT_TRUE(transport.is_valid()); 73 EXPECT_TRUE(transport.is_valid());
82 EXPECT_EQ(Dispatcher::Type::PLATFORM_HANDLE, transport.GetType()); 74 EXPECT_EQ(Dispatcher::Type::PLATFORM_HANDLE, transport.GetType());
(...skipping 19 matching lines...) Expand all
102 EXPECT_EQ(sizeof(kFooBar), 94 EXPECT_EQ(sizeof(kFooBar),
103 fread(read_buffer, 1, sizeof(read_buffer), fp.get())); 95 fread(read_buffer, 1, sizeof(read_buffer), fp.get()));
104 EXPECT_STREQ(kFooBar, read_buffer); 96 EXPECT_STREQ(kFooBar, read_buffer);
105 97
106 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close()); 98 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close());
107 } 99 }
108 100
109 } // namespace 101 } // namespace
110 } // namespace system 102 } // namespace system
111 } // namespace mojo 103 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/multiprocess_message_pipe_unittest.cc ('k') | mojo/edk/system/raw_channel_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698