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

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

Issue 323683002: net: FileStream cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
hashimoto 2014/06/12 13:03:37 Please add tests for the new methods.
rvargas (doing something else) 2014/06/13 02:49:10 Done.
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/files/file.h" 10 #include "base/files/file.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } 61 }
62 62
63 const base::FilePath temp_file_path() const { return temp_file_path_; } 63 const base::FilePath temp_file_path() const { return temp_file_path_; }
64 64
65 private: 65 private:
66 base::FilePath temp_file_path_; 66 base::FilePath temp_file_path_;
67 }; 67 };
68 68
69 namespace { 69 namespace {
70 70
71 TEST_F(FileStreamTest, AsyncOpenExplicitClose) { 71 TEST_F(FileStreamTest, AsyncOpenExplicitClose) {
hashimoto 2014/06/12 13:03:37 nit: Could you remove "Async" from this file too?
rvargas (doing something else) 2014/06/13 02:49:10 Done.
72 TestCompletionCallback callback; 72 TestCompletionCallback callback;
73 FileStream stream(base::MessageLoopProxy::current()); 73 FileStream stream(base::MessageLoopProxy::current());
74 int flags = base::File::FLAG_OPEN | 74 int flags = base::File::FLAG_OPEN |
75 base::File::FLAG_READ | 75 base::File::FLAG_READ |
76 base::File::FLAG_ASYNC; 76 base::File::FLAG_ASYNC;
77 int rv = stream.Open(temp_file_path(), flags, callback.callback()); 77 int rv = stream.Open(temp_file_path(), flags, callback.callback());
78 EXPECT_EQ(ERR_IO_PENDING, rv); 78 EXPECT_EQ(ERR_IO_PENDING, rv);
79 EXPECT_EQ(OK, callback.WaitForResult()); 79 EXPECT_EQ(OK, callback.WaitForResult());
80 EXPECT_TRUE(stream.IsOpen()); 80 EXPECT_TRUE(stream.IsOpen());
81 EXPECT_TRUE(stream.GetFileForTesting().IsValid()); 81 EXPECT_TRUE(stream.GetFileForTesting().IsValid());
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 ASSERT_EQ(kTestDataSize, 113 ASSERT_EQ(kTestDataSize,
114 base::WriteFile(temp_file_path(), kTestData, kTestDataSize)); 114 base::WriteFile(temp_file_path(), kTestData, kTestDataSize));
115 int flags = base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_READ | 115 int flags = base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_READ |
116 base::File::FLAG_ASYNC; 116 base::File::FLAG_ASYNC;
117 base::File file(temp_file_path(), flags); 117 base::File file(temp_file_path(), flags);
118 118
119 // Seek to the beginning of the file and read. 119 // Seek to the beginning of the file and read.
120 scoped_ptr<FileStream> read_stream( 120 scoped_ptr<FileStream> read_stream(
121 new FileStream(file.Pass(), base::MessageLoopProxy::current())); 121 new FileStream(file.Pass(), base::MessageLoopProxy::current()));
122 ASSERT_EQ(ERR_IO_PENDING, 122 ASSERT_EQ(ERR_IO_PENDING,
123 read_stream->Seek(FROM_BEGIN, 0, callback64.callback())); 123 read_stream->Seek(base::File::FROM_BEGIN, 0,
124 callback64.callback()));
124 ASSERT_EQ(0, callback64.WaitForResult()); 125 ASSERT_EQ(0, callback64.WaitForResult());
125 // Read into buffer and compare. 126 // Read into buffer and compare.
126 scoped_refptr<IOBufferWithSize> read_buffer = 127 scoped_refptr<IOBufferWithSize> read_buffer =
127 new IOBufferWithSize(kTestDataSize); 128 new IOBufferWithSize(kTestDataSize);
128 rv = read_stream->Read(read_buffer.get(), kTestDataSize, callback.callback()); 129 rv = read_stream->Read(read_buffer.get(), kTestDataSize, callback.callback());
129 ASSERT_EQ(kTestDataSize, callback.GetResult(rv)); 130 ASSERT_EQ(kTestDataSize, callback.GetResult(rv));
130 ASSERT_EQ(0, memcmp(kTestData, read_buffer->data(), kTestDataSize)); 131 ASSERT_EQ(0, memcmp(kTestData, read_buffer->data(), kTestDataSize));
131 read_stream.reset(); 132 read_stream.reset();
132 133
133 // 2. Test writing with a file handle. 134 // 2. Test writing with a file handle.
134 base::DeleteFile(temp_file_path(), false); 135 base::DeleteFile(temp_file_path(), false);
135 flags = base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_WRITE | 136 flags = base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_WRITE |
136 base::File::FLAG_ASYNC; 137 base::File::FLAG_ASYNC;
137 file.Initialize(temp_file_path(), flags); 138 file.Initialize(temp_file_path(), flags);
138 139
139 scoped_ptr<FileStream> write_stream( 140 scoped_ptr<FileStream> write_stream(
140 new FileStream(file.Pass(), base::MessageLoopProxy::current())); 141 new FileStream(file.Pass(), base::MessageLoopProxy::current()));
141 ASSERT_EQ(ERR_IO_PENDING, 142 ASSERT_EQ(ERR_IO_PENDING,
142 write_stream->Seek(FROM_BEGIN, 0, callback64.callback())); 143 write_stream->Seek(base::File::FROM_BEGIN, 0,
144 callback64.callback()));
143 ASSERT_EQ(0, callback64.WaitForResult()); 145 ASSERT_EQ(0, callback64.WaitForResult());
144 scoped_refptr<IOBufferWithSize> write_buffer = CreateTestDataBuffer(); 146 scoped_refptr<IOBufferWithSize> write_buffer = CreateTestDataBuffer();
145 rv = write_stream->Write(write_buffer.get(), kTestDataSize, 147 rv = write_stream->Write(write_buffer.get(), kTestDataSize,
146 callback.callback()); 148 callback.callback());
147 ASSERT_EQ(kTestDataSize, callback.GetResult(rv)); 149 ASSERT_EQ(kTestDataSize, callback.GetResult(rv));
148 write_stream.reset(); 150 write_stream.reset();
149 151
150 // Read into buffer and compare to make sure the handle worked fine. 152 // Read into buffer and compare to make sure the handle worked fine.
151 ASSERT_EQ(kTestDataSize, 153 ASSERT_EQ(kTestDataSize,
152 base::ReadFile(temp_file_path(), read_buffer->data(), 154 base::ReadFile(temp_file_path(), read_buffer->data(),
153 kTestDataSize)); 155 kTestDataSize));
154 ASSERT_EQ(0, memcmp(kTestData, read_buffer->data(), kTestDataSize)); 156 ASSERT_EQ(0, memcmp(kTestData, read_buffer->data(), kTestDataSize));
155 } 157 }
156 158
157 TEST_F(FileStreamTest, UseClosedStream) { 159 TEST_F(FileStreamTest, UseClosedStream) {
158 int rv = 0; 160 int rv = 0;
159 TestCompletionCallback callback; 161 TestCompletionCallback callback;
160 TestInt64CompletionCallback callback64; 162 TestInt64CompletionCallback callback64;
161 163
162 FileStream stream(base::MessageLoopProxy::current()); 164 FileStream stream(base::MessageLoopProxy::current());
163 165
164 EXPECT_FALSE(stream.IsOpen()); 166 EXPECT_FALSE(stream.IsOpen());
165 167
166 // Try seeking... 168 // Try seeking...
167 rv = stream.Seek(FROM_BEGIN, 5, callback64.callback()); 169 rv = stream.Seek(base::File::FROM_BEGIN, 5, callback64.callback());
168 EXPECT_EQ(ERR_UNEXPECTED, callback64.GetResult(rv)); 170 EXPECT_EQ(ERR_UNEXPECTED, callback64.GetResult(rv));
169 171
170 // Try reading... 172 // Try reading...
171 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(10); 173 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(10);
172 rv = stream.Read(buf, buf->size(), callback.callback()); 174 rv = stream.Read(buf, buf->size(), callback.callback());
173 EXPECT_EQ(ERR_UNEXPECTED, callback.GetResult(rv)); 175 EXPECT_EQ(ERR_UNEXPECTED, callback.GetResult(rv));
174 } 176 }
175 177
176 TEST_F(FileStreamTest, AsyncRead) { 178 TEST_F(FileStreamTest, AsyncRead) {
177 int64 file_size; 179 int64 file_size;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 FileStream stream(base::MessageLoopProxy::current()); 238 FileStream stream(base::MessageLoopProxy::current());
237 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ | 239 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ |
238 base::File::FLAG_ASYNC; 240 base::File::FLAG_ASYNC;
239 TestCompletionCallback callback; 241 TestCompletionCallback callback;
240 int rv = stream.Open(temp_file_path(), flags, callback.callback()); 242 int rv = stream.Open(temp_file_path(), flags, callback.callback());
241 EXPECT_EQ(ERR_IO_PENDING, rv); 243 EXPECT_EQ(ERR_IO_PENDING, rv);
242 EXPECT_EQ(OK, callback.WaitForResult()); 244 EXPECT_EQ(OK, callback.WaitForResult());
243 245
244 TestInt64CompletionCallback callback64; 246 TestInt64CompletionCallback callback64;
245 const int64 kOffset = 3; 247 const int64 kOffset = 3;
246 rv = stream.Seek(FROM_BEGIN, kOffset, callback64.callback()); 248 rv = stream.Seek(base::File::FROM_BEGIN, kOffset, callback64.callback());
247 ASSERT_EQ(ERR_IO_PENDING, rv); 249 ASSERT_EQ(ERR_IO_PENDING, rv);
248 int64 new_offset = callback64.WaitForResult(); 250 int64 new_offset = callback64.WaitForResult();
249 EXPECT_EQ(kOffset, new_offset); 251 EXPECT_EQ(kOffset, new_offset);
250 252
251 int total_bytes_read = 0; 253 int total_bytes_read = 0;
252 254
253 std::string data_read; 255 std::string data_read;
254 for (;;) { 256 for (;;) {
255 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4); 257 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
256 rv = stream.Read(buf.get(), buf->size(), callback.callback()); 258 rv = stream.Read(buf.get(), buf->size(), callback.callback());
(...skipping 14 matching lines...) Expand all
271 int flags = base::File::FLAG_OPEN | base::File::FLAG_ASYNC | 273 int flags = base::File::FLAG_OPEN | base::File::FLAG_ASYNC |
272 base::File::FLAG_READ; 274 base::File::FLAG_READ;
273 TestCompletionCallback callback; 275 TestCompletionCallback callback;
274 int rv = stream.Open(temp_file_path(), flags, callback.callback()); 276 int rv = stream.Open(temp_file_path(), flags, callback.callback());
275 EXPECT_EQ(ERR_IO_PENDING, rv); 277 EXPECT_EQ(ERR_IO_PENDING, rv);
276 EXPECT_EQ(OK, callback.WaitForResult()); 278 EXPECT_EQ(OK, callback.WaitForResult());
277 279
278 TestInt64CompletionCallback callback64; 280 TestInt64CompletionCallback callback64;
279 281
280 const int64 kOffset = 3; 282 const int64 kOffset = 3;
281 rv = stream.Seek(FROM_BEGIN, kOffset, callback64.callback()); 283 rv = stream.Seek(base::File::FROM_BEGIN, kOffset, callback64.callback());
282 ASSERT_EQ(ERR_IO_PENDING, rv); 284 ASSERT_EQ(ERR_IO_PENDING, rv);
283 int64 new_offset = callback64.WaitForResult(); 285 int64 new_offset = callback64.WaitForResult();
284 EXPECT_EQ(kOffset, new_offset); 286 EXPECT_EQ(kOffset, new_offset);
285 287
286 rv = stream.Seek(FROM_CURRENT, kOffset, callback64.callback()); 288 rv = stream.Seek(base::File::FROM_CURRENT, kOffset, callback64.callback());
287 ASSERT_EQ(ERR_IO_PENDING, rv); 289 ASSERT_EQ(ERR_IO_PENDING, rv);
288 new_offset = callback64.WaitForResult(); 290 new_offset = callback64.WaitForResult();
289 EXPECT_EQ(2 * kOffset, new_offset); 291 EXPECT_EQ(2 * kOffset, new_offset);
290 292
291 rv = stream.Seek(FROM_CURRENT, -kOffset, callback64.callback()); 293 rv = stream.Seek(base::File::FROM_CURRENT, -kOffset, callback64.callback());
292 ASSERT_EQ(ERR_IO_PENDING, rv); 294 ASSERT_EQ(ERR_IO_PENDING, rv);
293 new_offset = callback64.WaitForResult(); 295 new_offset = callback64.WaitForResult();
294 EXPECT_EQ(kOffset, new_offset); 296 EXPECT_EQ(kOffset, new_offset);
295 297
296 const int kTestDataLen = arraysize(kTestData) - 1; 298 const int kTestDataLen = arraysize(kTestData) - 1;
297 299
298 rv = stream.Seek(FROM_END, -kTestDataLen, callback64.callback()); 300 rv = stream.Seek(base::File::FROM_END, -kTestDataLen, callback64.callback());
299 ASSERT_EQ(ERR_IO_PENDING, rv); 301 ASSERT_EQ(ERR_IO_PENDING, rv);
300 new_offset = callback64.WaitForResult(); 302 new_offset = callback64.WaitForResult();
301 EXPECT_EQ(0, new_offset); 303 EXPECT_EQ(0, new_offset);
302 } 304 }
303 305
304 TEST_F(FileStreamTest, AsyncWrite) { 306 TEST_F(FileStreamTest, AsyncWrite) {
305 FileStream stream(base::MessageLoopProxy::current()); 307 FileStream stream(base::MessageLoopProxy::current());
306 int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE | 308 int flags = base::File::FLAG_CREATE_ALWAYS | base::File::FLAG_WRITE |
307 base::File::FLAG_ASYNC; 309 base::File::FLAG_ASYNC;
308 TestCompletionCallback callback; 310 TestCompletionCallback callback;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 FileStream stream(base::MessageLoopProxy::current()); 371 FileStream stream(base::MessageLoopProxy::current());
370 int flags = base::File::FLAG_OPEN | base::File::FLAG_WRITE | 372 int flags = base::File::FLAG_OPEN | base::File::FLAG_WRITE |
371 base::File::FLAG_ASYNC; 373 base::File::FLAG_ASYNC;
372 TestCompletionCallback callback; 374 TestCompletionCallback callback;
373 int rv = stream.Open(temp_file_path(), flags, callback.callback()); 375 int rv = stream.Open(temp_file_path(), flags, callback.callback());
374 EXPECT_EQ(ERR_IO_PENDING, rv); 376 EXPECT_EQ(ERR_IO_PENDING, rv);
375 EXPECT_EQ(OK, callback.WaitForResult()); 377 EXPECT_EQ(OK, callback.WaitForResult());
376 378
377 TestInt64CompletionCallback callback64; 379 TestInt64CompletionCallback callback64;
378 const int64 kOffset = 0; 380 const int64 kOffset = 0;
379 rv = stream.Seek(FROM_END, kOffset, callback64.callback()); 381 rv = stream.Seek(base::File::FROM_END, kOffset, callback64.callback());
380 ASSERT_EQ(ERR_IO_PENDING, rv); 382 ASSERT_EQ(ERR_IO_PENDING, rv);
381 int64 new_offset = callback64.WaitForResult(); 383 int64 new_offset = callback64.WaitForResult();
382 EXPECT_EQ(kTestDataSize, new_offset); 384 EXPECT_EQ(kTestDataSize, new_offset);
383 385
384 int total_bytes_written = 0; 386 int total_bytes_written = 0;
385 387
386 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 388 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
387 scoped_refptr<DrainableIOBuffer> drainable = 389 scoped_refptr<DrainableIOBuffer> drainable =
388 new DrainableIOBuffer(buf.get(), buf->size()); 390 new DrainableIOBuffer(buf.get(), buf->size());
389 while (total_bytes_written != kTestDataSize) { 391 while (total_bytes_written != kTestDataSize) {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 scoped_ptr<FileStream> stream( 463 scoped_ptr<FileStream> stream(
462 new FileStream(base::MessageLoopProxy::current())); 464 new FileStream(base::MessageLoopProxy::current()));
463 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ | 465 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ |
464 base::File::FLAG_WRITE | base::File::FLAG_ASYNC; 466 base::File::FLAG_WRITE | base::File::FLAG_ASYNC;
465 TestCompletionCallback callback; 467 TestCompletionCallback callback;
466 int rv = stream->Open(temp_file_path(), flags, callback.callback()); 468 int rv = stream->Open(temp_file_path(), flags, callback.callback());
467 EXPECT_EQ(ERR_IO_PENDING, rv); 469 EXPECT_EQ(ERR_IO_PENDING, rv);
468 EXPECT_EQ(OK, callback.WaitForResult()); 470 EXPECT_EQ(OK, callback.WaitForResult());
469 471
470 TestInt64CompletionCallback callback64; 472 TestInt64CompletionCallback callback64;
471 rv = stream->Seek(FROM_END, 0, callback64.callback()); 473 rv = stream->Seek(base::File::FROM_END, 0, callback64.callback());
472 ASSERT_EQ(ERR_IO_PENDING, rv); 474 ASSERT_EQ(ERR_IO_PENDING, rv);
473 int64 offset = callback64.WaitForResult(); 475 int64 offset = callback64.WaitForResult();
474 EXPECT_EQ(offset, file_size); 476 EXPECT_EQ(offset, file_size);
475 477
476 int total_bytes_written = 0; 478 int total_bytes_written = 0;
477 479
478 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 480 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
479 scoped_refptr<DrainableIOBuffer> drainable = 481 scoped_refptr<DrainableIOBuffer> drainable =
480 new DrainableIOBuffer(buf.get(), buf->size()); 482 new DrainableIOBuffer(buf.get(), buf->size());
481 while (total_bytes_written != kTestDataSize) { 483 while (total_bytes_written != kTestDataSize) {
482 rv = stream->Write(drainable.get(), drainable->BytesRemaining(), 484 rv = stream->Write(drainable.get(), drainable->BytesRemaining(),
483 callback.callback()); 485 callback.callback());
484 if (rv == ERR_IO_PENDING) 486 if (rv == ERR_IO_PENDING)
485 rv = callback.WaitForResult(); 487 rv = callback.WaitForResult();
486 EXPECT_LT(0, rv); 488 EXPECT_LT(0, rv);
487 if (rv <= 0) 489 if (rv <= 0)
488 break; 490 break;
489 drainable->DidConsume(rv); 491 drainable->DidConsume(rv);
490 total_bytes_written += rv; 492 total_bytes_written += rv;
491 } 493 }
492 494
493 EXPECT_EQ(kTestDataSize, total_bytes_written); 495 EXPECT_EQ(kTestDataSize, total_bytes_written);
494 496
495 rv = stream->Seek(FROM_BEGIN, 0, callback64.callback()); 497 rv = stream->Seek(base::File::FROM_BEGIN, 0, callback64.callback());
496 ASSERT_EQ(ERR_IO_PENDING, rv); 498 ASSERT_EQ(ERR_IO_PENDING, rv);
497 offset = callback64.WaitForResult(); 499 offset = callback64.WaitForResult();
498 EXPECT_EQ(0, offset); 500 EXPECT_EQ(0, offset);
499 501
500 int total_bytes_read = 0; 502 int total_bytes_read = 0;
501 503
502 std::string data_read; 504 std::string data_read;
503 for (;;) { 505 for (;;) {
504 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4); 506 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
505 rv = stream->Read(buf.get(), buf->size(), callback.callback()); 507 rv = stream->Read(buf.get(), buf->size(), callback.callback());
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 drainable_.get(), drainable_->BytesRemaining(), callback.callback()); 572 drainable_.get(), drainable_->BytesRemaining(), callback.callback());
571 DCHECK_EQ(ERR_IO_PENDING, rv); 573 DCHECK_EQ(ERR_IO_PENDING, rv);
572 rv = callback.WaitForResult(); 574 rv = callback.WaitForResult();
573 drainable_->DidConsume(total_bytes_written); 575 drainable_->DidConsume(total_bytes_written);
574 *total_bytes_written_ += total_bytes_written; 576 *total_bytes_written_ += total_bytes_written;
575 *total_bytes_read_ += total_bytes_read; 577 *total_bytes_read_ += total_bytes_read;
576 *data_read_ += data_read; 578 *data_read_ += data_read;
577 } else { // We're done writing all data. Start reading the data. 579 } else { // We're done writing all data. Start reading the data.
578 TestInt64CompletionCallback callback64; 580 TestInt64CompletionCallback callback64;
579 EXPECT_EQ(ERR_IO_PENDING, 581 EXPECT_EQ(ERR_IO_PENDING,
580 stream_->Seek(FROM_BEGIN, 0, callback64.callback())); 582 stream_->Seek(base::File::FROM_BEGIN, 0,
583 callback64.callback()));
581 { 584 {
582 base::MessageLoop::ScopedNestableTaskAllower allow( 585 base::MessageLoop::ScopedNestableTaskAllower allow(
583 base::MessageLoop::current()); 586 base::MessageLoop::current());
584 EXPECT_LE(0, callback64.WaitForResult()); 587 EXPECT_LE(0, callback64.WaitForResult());
585 } 588 }
586 589
587 TestCompletionCallback callback; 590 TestCompletionCallback callback;
588 for (;;) { 591 for (;;) {
589 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4); 592 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
590 rv = stream_->Read(buf.get(), buf->size(), callback.callback()); 593 rv = stream_->Read(buf.get(), buf->size(), callback.callback());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 scoped_ptr<FileStream> stream( 631 scoped_ptr<FileStream> stream(
629 new FileStream(base::MessageLoopProxy::current())); 632 new FileStream(base::MessageLoopProxy::current()));
630 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ | 633 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ |
631 base::File::FLAG_WRITE | base::File::FLAG_ASYNC; 634 base::File::FLAG_WRITE | base::File::FLAG_ASYNC;
632 TestCompletionCallback open_callback; 635 TestCompletionCallback open_callback;
633 int rv = stream->Open(temp_file_path(), flags, open_callback.callback()); 636 int rv = stream->Open(temp_file_path(), flags, open_callback.callback());
634 EXPECT_EQ(ERR_IO_PENDING, rv); 637 EXPECT_EQ(ERR_IO_PENDING, rv);
635 EXPECT_EQ(OK, open_callback.WaitForResult()); 638 EXPECT_EQ(OK, open_callback.WaitForResult());
636 639
637 TestInt64CompletionCallback callback64; 640 TestInt64CompletionCallback callback64;
638 EXPECT_EQ(ERR_IO_PENDING, stream->Seek(FROM_END, 0, callback64.callback())); 641 EXPECT_EQ(ERR_IO_PENDING,
642 stream->Seek(base::File::FROM_END, 0, callback64.callback()));
639 EXPECT_EQ(file_size, callback64.WaitForResult()); 643 EXPECT_EQ(file_size, callback64.WaitForResult());
640 644
641 int total_bytes_written = 0; 645 int total_bytes_written = 0;
642 int total_bytes_read = 0; 646 int total_bytes_read = 0;
643 std::string data_read; 647 std::string data_read;
644 TestWriteReadCompletionCallback callback(stream.get(), &total_bytes_written, 648 TestWriteReadCompletionCallback callback(stream.get(), &total_bytes_written,
645 &total_bytes_read, &data_read); 649 &total_bytes_read, &data_read);
646 650
647 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 651 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
648 rv = stream->Write(buf.get(), buf->size(), callback.callback()); 652 rv = stream->Write(buf.get(), buf->size(), callback.callback());
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 scoped_ptr<FileStream> stream( 736 scoped_ptr<FileStream> stream(
733 new FileStream(base::MessageLoopProxy::current())); 737 new FileStream(base::MessageLoopProxy::current()));
734 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ | 738 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ |
735 base::File::FLAG_WRITE | base::File::FLAG_ASYNC; 739 base::File::FLAG_WRITE | base::File::FLAG_ASYNC;
736 TestCompletionCallback open_callback; 740 TestCompletionCallback open_callback;
737 int rv = stream->Open(temp_file_path(), flags, open_callback.callback()); 741 int rv = stream->Open(temp_file_path(), flags, open_callback.callback());
738 EXPECT_EQ(ERR_IO_PENDING, rv); 742 EXPECT_EQ(ERR_IO_PENDING, rv);
739 EXPECT_EQ(OK, open_callback.WaitForResult()); 743 EXPECT_EQ(OK, open_callback.WaitForResult());
740 744
741 TestInt64CompletionCallback callback64; 745 TestInt64CompletionCallback callback64;
742 EXPECT_EQ(ERR_IO_PENDING, stream->Seek(FROM_END, 0, callback64.callback())); 746 EXPECT_EQ(ERR_IO_PENDING,
747 stream->Seek(base::File::FROM_END, 0, callback64.callback()));
743 EXPECT_EQ(file_size, callback64.WaitForResult()); 748 EXPECT_EQ(file_size, callback64.WaitForResult());
744 749
745 int total_bytes_written = 0; 750 int total_bytes_written = 0;
746 TestWriteCloseCompletionCallback callback(stream.get(), &total_bytes_written); 751 TestWriteCloseCompletionCallback callback(stream.get(), &total_bytes_written);
747 752
748 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 753 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
749 rv = stream->Write(buf.get(), buf->size(), callback.callback()); 754 rv = stream->Write(buf.get(), buf->size(), callback.callback());
750 if (rv == ERR_IO_PENDING) 755 if (rv == ERR_IO_PENDING)
751 total_bytes_written = callback.WaitForResult(); 756 total_bytes_written = callback.WaitForResult();
752 EXPECT_LT(0, total_bytes_written); 757 EXPECT_LT(0, total_bytes_written);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 total_bytes_read += rv; 883 total_bytes_read += rv;
879 data_read.append(buf->data(), rv); 884 data_read.append(buf->data(), rv);
880 } 885 }
881 EXPECT_EQ(file_size, total_bytes_read); 886 EXPECT_EQ(file_size, total_bytes_read);
882 } 887 }
883 #endif 888 #endif
884 889
885 } // namespace 890 } // namespace
886 891
887 } // namespace net 892 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698