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

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

Issue 9949011: Make FileStream::Seek async and add FileStream::SeekSync for sync operation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 8 years, 8 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.
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"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 148
149 // 1. Test reading with a file handle. 149 // 1. Test reading with a file handle.
150 ASSERT_EQ(kTestDataSize, 150 ASSERT_EQ(kTestDataSize,
151 file_util::WriteFile(temp_file_path(), kTestData, kTestDataSize)); 151 file_util::WriteFile(temp_file_path(), kTestData, kTestDataSize));
152 int flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_READ; 152 int flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_READ;
153 base::PlatformFile file = base::CreatePlatformFile( 153 base::PlatformFile file = base::CreatePlatformFile(
154 temp_file_path(), flags, &created, NULL); 154 temp_file_path(), flags, &created, NULL);
155 155
156 // Seek to the beginning of the file and read. 156 // Seek to the beginning of the file and read.
157 FileStream read_stream(file, flags, NULL); 157 FileStream read_stream(file, flags, NULL);
158 ASSERT_EQ(0, read_stream.Seek(FROM_BEGIN, 0)); 158 ASSERT_EQ(0, read_stream.SeekSync(FROM_BEGIN, 0));
willchan no longer on Chromium 2012/04/05 15:12:28 We need new tests for the asynchronous API too.
kinuko 2012/04/06 12:42:37 Added AsyncSeekAround test and replaced SeekSync w
159 ASSERT_EQ(kTestDataSize, read_stream.Available()); 159 ASSERT_EQ(kTestDataSize, read_stream.Available());
160 // Read into buffer and compare. 160 // Read into buffer and compare.
161 char buffer[kTestDataSize]; 161 char buffer[kTestDataSize];
162 ASSERT_EQ(kTestDataSize, 162 ASSERT_EQ(kTestDataSize,
163 read_stream.ReadSync(buffer, kTestDataSize)); 163 read_stream.ReadSync(buffer, kTestDataSize));
164 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize)); 164 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize));
165 read_stream.CloseSync(); 165 read_stream.CloseSync();
166 166
167 // 2. Test writing with a file handle. 167 // 2. Test writing with a file handle.
168 file_util::Delete(temp_file_path(), false); 168 file_util::Delete(temp_file_path(), false);
169 flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE; 169 flags = base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE;
170 file = base::CreatePlatformFile(temp_file_path(), flags, &created, NULL); 170 file = base::CreatePlatformFile(temp_file_path(), flags, &created, NULL);
171 171
172 FileStream write_stream(file, flags, NULL); 172 FileStream write_stream(file, flags, NULL);
173 ASSERT_EQ(0, write_stream.Seek(FROM_BEGIN, 0)); 173 ASSERT_EQ(0, write_stream.SeekSync(FROM_BEGIN, 0));
174 ASSERT_EQ(kTestDataSize, 174 ASSERT_EQ(kTestDataSize,
175 write_stream.WriteSync(kTestData, kTestDataSize)); 175 write_stream.WriteSync(kTestData, kTestDataSize));
176 write_stream.CloseSync(); 176 write_stream.CloseSync();
177 177
178 // Read into buffer and compare to make sure the handle worked fine. 178 // Read into buffer and compare to make sure the handle worked fine.
179 ASSERT_EQ(kTestDataSize, 179 ASSERT_EQ(kTestDataSize,
180 file_util::ReadFile(temp_file_path(), buffer, kTestDataSize)); 180 file_util::ReadFile(temp_file_path(), buffer, kTestDataSize));
181 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize)); 181 ASSERT_EQ(0, memcmp(kTestData, buffer, kTestDataSize));
182 } 182 }
183 183
184 TEST_F(FileStreamTest, UseClosedStream) { 184 TEST_F(FileStreamTest, UseClosedStream) {
185 FileStream stream(NULL); 185 FileStream stream(NULL);
186 186
187 EXPECT_FALSE(stream.IsOpen()); 187 EXPECT_FALSE(stream.IsOpen());
188 188
189 // Try seeking... 189 // Try seeking...
190 int64 new_offset = stream.Seek(FROM_BEGIN, 5); 190 int64 new_offset = stream.SeekSync(FROM_BEGIN, 5);
191 EXPECT_EQ(ERR_UNEXPECTED, new_offset); 191 EXPECT_EQ(ERR_UNEXPECTED, new_offset);
192 192
193 // Try available... 193 // Try available...
194 int64 avail = stream.Available(); 194 int64 avail = stream.Available();
195 EXPECT_EQ(ERR_UNEXPECTED, avail); 195 EXPECT_EQ(ERR_UNEXPECTED, avail);
196 196
197 // Try reading... 197 // Try reading...
198 char buf[10]; 198 char buf[10];
199 int rv = stream.ReadSync(buf, arraysize(buf)); 199 int rv = stream.ReadSync(buf, arraysize(buf));
200 EXPECT_EQ(ERR_UNEXPECTED, rv); 200 EXPECT_EQ(ERR_UNEXPECTED, rv);
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 373 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
374 EXPECT_TRUE(ok); 374 EXPECT_TRUE(ok);
375 375
376 FileStream stream(NULL); 376 FileStream stream(NULL);
377 int flags = base::PLATFORM_FILE_OPEN | 377 int flags = base::PLATFORM_FILE_OPEN |
378 base::PLATFORM_FILE_READ; 378 base::PLATFORM_FILE_READ;
379 int rv = stream.OpenSync(temp_file_path(), flags); 379 int rv = stream.OpenSync(temp_file_path(), flags);
380 EXPECT_EQ(OK, rv); 380 EXPECT_EQ(OK, rv);
381 381
382 const int64 kOffset = 3; 382 const int64 kOffset = 3;
383 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset); 383 int64 new_offset = stream.SeekSync(FROM_BEGIN, kOffset);
384 EXPECT_EQ(kOffset, new_offset); 384 EXPECT_EQ(kOffset, new_offset);
385 385
386 int64 total_bytes_avail = stream.Available(); 386 int64 total_bytes_avail = stream.Available();
387 EXPECT_EQ(file_size - kOffset, total_bytes_avail); 387 EXPECT_EQ(file_size - kOffset, total_bytes_avail);
388 388
389 int64 total_bytes_read = 0; 389 int64 total_bytes_read = 0;
390 390
391 std::string data_read; 391 std::string data_read;
392 for (;;) { 392 for (;;) {
393 char buf[4]; 393 char buf[4];
(...skipping 15 matching lines...) Expand all
409 EXPECT_TRUE(ok); 409 EXPECT_TRUE(ok);
410 410
411 FileStream stream(NULL); 411 FileStream stream(NULL);
412 int flags = base::PLATFORM_FILE_OPEN | 412 int flags = base::PLATFORM_FILE_OPEN |
413 base::PLATFORM_FILE_READ | 413 base::PLATFORM_FILE_READ |
414 base::PLATFORM_FILE_ASYNC; 414 base::PLATFORM_FILE_ASYNC;
415 int rv = stream.OpenSync(temp_file_path(), flags); 415 int rv = stream.OpenSync(temp_file_path(), flags);
416 EXPECT_EQ(OK, rv); 416 EXPECT_EQ(OK, rv);
417 417
418 const int64 kOffset = 3; 418 const int64 kOffset = 3;
419 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset); 419 int64 new_offset = stream.SeekSync(FROM_BEGIN, kOffset);
420 EXPECT_EQ(kOffset, new_offset); 420 EXPECT_EQ(kOffset, new_offset);
421 421
422 int64 total_bytes_avail = stream.Available(); 422 int64 total_bytes_avail = stream.Available();
423 EXPECT_EQ(file_size - kOffset, total_bytes_avail); 423 EXPECT_EQ(file_size - kOffset, total_bytes_avail);
424 424
425 TestCompletionCallback callback; 425 TestCompletionCallback callback;
426 426
427 int total_bytes_read = 0; 427 int total_bytes_read = 0;
428 428
429 std::string data_read; 429 std::string data_read;
(...skipping 13 matching lines...) Expand all
443 } 443 }
444 444
445 TEST_F(FileStreamTest, SeekAround) { 445 TEST_F(FileStreamTest, SeekAround) {
446 FileStream stream(NULL); 446 FileStream stream(NULL);
447 int flags = base::PLATFORM_FILE_OPEN | 447 int flags = base::PLATFORM_FILE_OPEN |
448 base::PLATFORM_FILE_READ; 448 base::PLATFORM_FILE_READ;
449 int rv = stream.OpenSync(temp_file_path(), flags); 449 int rv = stream.OpenSync(temp_file_path(), flags);
450 EXPECT_EQ(OK, rv); 450 EXPECT_EQ(OK, rv);
451 451
452 const int64 kOffset = 3; 452 const int64 kOffset = 3;
453 int64 new_offset = stream.Seek(FROM_BEGIN, kOffset); 453 int64 new_offset = stream.SeekSync(FROM_BEGIN, kOffset);
454 EXPECT_EQ(kOffset, new_offset); 454 EXPECT_EQ(kOffset, new_offset);
455 455
456 new_offset = stream.Seek(FROM_CURRENT, kOffset); 456 new_offset = stream.SeekSync(FROM_CURRENT, kOffset);
457 EXPECT_EQ(2 * kOffset, new_offset); 457 EXPECT_EQ(2 * kOffset, new_offset);
458 458
459 new_offset = stream.Seek(FROM_CURRENT, -kOffset); 459 new_offset = stream.SeekSync(FROM_CURRENT, -kOffset);
460 EXPECT_EQ(kOffset, new_offset); 460 EXPECT_EQ(kOffset, new_offset);
461 461
462 const int kTestDataLen = arraysize(kTestData) - 1; 462 const int kTestDataLen = arraysize(kTestData) - 1;
463 463
464 new_offset = stream.Seek(FROM_END, -kTestDataLen); 464 new_offset = stream.SeekSync(FROM_END, -kTestDataLen);
465 EXPECT_EQ(0, new_offset); 465 EXPECT_EQ(0, new_offset);
466 } 466 }
467 467
468 TEST_F(FileStreamTest, BasicWrite) { 468 TEST_F(FileStreamTest, BasicWrite) {
469 FileStream stream(NULL); 469 FileStream stream(NULL);
470 int flags = base::PLATFORM_FILE_CREATE_ALWAYS | 470 int flags = base::PLATFORM_FILE_CREATE_ALWAYS |
471 base::PLATFORM_FILE_WRITE; 471 base::PLATFORM_FILE_WRITE;
472 int rv = stream.OpenSync(temp_file_path(), flags); 472 int rv = stream.OpenSync(temp_file_path(), flags);
473 EXPECT_EQ(OK, rv); 473 EXPECT_EQ(OK, rv);
474 474
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 base::PLATFORM_FILE_WRITE; 557 base::PLATFORM_FILE_WRITE;
558 int rv = stream.OpenSync(temp_file_path(), flags); 558 int rv = stream.OpenSync(temp_file_path(), flags);
559 EXPECT_EQ(OK, rv); 559 EXPECT_EQ(OK, rv);
560 560
561 int64 file_size; 561 int64 file_size;
562 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 562 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
563 EXPECT_TRUE(ok); 563 EXPECT_TRUE(ok);
564 EXPECT_EQ(kTestDataSize, file_size); 564 EXPECT_EQ(kTestDataSize, file_size);
565 565
566 const int64 kOffset = 0; 566 const int64 kOffset = 0;
567 int64 new_offset = stream.Seek(FROM_END, kOffset); 567 int64 new_offset = stream.SeekSync(FROM_END, kOffset);
568 EXPECT_EQ(kTestDataSize, new_offset); 568 EXPECT_EQ(kTestDataSize, new_offset);
569 569
570 rv = stream.WriteSync(kTestData, kTestDataSize); 570 rv = stream.WriteSync(kTestData, kTestDataSize);
571 EXPECT_EQ(kTestDataSize, rv); 571 EXPECT_EQ(kTestDataSize, rv);
572 stream.CloseSync(); 572 stream.CloseSync();
573 573
574 ok = file_util::GetFileSize(temp_file_path(), &file_size); 574 ok = file_util::GetFileSize(temp_file_path(), &file_size);
575 EXPECT_TRUE(ok); 575 EXPECT_TRUE(ok);
576 EXPECT_EQ(kTestDataSize * 2, file_size); 576 EXPECT_EQ(kTestDataSize * 2, file_size);
577 } 577 }
578 578
579 TEST_F(FileStreamTest, AsyncWrite_FromOffset) { 579 TEST_F(FileStreamTest, AsyncWrite_FromOffset) {
580 int64 file_size; 580 int64 file_size;
581 bool ok = file_util::GetFileSize(temp_file_path(), &file_size); 581 bool ok = file_util::GetFileSize(temp_file_path(), &file_size);
582 EXPECT_TRUE(ok); 582 EXPECT_TRUE(ok);
583 583
584 FileStream stream(NULL); 584 FileStream stream(NULL);
585 int flags = base::PLATFORM_FILE_OPEN | 585 int flags = base::PLATFORM_FILE_OPEN |
586 base::PLATFORM_FILE_WRITE | 586 base::PLATFORM_FILE_WRITE |
587 base::PLATFORM_FILE_ASYNC; 587 base::PLATFORM_FILE_ASYNC;
588 int rv = stream.OpenSync(temp_file_path(), flags); 588 int rv = stream.OpenSync(temp_file_path(), flags);
589 EXPECT_EQ(OK, rv); 589 EXPECT_EQ(OK, rv);
590 590
591 const int64 kOffset = 0; 591 const int64 kOffset = 0;
592 int64 new_offset = stream.Seek(FROM_END, kOffset); 592 int64 new_offset = stream.SeekSync(FROM_END, kOffset);
593 EXPECT_EQ(kTestDataSize, new_offset); 593 EXPECT_EQ(kTestDataSize, new_offset);
594 594
595 TestCompletionCallback callback; 595 TestCompletionCallback callback;
596 int total_bytes_written = 0; 596 int total_bytes_written = 0;
597 597
598 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 598 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
599 scoped_refptr<DrainableIOBuffer> drainable = 599 scoped_refptr<DrainableIOBuffer> drainable =
600 new DrainableIOBuffer(buf, buf->size()); 600 new DrainableIOBuffer(buf, buf->size());
601 while (total_bytes_written != kTestDataSize) { 601 while (total_bytes_written != kTestDataSize) {
602 rv = stream.Write(drainable, drainable->BytesRemaining(), 602 rv = stream.Write(drainable, drainable->BytesRemaining(),
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
661 FileStream stream(NULL); 661 FileStream stream(NULL);
662 int flags = base::PLATFORM_FILE_OPEN | 662 int flags = base::PLATFORM_FILE_OPEN |
663 base::PLATFORM_FILE_READ | 663 base::PLATFORM_FILE_READ |
664 base::PLATFORM_FILE_WRITE; 664 base::PLATFORM_FILE_WRITE;
665 int rv = stream.OpenSync(temp_file_path(), flags); 665 int rv = stream.OpenSync(temp_file_path(), flags);
666 EXPECT_EQ(OK, rv); 666 EXPECT_EQ(OK, rv);
667 667
668 int64 total_bytes_avail = stream.Available(); 668 int64 total_bytes_avail = stream.Available();
669 EXPECT_EQ(file_size, total_bytes_avail); 669 EXPECT_EQ(file_size, total_bytes_avail);
670 670
671 int64 offset = stream.Seek(FROM_END, 0); 671 int64 offset = stream.SeekSync(FROM_END, 0);
672 EXPECT_EQ(offset, file_size); 672 EXPECT_EQ(offset, file_size);
673 673
674 rv = stream.WriteSync(kTestData, kTestDataSize); 674 rv = stream.WriteSync(kTestData, kTestDataSize);
675 EXPECT_EQ(kTestDataSize, rv); 675 EXPECT_EQ(kTestDataSize, rv);
676 676
677 offset = stream.Seek(FROM_BEGIN, 0); 677 offset = stream.SeekSync(FROM_BEGIN, 0);
678 EXPECT_EQ(0, offset); 678 EXPECT_EQ(0, offset);
679 679
680 int64 total_bytes_read = 0; 680 int64 total_bytes_read = 0;
681 681
682 std::string data_read; 682 std::string data_read;
683 for (;;) { 683 for (;;) {
684 char buf[4]; 684 char buf[4];
685 rv = stream.ReadSync(buf, arraysize(buf)); 685 rv = stream.ReadSync(buf, arraysize(buf));
686 EXPECT_LE(0, rv); 686 EXPECT_LE(0, rv);
687 if (rv <= 0) 687 if (rv <= 0)
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 int flags = base::PLATFORM_FILE_OPEN | 768 int flags = base::PLATFORM_FILE_OPEN |
769 base::PLATFORM_FILE_READ | 769 base::PLATFORM_FILE_READ |
770 base::PLATFORM_FILE_WRITE | 770 base::PLATFORM_FILE_WRITE |
771 base::PLATFORM_FILE_ASYNC; 771 base::PLATFORM_FILE_ASYNC;
772 int rv = stream.OpenSync(temp_file_path(), flags); 772 int rv = stream.OpenSync(temp_file_path(), flags);
773 EXPECT_EQ(OK, rv); 773 EXPECT_EQ(OK, rv);
774 774
775 int64 total_bytes_avail = stream.Available(); 775 int64 total_bytes_avail = stream.Available();
776 EXPECT_EQ(file_size, total_bytes_avail); 776 EXPECT_EQ(file_size, total_bytes_avail);
777 777
778 int64 offset = stream.Seek(FROM_END, 0); 778 int64 offset = stream.SeekSync(FROM_END, 0);
779 EXPECT_EQ(offset, file_size); 779 EXPECT_EQ(offset, file_size);
780 780
781 TestCompletionCallback callback; 781 TestCompletionCallback callback;
782 int total_bytes_written = 0; 782 int total_bytes_written = 0;
783 783
784 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 784 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
785 scoped_refptr<DrainableIOBuffer> drainable = 785 scoped_refptr<DrainableIOBuffer> drainable =
786 new DrainableIOBuffer(buf, buf->size()); 786 new DrainableIOBuffer(buf, buf->size());
787 while (total_bytes_written != kTestDataSize) { 787 while (total_bytes_written != kTestDataSize) {
788 rv = stream.Write(drainable, drainable->BytesRemaining(), 788 rv = stream.Write(drainable, drainable->BytesRemaining(),
789 callback.callback()); 789 callback.callback());
790 if (rv == ERR_IO_PENDING) 790 if (rv == ERR_IO_PENDING)
791 rv = callback.WaitForResult(); 791 rv = callback.WaitForResult();
792 EXPECT_LT(0, rv); 792 EXPECT_LT(0, rv);
793 if (rv <= 0) 793 if (rv <= 0)
794 break; 794 break;
795 drainable->DidConsume(rv); 795 drainable->DidConsume(rv);
796 total_bytes_written += rv; 796 total_bytes_written += rv;
797 } 797 }
798 798
799 EXPECT_EQ(kTestDataSize, total_bytes_written); 799 EXPECT_EQ(kTestDataSize, total_bytes_written);
800 800
801 offset = stream.Seek(FROM_BEGIN, 0); 801 offset = stream.SeekSync(FROM_BEGIN, 0);
802 EXPECT_EQ(0, offset); 802 EXPECT_EQ(0, offset);
803 803
804 int total_bytes_read = 0; 804 int total_bytes_read = 0;
805 805
806 std::string data_read; 806 std::string data_read;
807 for (;;) { 807 for (;;) {
808 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4); 808 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
809 rv = stream.Read(buf, buf->size(), callback.callback()); 809 rv = stream.Read(buf, buf->size(), callback.callback());
810 if (rv == ERR_IO_PENDING) 810 if (rv == ERR_IO_PENDING)
811 rv = callback.WaitForResult(); 811 rv = callback.WaitForResult();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 stream_, &total_bytes_written, &total_bytes_read, &data_read); 875 stream_, &total_bytes_written, &total_bytes_read, &data_read);
876 rv = stream_->Write(drainable_, drainable_->BytesRemaining(), 876 rv = stream_->Write(drainable_, drainable_->BytesRemaining(),
877 callback.callback()); 877 callback.callback());
878 DCHECK_EQ(ERR_IO_PENDING, rv); 878 DCHECK_EQ(ERR_IO_PENDING, rv);
879 rv = callback.WaitForResult(); 879 rv = callback.WaitForResult();
880 drainable_->DidConsume(total_bytes_written); 880 drainable_->DidConsume(total_bytes_written);
881 *total_bytes_written_ += total_bytes_written; 881 *total_bytes_written_ += total_bytes_written;
882 *total_bytes_read_ += total_bytes_read; 882 *total_bytes_read_ += total_bytes_read;
883 *data_read_ += data_read; 883 *data_read_ += data_read;
884 } else { // We're done writing all data. Start reading the data. 884 } else { // We're done writing all data. Start reading the data.
885 stream_->Seek(FROM_BEGIN, 0); 885 stream_->SeekSync(FROM_BEGIN, 0);
886 886
887 TestCompletionCallback callback; 887 TestCompletionCallback callback;
888 for (;;) { 888 for (;;) {
889 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4); 889 scoped_refptr<IOBufferWithSize> buf = new IOBufferWithSize(4);
890 rv = stream_->Read(buf, buf->size(), callback.callback()); 890 rv = stream_->Read(buf, buf->size(), callback.callback());
891 if (rv == ERR_IO_PENDING) { 891 if (rv == ERR_IO_PENDING) {
892 MessageLoop::ScopedNestableTaskAllower allow(MessageLoop::current()); 892 MessageLoop::ScopedNestableTaskAllower allow(MessageLoop::current());
893 rv = callback.WaitForResult(); 893 rv = callback.WaitForResult();
894 } 894 }
895 EXPECT_LE(0, rv); 895 EXPECT_LE(0, rv);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 int flags = base::PLATFORM_FILE_OPEN | 929 int flags = base::PLATFORM_FILE_OPEN |
930 base::PLATFORM_FILE_READ | 930 base::PLATFORM_FILE_READ |
931 base::PLATFORM_FILE_WRITE | 931 base::PLATFORM_FILE_WRITE |
932 base::PLATFORM_FILE_ASYNC; 932 base::PLATFORM_FILE_ASYNC;
933 int rv = stream.OpenSync(temp_file_path(), flags); 933 int rv = stream.OpenSync(temp_file_path(), flags);
934 EXPECT_EQ(OK, rv); 934 EXPECT_EQ(OK, rv);
935 935
936 int64 total_bytes_avail = stream.Available(); 936 int64 total_bytes_avail = stream.Available();
937 EXPECT_EQ(file_size, total_bytes_avail); 937 EXPECT_EQ(file_size, total_bytes_avail);
938 938
939 int64 offset = stream.Seek(FROM_END, 0); 939 int64 offset = stream.SeekSync(FROM_END, 0);
940 EXPECT_EQ(offset, file_size); 940 EXPECT_EQ(offset, file_size);
941 941
942 int total_bytes_written = 0; 942 int total_bytes_written = 0;
943 int total_bytes_read = 0; 943 int total_bytes_read = 0;
944 std::string data_read; 944 std::string data_read;
945 TestWriteReadCompletionCallback callback(&stream, &total_bytes_written, 945 TestWriteReadCompletionCallback callback(&stream, &total_bytes_written,
946 &total_bytes_read, &data_read); 946 &total_bytes_read, &data_read);
947 947
948 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 948 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
949 rv = stream.Write(buf, buf->size(), callback.callback()); 949 rv = stream.Write(buf, buf->size(), callback.callback());
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 int flags = base::PLATFORM_FILE_OPEN | 1039 int flags = base::PLATFORM_FILE_OPEN |
1040 base::PLATFORM_FILE_READ | 1040 base::PLATFORM_FILE_READ |
1041 base::PLATFORM_FILE_WRITE | 1041 base::PLATFORM_FILE_WRITE |
1042 base::PLATFORM_FILE_ASYNC; 1042 base::PLATFORM_FILE_ASYNC;
1043 int rv = stream.OpenSync(temp_file_path(), flags); 1043 int rv = stream.OpenSync(temp_file_path(), flags);
1044 EXPECT_EQ(OK, rv); 1044 EXPECT_EQ(OK, rv);
1045 1045
1046 int64 total_bytes_avail = stream.Available(); 1046 int64 total_bytes_avail = stream.Available();
1047 EXPECT_EQ(file_size, total_bytes_avail); 1047 EXPECT_EQ(file_size, total_bytes_avail);
1048 1048
1049 int64 offset = stream.Seek(FROM_END, 0); 1049 int64 offset = stream.SeekSync(FROM_END, 0);
1050 EXPECT_EQ(offset, file_size); 1050 EXPECT_EQ(offset, file_size);
1051 1051
1052 int total_bytes_written = 0; 1052 int total_bytes_written = 0;
1053 TestWriteCloseCompletionCallback callback(&stream, &total_bytes_written); 1053 TestWriteCloseCompletionCallback callback(&stream, &total_bytes_written);
1054 1054
1055 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer(); 1055 scoped_refptr<IOBufferWithSize> buf = CreateTestDataBuffer();
1056 rv = stream.Write(buf, buf->size(), callback.callback()); 1056 rv = stream.Write(buf, buf->size(), callback.callback());
1057 if (rv == ERR_IO_PENDING) 1057 if (rv == ERR_IO_PENDING)
1058 total_bytes_written = callback.WaitForResult(); 1058 total_bytes_written = callback.WaitForResult();
1059 EXPECT_LT(0, total_bytes_written); 1059 EXPECT_LT(0, total_bytes_written);
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
1215 // Delete the stream without waiting for the close operation to be 1215 // Delete the stream without waiting for the close operation to be
1216 // complete. Should be safe. 1216 // complete. Should be safe.
1217 stream.reset(); 1217 stream.reset();
1218 // close_callback won't be called. 1218 // close_callback won't be called.
1219 EXPECT_FALSE(close_callback.have_result()); 1219 EXPECT_FALSE(close_callback.have_result());
1220 } 1220 }
1221 1221
1222 } // namespace 1222 } // namespace
1223 1223
1224 } // namespace net 1224 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698