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

Side by Side Diff: net/base/file_stream_unittest.cc

Issue 9288084: Added Net logging to FileStream. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed copyright issue. Created 8 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « net/base/file_stream_posix.cc ('k') | net/base/file_stream_win.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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/base/file_stream.h" 5 #include "net/base/file_stream.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
11 #include "base/path_service.h" 11 #include "base/path_service.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 private: 47 private:
48 FilePath temp_file_path_; 48 FilePath temp_file_path_;
49 }; 49 };
50 50
51 namespace { 51 namespace {
52 52
53 TEST_F(FileStreamTest, BasicOpenClose) { 53 TEST_F(FileStreamTest, BasicOpenClose) {
54 base::PlatformFile file = base::kInvalidPlatformFileValue; 54 base::PlatformFile file = base::kInvalidPlatformFileValue;
55 { 55 {
56 FileStream stream; 56 FileStream stream(NULL);
57 int rv = stream.Open(temp_file_path(), 57 int rv = stream.Open(temp_file_path(),
58 base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ); 58 base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ);
59 EXPECT_EQ(OK, rv); 59 EXPECT_EQ(OK, rv);
60 EXPECT_TRUE(stream.IsOpen()); 60 EXPECT_TRUE(stream.IsOpen());
61 file = GetFile(stream); 61 file = GetFile(stream);
62 } 62 }
63 EXPECT_NE(base::kInvalidPlatformFileValue, file); 63 EXPECT_NE(base::kInvalidPlatformFileValue, file);
64 base::PlatformFileInfo info; 64 base::PlatformFileInfo info;
65 // The file should be closed. 65 // The file should be closed.
66 EXPECT_FALSE(base::GetPlatformFileInfo(file, &info)); 66 EXPECT_FALSE(base::GetPlatformFileInfo(file, &info));
67 } 67 }
68 68
69 TEST_F(FileStreamTest, FileHandleLeftOpen) { 69 TEST_F(FileStreamTest, FileHandleLeftOpen) {
70 bool created = false; 70 bool created = false;
71 ASSERT_EQ(kTestDataSize, 71 ASSERT_EQ(kTestDataSize,
72 file_util::WriteFile(temp_file_path(), kTestData, kTestDataSize)); 72 file_util::WriteFile(temp_file_path(), kTestData, kTestDataSize));
73 int flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_READ; 73 int flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_READ;
74 base::PlatformFile file = base::CreatePlatformFile( 74 base::PlatformFile file = base::CreatePlatformFile(
75 temp_file_path(), flags, &created, NULL); 75 temp_file_path(), flags, &created, NULL);
76 76
77 { 77 {
78 // Seek to the beginning of the file and read. 78 // Seek to the beginning of the file and read.
79 FileStream read_stream(file, flags); 79 FileStream read_stream(file, flags, NULL);
80 EXPECT_TRUE(read_stream.IsOpen()); 80 EXPECT_TRUE(read_stream.IsOpen());
81 } 81 }
82 82
83 EXPECT_NE(base::kInvalidPlatformFileValue, file); 83 EXPECT_NE(base::kInvalidPlatformFileValue, file);
84 base::PlatformFileInfo info; 84 base::PlatformFileInfo info;
85 // The file should still be open. 85 // The file should still be open.
86 EXPECT_TRUE(base::GetPlatformFileInfo(file, &info)); 86 EXPECT_TRUE(base::GetPlatformFileInfo(file, &info));
87 // Clean up. 87 // Clean up.
88 EXPECT_TRUE(base::ClosePlatformFile(file)); 88 EXPECT_TRUE(base::ClosePlatformFile(file));
89 } 89 }
90 90
91 // Test the use of FileStream with a file handle provided at construction. 91 // Test the use of FileStream with a file handle provided at construction.
92 TEST_F(FileStreamTest, UseFileHandle) { 92 TEST_F(FileStreamTest, UseFileHandle) {
93 bool created = false; 93 bool created = false;
94 94
95 // 1. Test reading with a file handle. 95 // 1. Test reading with a file handle.
96 ASSERT_EQ(kTestDataSize, 96 ASSERT_EQ(kTestDataSize,
97 file_util::WriteFile(temp_file_path(), kTestData, kTestDataSize)); 97 file_util::WriteFile(temp_file_path(), kTestData, kTestDataSize));
98 int flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_READ; 98 int flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_READ;
99 base::PlatformFile file = base::CreatePlatformFile( 99 base::PlatformFile file = base::CreatePlatformFile(
100 temp_file_path(), flags, &created, NULL); 100 temp_file_path(), flags, &created, NULL);
101 101
102 // Seek to the beginning of the file and read. 102 // Seek to the beginning of the file and read.
103 FileStream read_stream(file, flags); 103 FileStream read_stream(file, flags, NULL);
104 ASSERT_EQ(0, read_stream.Seek(FROM_BEGIN, 0)); 104 ASSERT_EQ(0, read_stream.Seek(FROM_BEGIN, 0));
105 ASSERT_EQ(kTestDataSize, read_stream.Available()); 105 ASSERT_EQ(kTestDataSize, read_stream.Available());
106 // Read into buffer and compare. 106 // Read into buffer and compare.
107 char buffer[kTestDataSize]; 107 char buffer[kTestDataSize];
108 ASSERT_EQ(kTestDataSize, 108 ASSERT_EQ(kTestDataSize,
109 read_stream.Read(buffer, kTestDataSize, CompletionCallback())); 109 read_stream.Read(buffer, kTestDataSize, CompletionCallback()));
110 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize)); 110 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize));
111 read_stream.Close(); 111 read_stream.Close();
112 112
113 // 2. Test writing with a file handle. 113 // 2. Test writing with a file handle.
114 file_util::Delete(temp_file_path(), false); 114 file_util::Delete(temp_file_path(), false);
115 flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE; 115 flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE;
116 file = base::CreatePlatformFile(temp_file_path(), flags, &created, NULL); 116 file = base::CreatePlatformFile(temp_file_path(), flags, &created, NULL);
117 117
118 FileStream write_stream(file, flags); 118 FileStream write_stream(file, flags, NULL);
119 ASSERT_EQ(0, write_stream.Seek(FROM_BEGIN, 0)); 119 ASSERT_EQ(0, write_stream.Seek(FROM_BEGIN, 0));
120 ASSERT_EQ(kTestDataSize, 120 ASSERT_EQ(kTestDataSize,
121 write_stream.Write(kTestData, kTestDataSize, CompletionCallback())); 121 write_stream.Write(kTestData, kTestDataSize, CompletionCallback()));
122 write_stream.Close(); 122 write_stream.Close();
123 123
124 // Read into buffer and compare to make sure the handle worked fine. 124 // Read into buffer and compare to make sure the handle worked fine.
125 ASSERT_EQ(kTestDataSize, 125 ASSERT_EQ(kTestDataSize,
126 file_util::ReadFile(temp_file_path(), buffer, kTestDataSize)); 126 file_util::ReadFile(temp_file_path(), buffer, kTestDataSize));
127 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize)); 127 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize));
128 } 128 }
129 129
130 TEST_F(FileStreamTest, UseClosedStream) { 130 TEST_F(FileStreamTest, UseClosedStream) {
131 FileStream stream; 131 FileStream stream(NULL);
132 132
133 EXPECT_FALSE(stream.IsOpen()); 133 EXPECT_FALSE(stream.IsOpen());
134 134
135 // Try seeking... 135 // Try seeking...
136 int64 new_offset = stream.Seek(FROM_BEGIN, 5); 136 int64 new_offset = stream.Seek(FROM_BEGIN, 5);
137 EXPECT_EQ(ERR_UNEXPECTED, new_offset); 137 EXPECT_EQ(ERR_UNEXPECTED, new_offset);
138 138
139 // Try available... 139 // Try available...
140 int64 avail = stream.Available(); 140 int64 avail = stream.Available();
141 EXPECT_EQ(ERR_UNEXPECTED, avail); 141 EXPECT_EQ(ERR_UNEXPECTED, avail);
142 142
143 // Try reading... 143 // Try reading...
144 char buf[10]; 144 char buf[10];
145 int rv = stream.Read(buf, arraysize(buf), CompletionCallback()); 145 int rv = stream.Read(buf, arraysize(buf), CompletionCallback());
146 EXPECT_EQ(ERR_UNEXPECTED, rv); 146 EXPECT_EQ(ERR_UNEXPECTED, rv);
147 } 147 }
148 148
149 TEST_F(FileStreamTest, BasicRead) { 149 TEST_F(FileStreamTest, BasicRead) {
150 int64 file_size; 150 int64 file_size;
151 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 151 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
152 EXPECT_TRUE(ok); 152 EXPECT_TRUE(ok);
153 153
154 FileStream stream; 154 FileStream stream(NULL);
155 int flags = base::PLATFORM_FILE_OPEN | 155 int flags = base::PLATFORM_FILE_OPEN |
156 base::PLATFORM_FILE_READ; 156 base::PLATFORM_FILE_READ;
157 int rv = stream.Open(temp_file_path(), flags); 157 int rv = stream.Open(temp_file_path(), flags);
158 EXPECT_EQ(OK, rv); 158 EXPECT_EQ(OK, rv);
159 159
160 int64 total_bytes_avail = stream.Available(); 160 int64 total_bytes_avail = stream.Available();
161 EXPECT_EQ(file_size, total_bytes_avail); 161 EXPECT_EQ(file_size, total_bytes_avail);
162 162
163 int total_bytes_read = 0; 163 int total_bytes_read = 0;
164 164
165 std::string data_read; 165 std::string data_read;
166 for (;;) { 166 for (;;) {
167 char buf[4]; 167 char buf[4];
168 rv = stream.Read(buf, arraysize(buf), CompletionCallback()); 168 rv = stream.Read(buf, arraysize(buf), CompletionCallback());
169 EXPECT_LE(0, rv); 169 EXPECT_LE(0, rv);
170 if (rv <= 0) 170 if (rv <= 0)
171 break; 171 break;
172 total_bytes_read += rv; 172 total_bytes_read += rv;
173 data_read.append(buf, rv); 173 data_read.append(buf, rv);
174 } 174 }
175 EXPECT_EQ(file_size, total_bytes_read); 175 EXPECT_EQ(file_size, total_bytes_read);
176 EXPECT_EQ(kTestData, data_read); 176 EXPECT_EQ(kTestData, data_read);
177 } 177 }
178 178
179 TEST_F(FileStreamTest, AsyncRead) { 179 TEST_F(FileStreamTest, AsyncRead) {
180 int64 file_size; 180 int64 file_size;
181 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 181 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
182 EXPECT_TRUE(ok); 182 EXPECT_TRUE(ok);
183 183
184 FileStream stream; 184 FileStream stream(NULL);
185 int flags = base::PLATFORM_FILE_OPEN | 185 int flags = base::PLATFORM_FILE_OPEN |
186 base::PLATFORM_FILE_READ | 186 base::PLATFORM_FILE_READ |
187 base::PLATFORM_FILE_ASYNC; 187 base::PLATFORM_FILE_ASYNC;
188 int rv = stream.Open(temp_file_path(), flags); 188 int rv = stream.Open(temp_file_path(), flags);
189 EXPECT_EQ(OK, rv); 189 EXPECT_EQ(OK, rv);
190 190
191 int64 total_bytes_avail = stream.Available(); 191 int64 total_bytes_avail = stream.Available();
192 EXPECT_EQ(file_size, total_bytes_avail); 192 EXPECT_EQ(file_size, total_bytes_avail);
193 193
194 TestCompletionCallback callback; 194 TestCompletionCallback callback;
(...skipping 14 matching lines...) Expand all
209 } 209 }
210 EXPECT_EQ(file_size, total_bytes_read); 210 EXPECT_EQ(file_size, total_bytes_read);
211 EXPECT_EQ(kTestData, data_read); 211 EXPECT_EQ(kTestData, data_read);
212 } 212 }
213 213
214 TEST_F(FileStreamTest, AsyncRead_EarlyClose) { 214 TEST_F(FileStreamTest, AsyncRead_EarlyClose) {
215 int64 file_size; 215 int64 file_size;
216 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 216 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
217 EXPECT_TRUE(ok); 217 EXPECT_TRUE(ok);
218 218
219 FileStream stream; 219 FileStream stream(NULL);
220 int flags = base::PLATFORM_FILE_OPEN | 220 int flags = base::PLATFORM_FILE_OPEN |
221 base::PLATFORM_FILE_READ | 221 base::PLATFORM_FILE_READ |
222 base::PLATFORM_FILE_ASYNC; 222 base::PLATFORM_FILE_ASYNC;
223 int rv = stream.Open(temp_file_path(), flags); 223 int rv = stream.Open(temp_file_path(), flags);
224 EXPECT_EQ(OK, rv); 224 EXPECT_EQ(OK, rv);
225 225
226 int64 total_bytes_avail = stream.Available(); 226 int64 total_bytes_avail = stream.Available();
227 EXPECT_EQ(file_size, total_bytes_avail); 227 EXPECT_EQ(file_size, total_bytes_avail);
228 228
229 TestCompletionCallback callback; 229 TestCompletionCallback callback;
230 230
231 char buf[4]; 231 char buf[4];
232 rv = stream.Read(buf, arraysize(buf), callback.callback()); 232 rv = stream.Read(buf, arraysize(buf), callback.callback());
233 stream.Close(); 233 stream.Close();
234 if (rv < 0) { 234 if (rv < 0) {
235 EXPECT_EQ(ERR_IO_PENDING, rv); 235 EXPECT_EQ(ERR_IO_PENDING, rv);
236 // The callback should not be called if the request is cancelled. 236 // The callback should not be called if the request is cancelled.
237 MessageLoop::current()->RunAllPending(); 237 MessageLoop::current()->RunAllPending();
238 EXPECT_FALSE(callback.have_result()); 238 EXPECT_FALSE(callback.have_result());
239 } else { 239 } else {
240 EXPECT_EQ(std::string(kTestData, rv), std::string(buf, rv)); 240 EXPECT_EQ(std::string(kTestData, rv), std::string(buf, rv));
241 } 241 }
242 } 242 }
243 243
244 TEST_F(FileStreamTest, BasicRead_FromOffset) { 244 TEST_F(FileStreamTest, BasicRead_FromOffset) {
245 int64 file_size; 245 int64 file_size;
246 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 246 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
247 EXPECT_TRUE(ok); 247 EXPECT_TRUE(ok);
248 248
249 FileStream stream; 249 FileStream stream(NULL);
250 int flags = base::PLATFORM_FILE_OPEN | 250 int flags = base::PLATFORM_FILE_OPEN |
251 base::PLATFORM_FILE_READ; 251 base::PLATFORM_FILE_READ;
252 int rv = stream.Open(temp_file_path(), flags); 252 int rv = stream.Open(temp_file_path(), flags);
253 EXPECT_EQ(OK, rv); 253 EXPECT_EQ(OK, rv);
254 254
255 const int64 kOffset = 3; 255 const int64 kOffset = 3;
256 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset); 256 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset);
257 EXPECT_EQ(kOffset, new_offset); 257 EXPECT_EQ(kOffset, new_offset);
258 258
259 int64 total_bytes_avail = stream.Available(); 259 int64 total_bytes_avail = stream.Available();
(...skipping 14 matching lines...) Expand all
274 EXPECT_EQ(file_size - kOffset, total_bytes_read); 274 EXPECT_EQ(file_size - kOffset, total_bytes_read);
275 EXPECT_TRUE(data_read == kTestData + kOffset); 275 EXPECT_TRUE(data_read == kTestData + kOffset);
276 EXPECT_EQ(kTestData + kOffset, data_read); 276 EXPECT_EQ(kTestData + kOffset, data_read);
277 } 277 }
278 278
279 TEST_F(FileStreamTest, AsyncRead_FromOffset) { 279 TEST_F(FileStreamTest, AsyncRead_FromOffset) {
280 int64 file_size; 280 int64 file_size;
281 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 281 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
282 EXPECT_TRUE(ok); 282 EXPECT_TRUE(ok);
283 283
284 FileStream stream; 284 FileStream stream(NULL);
285 int flags = base::PLATFORM_FILE_OPEN | 285 int flags = base::PLATFORM_FILE_OPEN |
286 base::PLATFORM_FILE_READ | 286 base::PLATFORM_FILE_READ |
287 base::PLATFORM_FILE_ASYNC; 287 base::PLATFORM_FILE_ASYNC;
288 int rv = stream.Open(temp_file_path(), flags); 288 int rv = stream.Open(temp_file_path(), flags);
289 EXPECT_EQ(OK, rv); 289 EXPECT_EQ(OK, rv);
290 290
291 const int64 kOffset = 3; 291 const int64 kOffset = 3;
292 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset); 292 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset);
293 EXPECT_EQ(kOffset, new_offset); 293 EXPECT_EQ(kOffset, new_offset);
294 294
(...skipping 14 matching lines...) Expand all
309 if (rv <= 0) 309 if (rv <= 0)
310 break; 310 break;
311 total_bytes_read += rv; 311 total_bytes_read += rv;
312 data_read.append(buf, rv); 312 data_read.append(buf, rv);
313 } 313 }
314 EXPECT_EQ(file_size - kOffset, total_bytes_read); 314 EXPECT_EQ(file_size - kOffset, total_bytes_read);
315 EXPECT_EQ(kTestData + kOffset, data_read); 315 EXPECT_EQ(kTestData + kOffset, data_read);
316 } 316 }
317 317
318 TEST_F(FileStreamTest, SeekAround) { 318 TEST_F(FileStreamTest, SeekAround) {
319 FileStream stream; 319 FileStream stream(NULL);
320 int flags = base::PLATFORM_FILE_OPEN | 320 int flags = base::PLATFORM_FILE_OPEN |
321 base::PLATFORM_FILE_READ; 321 base::PLATFORM_FILE_READ;
322 int rv = stream.Open(temp_file_path(), flags); 322 int rv = stream.Open(temp_file_path(), flags);
323 EXPECT_EQ(OK, rv); 323 EXPECT_EQ(OK, rv);
324 324
325 const int64 kOffset = 3; 325 const int64 kOffset = 3;
326 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset); 326 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset);
327 EXPECT_EQ(kOffset, new_offset); 327 EXPECT_EQ(kOffset, new_offset);
328 328
329 new_offset = stream.Seek(FROM_CURRENT, kOffset); 329 new_offset = stream.Seek(FROM_CURRENT, kOffset);
330 EXPECT_EQ(2 * kOffset, new_offset); 330 EXPECT_EQ(2 * kOffset, new_offset);
331 331
332 new_offset = stream.Seek(FROM_CURRENT, -kOffset); 332 new_offset = stream.Seek(FROM_CURRENT, -kOffset);
333 EXPECT_EQ(kOffset, new_offset); 333 EXPECT_EQ(kOffset, new_offset);
334 334
335 const int kTestDataLen = arraysize(kTestData) - 1; 335 const int kTestDataLen = arraysize(kTestData) - 1;
336 336
337 new_offset = stream.Seek(FROM_END, -kTestDataLen); 337 new_offset = stream.Seek(FROM_END, -kTestDataLen);
338 EXPECT_EQ(0, new_offset); 338 EXPECT_EQ(0, new_offset);
339 } 339 }
340 340
341 TEST_F(FileStreamTest, BasicWrite) { 341 TEST_F(FileStreamTest, BasicWrite) {
342 FileStream stream; 342 FileStream stream(NULL);
343 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | 343 int flags = base::PLATFORM_FILE_CREATE_ALWAYS |
344 base::PLATFORM_FILE_WRITE; 344 base::PLATFORM_FILE_WRITE;
345 int rv = stream.Open(temp_file_path(), flags); 345 int rv = stream.Open(temp_file_path(), flags);
346 EXPECT_EQ(OK, rv); 346 EXPECT_EQ(OK, rv);
347 347
348 int64 file_size; 348 int64 file_size;
349 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 349 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
350 EXPECT_TRUE(ok); 350 EXPECT_TRUE(ok);
351 EXPECT_EQ(0, file_size); 351 EXPECT_EQ(0, file_size);
352 352
353 rv = stream.Write(kTestData, kTestDataSize, CompletionCallback()); 353 rv = stream.Write(kTestData, kTestDataSize, CompletionCallback());
354 EXPECT_EQ(kTestDataSize, rv); 354 EXPECT_EQ(kTestDataSize, rv);
355 stream.Close(); 355 stream.Close();
356 356
357 ok = file_util::GetFileSize(temp_file_path(), &file_size); 357 ok = file_util::GetFileSize(temp_file_path(), &file_size);
358 EXPECT_TRUE(ok); 358 EXPECT_TRUE(ok);
359 EXPECT_EQ(kTestDataSize, file_size); 359 EXPECT_EQ(kTestDataSize, file_size);
360 } 360 }
361 361
362 TEST_F(FileStreamTest, AsyncWrite) { 362 TEST_F(FileStreamTest, AsyncWrite) {
363 FileStream stream; 363 FileStream stream(NULL);
364 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | 364 int flags = base::PLATFORM_FILE_CREATE_ALWAYS |
365 base::PLATFORM_FILE_WRITE | 365 base::PLATFORM_FILE_WRITE |
366 base::PLATFORM_FILE_ASYNC; 366 base::PLATFORM_FILE_ASYNC;
367 int rv = stream.Open(temp_file_path(), flags); 367 int rv = stream.Open(temp_file_path(), flags);
368 EXPECT_EQ(OK, rv); 368 EXPECT_EQ(OK, rv);
369 369
370 int64 file_size; 370 int64 file_size;
371 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 371 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
372 EXPECT_TRUE(ok); 372 EXPECT_TRUE(ok);
373 EXPECT_EQ(0, file_size); 373 EXPECT_EQ(0, file_size);
(...skipping 11 matching lines...) Expand all
385 if (rv <= 0) 385 if (rv <= 0)
386 break; 386 break;
387 total_bytes_written += rv; 387 total_bytes_written += rv;
388 } 388 }
389 ok = file_util::GetFileSize(temp_file_path(), &file_size); 389 ok = file_util::GetFileSize(temp_file_path(), &file_size);
390 EXPECT_TRUE(ok); 390 EXPECT_TRUE(ok);
391 EXPECT_EQ(file_size, total_bytes_written); 391 EXPECT_EQ(file_size, total_bytes_written);
392 } 392 }
393 393
394 TEST_F(FileStreamTest, AsyncWrite_EarlyClose) { 394 TEST_F(FileStreamTest, AsyncWrite_EarlyClose) {
395 FileStream stream; 395 FileStream stream(NULL);
396 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | 396 int flags = base::PLATFORM_FILE_CREATE_ALWAYS |
397 base::PLATFORM_FILE_WRITE | 397 base::PLATFORM_FILE_WRITE |
398 base::PLATFORM_FILE_ASYNC; 398 base::PLATFORM_FILE_ASYNC;
399 int rv = stream.Open(temp_file_path(), flags); 399 int rv = stream.Open(temp_file_path(), flags);
400 EXPECT_EQ(OK, rv); 400 EXPECT_EQ(OK, rv);
401 401
402 int64 file_size; 402 int64 file_size;
403 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 403 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
404 EXPECT_TRUE(ok); 404 EXPECT_TRUE(ok);
405 EXPECT_EQ(0, file_size); 405 EXPECT_EQ(0, file_size);
(...skipping 11 matching lines...) Expand all
417 MessageLoop::current()->RunAllPending(); 417 MessageLoop::current()->RunAllPending();
418 EXPECT_FALSE(callback.have_result()); 418 EXPECT_FALSE(callback.have_result());
419 } else { 419 } else {
420 ok = file_util::GetFileSize(temp_file_path(), &file_size); 420 ok = file_util::GetFileSize(temp_file_path(), &file_size);
421 EXPECT_TRUE(ok); 421 EXPECT_TRUE(ok);
422 EXPECT_EQ(file_size, rv); 422 EXPECT_EQ(file_size, rv);
423 } 423 }
424 } 424 }
425 425
426 TEST_F(FileStreamTest, BasicWrite_FromOffset) { 426 TEST_F(FileStreamTest, BasicWrite_FromOffset) {
427 FileStream stream; 427 FileStream stream(NULL);
428 int flags = base::PLATFORM_FILE_OPEN | 428 int flags = base::PLATFORM_FILE_OPEN |
429 base::PLATFORM_FILE_WRITE; 429 base::PLATFORM_FILE_WRITE;
430 int rv = stream.Open(temp_file_path(), flags); 430 int rv = stream.Open(temp_file_path(), flags);
431 EXPECT_EQ(OK, rv); 431 EXPECT_EQ(OK, rv);
432 432
433 int64 file_size; 433 int64 file_size;
434 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 434 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
435 EXPECT_TRUE(ok); 435 EXPECT_TRUE(ok);
436 EXPECT_EQ(kTestDataSize, file_size); 436 EXPECT_EQ(kTestDataSize, file_size);
437 437
438 const int64 kOffset = 0; 438 const int64 kOffset = 0;
439 int64 new_offset = stream.Seek(FROM_END, kOffset); 439 int64 new_offset = stream.Seek(FROM_END, kOffset);
440 EXPECT_EQ(kTestDataSize, new_offset); 440 EXPECT_EQ(kTestDataSize, new_offset);
441 441
442 rv = stream.Write(kTestData, kTestDataSize, CompletionCallback()); 442 rv = stream.Write(kTestData, kTestDataSize, CompletionCallback());
443 EXPECT_EQ(kTestDataSize, rv); 443 EXPECT_EQ(kTestDataSize, rv);
444 stream.Close(); 444 stream.Close();
445 445
446 ok = file_util::GetFileSize(temp_file_path(), &file_size); 446 ok = file_util::GetFileSize(temp_file_path(), &file_size);
447 EXPECT_TRUE(ok); 447 EXPECT_TRUE(ok);
448 EXPECT_EQ(kTestDataSize * 2, file_size); 448 EXPECT_EQ(kTestDataSize * 2, file_size);
449 } 449 }
450 450
451 TEST_F(FileStreamTest, AsyncWrite_FromOffset) { 451 TEST_F(FileStreamTest, AsyncWrite_FromOffset) {
452 int64 file_size; 452 int64 file_size;
453 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 453 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
454 EXPECT_TRUE(ok); 454 EXPECT_TRUE(ok);
455 455
456 FileStream stream; 456 FileStream stream(NULL);
457 int flags = base::PLATFORM_FILE_OPEN | 457 int flags = base::PLATFORM_FILE_OPEN |
458 base::PLATFORM_FILE_WRITE | 458 base::PLATFORM_FILE_WRITE |
459 base::PLATFORM_FILE_ASYNC; 459 base::PLATFORM_FILE_ASYNC;
460 int rv = stream.Open(temp_file_path(), flags); 460 int rv = stream.Open(temp_file_path(), flags);
461 EXPECT_EQ(OK, rv); 461 EXPECT_EQ(OK, rv);
462 462
463 const int64 kOffset = 0; 463 const int64 kOffset = 0;
464 int64 new_offset = stream.Seek(FROM_END, kOffset); 464 int64 new_offset = stream.Seek(FROM_END, kOffset);
465 EXPECT_EQ(kTestDataSize, new_offset); 465 EXPECT_EQ(kTestDataSize, new_offset);
466 466
(...skipping 14 matching lines...) Expand all
481 ok = file_util::GetFileSize(temp_file_path(), &file_size); 481 ok = file_util::GetFileSize(temp_file_path(), &file_size);
482 EXPECT_TRUE(ok); 482 EXPECT_TRUE(ok);
483 EXPECT_EQ(file_size, kTestDataSize * 2); 483 EXPECT_EQ(file_size, kTestDataSize * 2);
484 } 484 }
485 485
486 TEST_F(FileStreamTest, BasicReadWrite) { 486 TEST_F(FileStreamTest, BasicReadWrite) {
487 int64 file_size; 487 int64 file_size;
488 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 488 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
489 EXPECT_TRUE(ok); 489 EXPECT_TRUE(ok);
490 490
491 FileStream stream; 491 FileStream stream(NULL);
492 int flags = base::PLATFORM_FILE_OPEN | 492 int flags = base::PLATFORM_FILE_OPEN |
493 base::PLATFORM_FILE_READ | 493 base::PLATFORM_FILE_READ |
494 base::PLATFORM_FILE_WRITE; 494 base::PLATFORM_FILE_WRITE;
495 int rv = stream.Open(temp_file_path(), flags); 495 int rv = stream.Open(temp_file_path(), flags);
496 EXPECT_EQ(OK, rv); 496 EXPECT_EQ(OK, rv);
497 497
498 int64 total_bytes_avail = stream.Available(); 498 int64 total_bytes_avail = stream.Available();
499 EXPECT_EQ(file_size, total_bytes_avail); 499 EXPECT_EQ(file_size, total_bytes_avail);
500 500
501 int total_bytes_read = 0; 501 int total_bytes_read = 0;
(...skipping 18 matching lines...) Expand all
520 ok = file_util::GetFileSize(temp_file_path(), &file_size); 520 ok = file_util::GetFileSize(temp_file_path(), &file_size);
521 EXPECT_TRUE(ok); 521 EXPECT_TRUE(ok);
522 EXPECT_EQ(kTestDataSize * 2, file_size); 522 EXPECT_EQ(kTestDataSize * 2, file_size);
523 } 523 }
524 524
525 TEST_F(FileStreamTest, BasicWriteRead) { 525 TEST_F(FileStreamTest, BasicWriteRead) {
526 int64 file_size; 526 int64 file_size;
527 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 527 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
528 EXPECT_TRUE(ok); 528 EXPECT_TRUE(ok);
529 529
530 FileStream stream; 530 FileStream stream(NULL);
531 int flags = base::PLATFORM_FILE_OPEN | 531 int flags = base::PLATFORM_FILE_OPEN |
532 base::PLATFORM_FILE_READ | 532 base::PLATFORM_FILE_READ |
533 base::PLATFORM_FILE_WRITE; 533 base::PLATFORM_FILE_WRITE;
534 int rv = stream.Open(temp_file_path(), flags); 534 int rv = stream.Open(temp_file_path(), flags);
535 EXPECT_EQ(OK, rv); 535 EXPECT_EQ(OK, rv);
536 536
537 int64 total_bytes_avail = stream.Available(); 537 int64 total_bytes_avail = stream.Available();
538 EXPECT_EQ(file_size, total_bytes_avail); 538 EXPECT_EQ(file_size, total_bytes_avail);
539 539
540 int64 offset = stream.Seek(FROM_END, 0); 540 int64 offset = stream.Seek(FROM_END, 0);
(...skipping 27 matching lines...) Expand all
568 const std::string kExpectedFileData = 568 const std::string kExpectedFileData =
569 std::string(kTestData) + std::string(kTestData); 569 std::string(kTestData) + std::string(kTestData);
570 EXPECT_EQ(kExpectedFileData, data_read); 570 EXPECT_EQ(kExpectedFileData, data_read);
571 } 571 }
572 572
573 TEST_F(FileStreamTest, BasicAsyncReadWrite) { 573 TEST_F(FileStreamTest, BasicAsyncReadWrite) {
574 int64 file_size; 574 int64 file_size;
575 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 575 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
576 EXPECT_TRUE(ok); 576 EXPECT_TRUE(ok);
577 577
578 FileStream stream; 578 FileStream stream(NULL);
579 int flags = base::PLATFORM_FILE_OPEN | 579 int flags = base::PLATFORM_FILE_OPEN |
580 base::PLATFORM_FILE_READ | 580 base::PLATFORM_FILE_READ |
581 base::PLATFORM_FILE_WRITE | 581 base::PLATFORM_FILE_WRITE |
582 base::PLATFORM_FILE_ASYNC; 582 base::PLATFORM_FILE_ASYNC;
583 int rv = stream.Open(temp_file_path(), flags); 583 int rv = stream.Open(temp_file_path(), flags);
584 EXPECT_EQ(OK, rv); 584 EXPECT_EQ(OK, rv);
585 585
586 int64 total_bytes_avail = stream.Available(); 586 int64 total_bytes_avail = stream.Available();
587 EXPECT_EQ(file_size, total_bytes_avail); 587 EXPECT_EQ(file_size, total_bytes_avail);
588 588
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 ok = file_util::GetFileSize(temp_file_path(), &file_size); 623 ok = file_util::GetFileSize(temp_file_path(), &file_size);
624 EXPECT_TRUE(ok); 624 EXPECT_TRUE(ok);
625 EXPECT_EQ(kTestDataSize * 2, file_size); 625 EXPECT_EQ(kTestDataSize * 2, file_size);
626 } 626 }
627 627
628 TEST_F(FileStreamTest, BasicAsyncWriteRead) { 628 TEST_F(FileStreamTest, BasicAsyncWriteRead) {
629 int64 file_size; 629 int64 file_size;
630 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 630 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
631 EXPECT_TRUE(ok); 631 EXPECT_TRUE(ok);
632 632
633 FileStream stream; 633 FileStream stream(NULL);
634 int flags = base::PLATFORM_FILE_OPEN | 634 int flags = base::PLATFORM_FILE_OPEN |
635 base::PLATFORM_FILE_READ | 635 base::PLATFORM_FILE_READ |
636 base::PLATFORM_FILE_WRITE | 636 base::PLATFORM_FILE_WRITE |
637 base::PLATFORM_FILE_ASYNC; 637 base::PLATFORM_FILE_ASYNC;
638 int rv = stream.Open(temp_file_path(), flags); 638 int rv = stream.Open(temp_file_path(), flags);
639 EXPECT_EQ(OK, rv); 639 EXPECT_EQ(OK, rv);
640 640
641 int64 total_bytes_avail = stream.Available(); 641 int64 total_bytes_avail = stream.Available();
642 EXPECT_EQ(file_size, total_bytes_avail); 642 EXPECT_EQ(file_size, total_bytes_avail);
643 643
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 const CompletionCallback callback_; 778 const CompletionCallback callback_;
779 779
780 DISALLOW_COPY_AND_ASSIGN(TestWriteReadCompletionCallback); 780 DISALLOW_COPY_AND_ASSIGN(TestWriteReadCompletionCallback);
781 }; 781 };
782 782
783 TEST_F(FileStreamTest, AsyncWriteRead) { 783 TEST_F(FileStreamTest, AsyncWriteRead) {
784 int64 file_size; 784 int64 file_size;
785 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 785 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
786 EXPECT_TRUE(ok); 786 EXPECT_TRUE(ok);
787 787
788 FileStream stream; 788 FileStream stream(NULL);
789 int flags = base::PLATFORM_FILE_OPEN | 789 int flags = base::PLATFORM_FILE_OPEN |
790 base::PLATFORM_FILE_READ | 790 base::PLATFORM_FILE_READ |
791 base::PLATFORM_FILE_WRITE | 791 base::PLATFORM_FILE_WRITE |
792 base::PLATFORM_FILE_ASYNC; 792 base::PLATFORM_FILE_ASYNC;
793 int rv = stream.Open(temp_file_path(), flags); 793 int rv = stream.Open(temp_file_path(), flags);
794 EXPECT_EQ(OK, rv); 794 EXPECT_EQ(OK, rv);
795 795
796 int64 total_bytes_avail = stream.Available(); 796 int64 total_bytes_avail = stream.Available();
797 EXPECT_EQ(file_size, total_bytes_avail); 797 EXPECT_EQ(file_size, total_bytes_avail);
798 798
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 const CompletionCallback callback_; 884 const CompletionCallback callback_;
885 885
886 DISALLOW_COPY_AND_ASSIGN(TestWriteCloseCompletionCallback); 886 DISALLOW_COPY_AND_ASSIGN(TestWriteCloseCompletionCallback);
887 }; 887 };
888 888
889 TEST_F(FileStreamTest, AsyncWriteClose) { 889 TEST_F(FileStreamTest, AsyncWriteClose) {
890 int64 file_size; 890 int64 file_size;
891 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 891 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
892 EXPECT_TRUE(ok); 892 EXPECT_TRUE(ok);
893 893
894 FileStream stream; 894 FileStream stream(NULL);
895 int flags = base::PLATFORM_FILE_OPEN | 895 int flags = base::PLATFORM_FILE_OPEN |
896 base::PLATFORM_FILE_READ | 896 base::PLATFORM_FILE_READ |
897 base::PLATFORM_FILE_WRITE | 897 base::PLATFORM_FILE_WRITE |
898 base::PLATFORM_FILE_ASYNC; 898 base::PLATFORM_FILE_ASYNC;
899 int rv = stream.Open(temp_file_path(), flags); 899 int rv = stream.Open(temp_file_path(), flags);
900 EXPECT_EQ(OK, rv); 900 EXPECT_EQ(OK, rv);
901 901
902 int64 total_bytes_avail = stream.Available(); 902 int64 total_bytes_avail = stream.Available();
903 EXPECT_EQ(file_size, total_bytes_avail); 903 EXPECT_EQ(file_size, total_bytes_avail);
904 904
(...skipping 11 matching lines...) Expand all
916 916
917 ok = file_util::GetFileSize(temp_file_path(), &file_size); 917 ok = file_util::GetFileSize(temp_file_path(), &file_size);
918 EXPECT_TRUE(ok); 918 EXPECT_TRUE(ok);
919 EXPECT_EQ(kTestDataSize * 2, file_size); 919 EXPECT_EQ(kTestDataSize * 2, file_size);
920 } 920 }
921 921
922 // Tests truncating a file. 922 // Tests truncating a file.
923 TEST_F(FileStreamTest, Truncate) { 923 TEST_F(FileStreamTest, Truncate) {
924 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE; 924 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE;
925 925
926 FileStream write_stream; 926 FileStream write_stream(NULL);
927 ASSERT_EQ(OK, write_stream.Open(temp_file_path(), flags)); 927 ASSERT_EQ(OK, write_stream.Open(temp_file_path(), flags));
928 928
929 // Write some data to the file. 929 // Write some data to the file.
930 const char test_data[] = "0123456789"; 930 const char test_data[] = "0123456789";
931 write_stream.Write(test_data, arraysize(test_data), CompletionCallback()); 931 write_stream.Write(test_data, arraysize(test_data), CompletionCallback());
932 932
933 // Truncate the file. 933 // Truncate the file.
934 ASSERT_EQ(4, write_stream.Truncate(4)); 934 ASSERT_EQ(4, write_stream.Truncate(4));
935 935
936 // Write again. 936 // Write again.
937 write_stream.Write(test_data, 4, CompletionCallback()); 937 write_stream.Write(test_data, 4, CompletionCallback());
938 938
939 // Close the stream. 939 // Close the stream.
940 write_stream.Close(); 940 write_stream.Close();
941 941
942 // Read in the contents and make sure we get back what we expected. 942 // Read in the contents and make sure we get back what we expected.
943 std::string read_contents; 943 std::string read_contents;
944 EXPECT_TRUE(file_util::ReadFileToString(temp_file_path(), &read_contents)); 944 EXPECT_TRUE(file_util::ReadFileToString(temp_file_path(), &read_contents));
945 945
946 EXPECT_EQ("01230123", read_contents); 946 EXPECT_EQ("01230123", read_contents);
947 } 947 }
948 948
949 } // namespace 949 } // namespace
950 950
951 } // namespace net 951 } // namespace net
OLDNEW
« no previous file with comments | « net/base/file_stream_posix.cc ('k') | net/base/file_stream_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698