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 <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include "ipc/ipc_message.h" | 7 #include "ipc/ipc_message.h" |
8 #include "ppapi/proxy/nacl_message_scanner.h" | 8 #include "ppapi/proxy/nacl_message_scanner.h" |
9 #include "ppapi/proxy/ppapi_messages.h" | 9 #include "ppapi/proxy/ppapi_messages.h" |
10 #include "ppapi/proxy/ppapi_proxy_test.h" | 10 #include "ppapi/proxy/ppapi_proxy_test.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 NaClMessageScanner::FileIOMap::const_iterator it = | 39 NaClMessageScanner::FileIOMap::const_iterator it = |
40 scanner.files_.find(file_io); | 40 scanner.files_.find(file_io); |
41 return (it != scanner.files_.end()) ? it->second : NULL; | 41 return (it != scanner.files_.end()) ? it->second : NULL; |
42 } | 42 } |
43 | 43 |
44 void OpenQuotaFile(NaClMessageScanner* scanner, | 44 void OpenQuotaFile(NaClMessageScanner* scanner, |
45 PP_Resource file_io, | 45 PP_Resource file_io, |
46 PP_Resource file_system) { | 46 PP_Resource file_system) { |
47 std::vector<SerializedHandle> unused_handles; | 47 std::vector<SerializedHandle> unused_handles; |
48 ResourceMessageReplyParams fio_reply_params(file_io, 0); | 48 ResourceMessageReplyParams fio_reply_params(file_io, 0); |
49 scoped_ptr<IPC::Message> new_msg_ptr; | 49 std::unique_ptr<IPC::Message> new_msg_ptr; |
50 scanner->ScanMessage( | 50 scanner->ScanMessage( |
51 PpapiPluginMsg_ResourceReply( | 51 PpapiPluginMsg_ResourceReply( |
52 fio_reply_params, | 52 fio_reply_params, |
53 PpapiPluginMsg_FileIO_OpenReply(file_system, 0)), | 53 PpapiPluginMsg_FileIO_OpenReply(file_system, 0)), |
54 PpapiPluginMsg_ResourceReply::ID, | 54 PpapiPluginMsg_ResourceReply::ID, |
55 &unused_handles, | 55 &unused_handles, |
56 &new_msg_ptr); | 56 &new_msg_ptr); |
57 EXPECT_FALSE(new_msg_ptr); | 57 EXPECT_FALSE(new_msg_ptr); |
58 } | 58 } |
59 }; | 59 }; |
60 | 60 |
61 TEST_F(NaClMessageScannerTest, FileOpenClose) { | 61 TEST_F(NaClMessageScannerTest, FileOpenClose) { |
62 NaClMessageScanner test; | 62 NaClMessageScanner test; |
63 std::vector<SerializedHandle> unused_handles; | 63 std::vector<SerializedHandle> unused_handles; |
64 ResourceMessageCallParams fio_call_params(kFileIO, 0); | 64 ResourceMessageCallParams fio_call_params(kFileIO, 0); |
65 ResourceMessageCallParams fs_call_params(kFileSystem, 0); | 65 ResourceMessageCallParams fs_call_params(kFileSystem, 0); |
66 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); | 66 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); |
67 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); | 67 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); |
68 scoped_ptr<IPC::Message> new_msg_ptr; | 68 std::unique_ptr<IPC::Message> new_msg_ptr; |
69 | 69 |
70 EXPECT_EQ(NULL, FindFileSystem(test, kFileSystem)); | 70 EXPECT_EQ(NULL, FindFileSystem(test, kFileSystem)); |
71 EXPECT_EQ(NULL, FindFileIO(test, kFileIO)); | 71 EXPECT_EQ(NULL, FindFileIO(test, kFileIO)); |
72 | 72 |
73 // Open a file, not in a quota file system. | 73 // Open a file, not in a quota file system. |
74 test.ScanMessage( | 74 test.ScanMessage( |
75 PpapiPluginMsg_ResourceReply( | 75 PpapiPluginMsg_ResourceReply( |
76 fio_reply_params, | 76 fio_reply_params, |
77 PpapiPluginMsg_FileIO_OpenReply(kInvalidResource, 0)), | 77 PpapiPluginMsg_FileIO_OpenReply(kInvalidResource, 0)), |
78 PpapiPluginMsg_ResourceReply::ID, | 78 PpapiPluginMsg_ResourceReply::ID, |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 EXPECT_FALSE(FindFileSystem(test, kFileSystem)); | 136 EXPECT_FALSE(FindFileSystem(test, kFileSystem)); |
137 } | 137 } |
138 | 138 |
139 TEST_F(NaClMessageScannerTest, QuotaAuditing) { | 139 TEST_F(NaClMessageScannerTest, QuotaAuditing) { |
140 NaClMessageScanner test; | 140 NaClMessageScanner test; |
141 std::vector<SerializedHandle> unused_handles; | 141 std::vector<SerializedHandle> unused_handles; |
142 ResourceMessageCallParams fio_call_params(kFileIO, 0); | 142 ResourceMessageCallParams fio_call_params(kFileIO, 0); |
143 ResourceMessageCallParams fs_call_params(kFileSystem, 0); | 143 ResourceMessageCallParams fs_call_params(kFileSystem, 0); |
144 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); | 144 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); |
145 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); | 145 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); |
146 scoped_ptr<IPC::Message> new_msg_ptr; | 146 std::unique_ptr<IPC::Message> new_msg_ptr; |
147 | 147 |
148 OpenQuotaFile(&test, kFileIO, kFileSystem); | 148 OpenQuotaFile(&test, kFileIO, kFileSystem); |
149 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); | 149 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); |
150 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); | 150 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); |
151 EXPECT_TRUE(fs); | 151 EXPECT_TRUE(fs); |
152 EXPECT_EQ(0, fs->reserved_quota()); | 152 EXPECT_EQ(0, fs->reserved_quota()); |
153 EXPECT_TRUE(fio); | 153 EXPECT_TRUE(fio); |
154 EXPECT_EQ(0, fio->max_written_offset()); | 154 EXPECT_EQ(0, fio->max_written_offset()); |
155 | 155 |
156 // Without reserving quota, we should not be able to grow the file. | 156 // Without reserving quota, we should not be able to grow the file. |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 EXPECT_EQ(kNewFileSize + 1, new_file_growths[kFileIO].max_written_offset); | 208 EXPECT_EQ(kNewFileSize + 1, new_file_growths[kFileIO].max_written_offset); |
209 } | 209 } |
210 | 210 |
211 TEST_F(NaClMessageScannerTest, SetLength) { | 211 TEST_F(NaClMessageScannerTest, SetLength) { |
212 NaClMessageScanner test; | 212 NaClMessageScanner test; |
213 std::vector<SerializedHandle> unused_handles; | 213 std::vector<SerializedHandle> unused_handles; |
214 ResourceMessageCallParams fio_call_params(kFileIO, 0); | 214 ResourceMessageCallParams fio_call_params(kFileIO, 0); |
215 ResourceMessageCallParams fs_call_params(kFileSystem, 0); | 215 ResourceMessageCallParams fs_call_params(kFileSystem, 0); |
216 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); | 216 ResourceMessageReplyParams fio_reply_params(kFileIO, 0); |
217 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); | 217 ResourceMessageReplyParams fs_reply_params(kFileSystem, 0); |
218 scoped_ptr<IPC::Message> new_msg_ptr; | 218 std::unique_ptr<IPC::Message> new_msg_ptr; |
219 | 219 |
220 OpenQuotaFile(&test, kFileIO, kFileSystem); | 220 OpenQuotaFile(&test, kFileIO, kFileSystem); |
221 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); | 221 NaClMessageScanner::FileSystem* fs = FindFileSystem(test, kFileSystem); |
222 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); | 222 NaClMessageScanner::FileIO* fio = FindFileIO(test, kFileIO); |
223 | 223 |
224 // Receive reserved quota, and updated file sizes. | 224 // Receive reserved quota, and updated file sizes. |
225 const int64_t kNewFileSize = 10; | 225 const int64_t kNewFileSize = 10; |
226 FileSizeMap file_sizes; | 226 FileSizeMap file_sizes; |
227 file_sizes[kFileIO] = 0; | 227 file_sizes[kFileIO] = 0; |
228 test.ScanMessage( | 228 test.ScanMessage( |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 UnpackMessage<PpapiHostMsg_FileIO_SetLength>( | 261 UnpackMessage<PpapiHostMsg_FileIO_SetLength>( |
262 nested_msg, &length)); | 262 nested_msg, &length)); |
263 new_msg_ptr.reset(); | 263 new_msg_ptr.reset(); |
264 EXPECT_EQ(-1, length); | 264 EXPECT_EQ(-1, length); |
265 EXPECT_EQ(kQuotaReservationAmount - kNewFileSize, fs->reserved_quota()); | 265 EXPECT_EQ(kQuotaReservationAmount - kNewFileSize, fs->reserved_quota()); |
266 EXPECT_EQ(kNewFileSize, fio->max_written_offset()); | 266 EXPECT_EQ(kNewFileSize, fio->max_written_offset()); |
267 } | 267 } |
268 | 268 |
269 } // namespace proxy | 269 } // namespace proxy |
270 } // namespace ppapi | 270 } // namespace ppapi |
OLD | NEW |