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

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

Issue 11778016: net: Stop using base::WorkerPool from UploadFileElementReader (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix CF Created 7 years, 11 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 (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/upload_data_stream.h" 5 #include "net/base/upload_data_stream.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 } 162 }
163 163
164 TEST_F(UploadDataStreamTest, File) { 164 TEST_F(UploadDataStreamTest, File) {
165 FilePath temp_file_path; 165 FilePath temp_file_path;
166 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 166 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
167 &temp_file_path)); 167 &temp_file_path));
168 ASSERT_EQ(static_cast<int>(kTestDataSize), 168 ASSERT_EQ(static_cast<int>(kTestDataSize),
169 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 169 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
170 170
171 element_readers_.push_back(new UploadFileElementReader( 171 element_readers_.push_back(new UploadFileElementReader(
172 base::MessageLoopProxy::current(),
172 temp_file_path, 0, kuint64max, base::Time())); 173 temp_file_path, 0, kuint64max, base::Time()));
173 174
174 TestCompletionCallback init_callback; 175 TestCompletionCallback init_callback;
175 UploadDataStream stream(&element_readers_, 0); 176 UploadDataStream stream(&element_readers_, 0);
176 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); 177 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback()));
177 ASSERT_EQ(OK, init_callback.WaitForResult()); 178 ASSERT_EQ(OK, init_callback.WaitForResult());
178 EXPECT_FALSE(stream.IsInMemory()); 179 EXPECT_FALSE(stream.IsInMemory());
179 EXPECT_EQ(kTestDataSize, stream.size()); 180 EXPECT_EQ(kTestDataSize, stream.size());
180 EXPECT_EQ(0U, stream.position()); 181 EXPECT_EQ(0U, stream.position());
181 EXPECT_FALSE(stream.IsEOF()); 182 EXPECT_FALSE(stream.IsEOF());
(...skipping 13 matching lines...) Expand all
195 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 196 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
196 &temp_file_path)); 197 &temp_file_path));
197 ASSERT_EQ(static_cast<int>(kTestDataSize), 198 ASSERT_EQ(static_cast<int>(kTestDataSize),
198 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 199 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
199 const uint64 kFakeSize = kTestDataSize*2; 200 const uint64 kFakeSize = kTestDataSize*2;
200 201
201 UploadFileElementReader::ScopedOverridingContentLengthForTests 202 UploadFileElementReader::ScopedOverridingContentLengthForTests
202 overriding_content_length(kFakeSize); 203 overriding_content_length(kFakeSize);
203 204
204 element_readers_.push_back(new UploadFileElementReader( 205 element_readers_.push_back(new UploadFileElementReader(
206 base::MessageLoopProxy::current(),
205 temp_file_path, 0, kuint64max, base::Time())); 207 temp_file_path, 0, kuint64max, base::Time()));
206 208
207 TestCompletionCallback init_callback; 209 TestCompletionCallback init_callback;
208 UploadDataStream stream(&element_readers_, 0); 210 UploadDataStream stream(&element_readers_, 0);
209 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); 211 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback()));
210 ASSERT_EQ(OK, init_callback.WaitForResult()); 212 ASSERT_EQ(OK, init_callback.WaitForResult());
211 EXPECT_FALSE(stream.IsInMemory()); 213 EXPECT_FALSE(stream.IsInMemory());
212 EXPECT_EQ(kFakeSize, stream.size()); 214 EXPECT_EQ(kFakeSize, stream.size());
213 EXPECT_EQ(0U, stream.position()); 215 EXPECT_EQ(0U, stream.position());
214 EXPECT_FALSE(stream.IsEOF()); 216 EXPECT_FALSE(stream.IsEOF());
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 TEST_F(UploadDataStreamTest, FileAndBytes) { 308 TEST_F(UploadDataStreamTest, FileAndBytes) {
307 FilePath temp_file_path; 309 FilePath temp_file_path;
308 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 310 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
309 &temp_file_path)); 311 &temp_file_path));
310 ASSERT_EQ(static_cast<int>(kTestDataSize), 312 ASSERT_EQ(static_cast<int>(kTestDataSize),
311 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 313 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
312 314
313 const uint64 kFileRangeOffset = 1; 315 const uint64 kFileRangeOffset = 1;
314 const uint64 kFileRangeLength = 4; 316 const uint64 kFileRangeLength = 4;
315 element_readers_.push_back(new UploadFileElementReader( 317 element_readers_.push_back(new UploadFileElementReader(
318 base::MessageLoopProxy::current(),
316 temp_file_path, kFileRangeOffset, kFileRangeLength, base::Time())); 319 temp_file_path, kFileRangeOffset, kFileRangeLength, base::Time()));
317 320
318 element_readers_.push_back(new UploadBytesElementReader( 321 element_readers_.push_back(new UploadBytesElementReader(
319 kTestData, kTestDataSize)); 322 kTestData, kTestDataSize));
320 323
321 const uint64 kStreamSize = kTestDataSize + kFileRangeLength; 324 const uint64 kStreamSize = kTestDataSize + kFileRangeLength;
322 TestCompletionCallback init_callback; 325 TestCompletionCallback init_callback;
323 UploadDataStream stream(&element_readers_, 0); 326 UploadDataStream stream(&element_readers_, 0);
324 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); 327 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback()));
325 ASSERT_EQ(OK, init_callback.WaitForResult()); 328 ASSERT_EQ(OK, init_callback.WaitForResult());
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 stream.Read(buf, kTestDataSize*2, read_callback3.callback())); 505 stream.Read(buf, kTestDataSize*2, read_callback3.callback()));
503 EXPECT_EQ(static_cast<int>(kTestDataSize*2), read_callback3.WaitForResult()); 506 EXPECT_EQ(static_cast<int>(kTestDataSize*2), read_callback3.WaitForResult());
504 } 507 }
505 508
506 void UploadDataStreamTest::FileChangedHelper(const FilePath& file_path, 509 void UploadDataStreamTest::FileChangedHelper(const FilePath& file_path,
507 const base::Time& time, 510 const base::Time& time,
508 bool error_expected) { 511 bool error_expected) {
509 // Don't use element_readers_ here, as this function is called twice, and 512 // Don't use element_readers_ here, as this function is called twice, and
510 // reusing element_readers_ is wrong. 513 // reusing element_readers_ is wrong.
511 ScopedVector<UploadElementReader> element_readers; 514 ScopedVector<UploadElementReader> element_readers;
512 element_readers.push_back(new UploadFileElementReader(file_path, 1, 2, time)); 515 element_readers.push_back(new UploadFileElementReader(
516 base::MessageLoopProxy::current(), file_path, 1, 2, time));
513 517
514 TestCompletionCallback init_callback; 518 TestCompletionCallback init_callback;
515 UploadDataStream stream(&element_readers, 0); 519 UploadDataStream stream(&element_readers, 0);
516 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback())); 520 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback.callback()));
517 int error_code = init_callback.WaitForResult(); 521 int error_code = init_callback.WaitForResult();
518 if (error_expected) 522 if (error_expected)
519 ASSERT_EQ(ERR_UPLOAD_FILE_CHANGED, error_code); 523 ASSERT_EQ(ERR_UPLOAD_FILE_CHANGED, error_code);
520 else 524 else
521 ASSERT_EQ(OK, error_code); 525 ASSERT_EQ(OK, error_code);
522 } 526 }
(...skipping 21 matching lines...) Expand all
544 FilePath temp_file_path; 548 FilePath temp_file_path;
545 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 549 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
546 &temp_file_path)); 550 &temp_file_path));
547 ASSERT_EQ(static_cast<int>(kTestDataSize), 551 ASSERT_EQ(static_cast<int>(kTestDataSize),
548 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 552 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
549 553
550 // Prepare data. 554 // Prepare data.
551 element_readers_.push_back(new UploadBytesElementReader( 555 element_readers_.push_back(new UploadBytesElementReader(
552 kTestData, kTestDataSize)); 556 kTestData, kTestDataSize));
553 element_readers_.push_back(new UploadFileElementReader( 557 element_readers_.push_back(new UploadFileElementReader(
558 base::MessageLoopProxy::current(),
554 temp_file_path, 0, kuint64max, base::Time())); 559 temp_file_path, 0, kuint64max, base::Time()));
555 UploadDataStream stream(&element_readers_, 0); 560 UploadDataStream stream(&element_readers_, 0);
556 561
557 std::string expected_data(kTestData, kTestData + kTestDataSize); 562 std::string expected_data(kTestData, kTestData + kTestDataSize);
558 expected_data += expected_data; 563 expected_data += expected_data;
559 564
560 // Call Init(). 565 // Call Init().
561 TestCompletionCallback init_callback1; 566 TestCompletionCallback init_callback1;
562 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); 567 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback()));
563 ASSERT_EQ(OK, init_callback1.WaitForResult()); 568 ASSERT_EQ(OK, init_callback1.WaitForResult());
(...skipping 21 matching lines...) Expand all
585 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 590 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
586 &temp_file_path)); 591 &temp_file_path));
587 ASSERT_EQ(static_cast<int>(kTestDataSize), 592 ASSERT_EQ(static_cast<int>(kTestDataSize),
588 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 593 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
589 TestCompletionCallback test_callback; 594 TestCompletionCallback test_callback;
590 595
591 // Prepare data. 596 // Prepare data.
592 element_readers_.push_back(new UploadBytesElementReader( 597 element_readers_.push_back(new UploadBytesElementReader(
593 kTestData, kTestDataSize)); 598 kTestData, kTestDataSize));
594 element_readers_.push_back(new UploadFileElementReader( 599 element_readers_.push_back(new UploadFileElementReader(
600 base::MessageLoopProxy::current(),
595 temp_file_path, 0, kuint64max, base::Time())); 601 temp_file_path, 0, kuint64max, base::Time()));
596 UploadDataStream stream(&element_readers_, 0); 602 UploadDataStream stream(&element_readers_, 0);
597 603
598 std::string expected_data(kTestData, kTestData + kTestDataSize); 604 std::string expected_data(kTestData, kTestData + kTestDataSize);
599 expected_data += expected_data; 605 expected_data += expected_data;
600 606
601 // Call Init(). 607 // Call Init().
602 ASSERT_EQ(ERR_IO_PENDING, stream.Init(test_callback.callback())); 608 ASSERT_EQ(ERR_IO_PENDING, stream.Init(test_callback.callback()));
603 EXPECT_EQ(OK, test_callback.WaitForResult()); 609 EXPECT_EQ(OK, test_callback.WaitForResult());
604 EXPECT_FALSE(stream.IsEOF()); 610 EXPECT_FALSE(stream.IsEOF());
(...skipping 18 matching lines...) Expand all
623 FilePath temp_file_path; 629 FilePath temp_file_path;
624 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 630 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
625 &temp_file_path)); 631 &temp_file_path));
626 ASSERT_EQ(static_cast<int>(kTestDataSize), 632 ASSERT_EQ(static_cast<int>(kTestDataSize),
627 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 633 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
628 634
629 // Prepare data. 635 // Prepare data.
630 element_readers_.push_back(new UploadBytesElementReader( 636 element_readers_.push_back(new UploadBytesElementReader(
631 kTestData, kTestDataSize)); 637 kTestData, kTestDataSize));
632 element_readers_.push_back(new UploadFileElementReader( 638 element_readers_.push_back(new UploadFileElementReader(
639 base::MessageLoopProxy::current(),
633 temp_file_path, 0, kuint64max, base::Time())); 640 temp_file_path, 0, kuint64max, base::Time()));
634 UploadDataStream stream(&element_readers_, 0); 641 UploadDataStream stream(&element_readers_, 0);
635 642
636 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); 643 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize);
637 expected_data.insert(expected_data.end(), expected_data.begin(), 644 expected_data.insert(expected_data.end(), expected_data.begin(),
638 expected_data.begin() + kTestDataSize); 645 expected_data.begin() + kTestDataSize);
639 646
640 // Call Init(). 647 // Call Init().
641 TestCompletionCallback init_callback1; 648 TestCompletionCallback init_callback1;
642 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); 649 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback()));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 FilePath temp_file_path; 681 FilePath temp_file_path;
675 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 682 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
676 &temp_file_path)); 683 &temp_file_path));
677 ASSERT_EQ(static_cast<int>(kTestDataSize), 684 ASSERT_EQ(static_cast<int>(kTestDataSize),
678 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 685 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
679 686
680 // Prepare data. 687 // Prepare data.
681 element_readers_.push_back(new UploadBytesElementReader( 688 element_readers_.push_back(new UploadBytesElementReader(
682 kTestData, kTestDataSize)); 689 kTestData, kTestDataSize));
683 element_readers_.push_back(new UploadFileElementReader( 690 element_readers_.push_back(new UploadFileElementReader(
691 base::MessageLoopProxy::current(),
684 temp_file_path, 0, kuint64max, base::Time())); 692 temp_file_path, 0, kuint64max, base::Time()));
685 UploadDataStream stream(&element_readers_, 0); 693 UploadDataStream stream(&element_readers_, 0);
686 694
687 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); 695 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize);
688 expected_data.insert(expected_data.end(), expected_data.begin(), 696 expected_data.insert(expected_data.end(), expected_data.begin(),
689 expected_data.begin() + kTestDataSize); 697 expected_data.begin() + kTestDataSize);
690 698
691 // Start Init. 699 // Start Init.
692 TestCompletionCallback init_callback1; 700 TestCompletionCallback init_callback1;
693 EXPECT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); 701 EXPECT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback()));
(...skipping 23 matching lines...) Expand all
717 FilePath temp_file_path; 725 FilePath temp_file_path;
718 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 726 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
719 &temp_file_path)); 727 &temp_file_path));
720 ASSERT_EQ(static_cast<int>(kTestDataSize), 728 ASSERT_EQ(static_cast<int>(kTestDataSize),
721 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize)); 729 file_util::WriteFile(temp_file_path, kTestData, kTestDataSize));
722 730
723 // Prepare data. 731 // Prepare data.
724 element_readers_.push_back(new UploadBytesElementReader( 732 element_readers_.push_back(new UploadBytesElementReader(
725 kTestData, kTestDataSize)); 733 kTestData, kTestDataSize));
726 element_readers_.push_back(new UploadFileElementReader( 734 element_readers_.push_back(new UploadFileElementReader(
735 base::MessageLoopProxy::current(),
727 temp_file_path, 0, kuint64max, base::Time())); 736 temp_file_path, 0, kuint64max, base::Time()));
728 UploadDataStream stream(&element_readers_, 0); 737 UploadDataStream stream(&element_readers_, 0);
729 738
730 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize); 739 std::vector<char> expected_data(kTestData, kTestData + kTestDataSize);
731 expected_data.insert(expected_data.end(), expected_data.begin(), 740 expected_data.insert(expected_data.end(), expected_data.begin(),
732 expected_data.begin() + kTestDataSize); 741 expected_data.begin() + kTestDataSize);
733 742
734 // Call Init(). 743 // Call Init().
735 TestCompletionCallback init_callback1; 744 TestCompletionCallback init_callback1;
736 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback())); 745 ASSERT_EQ(ERR_IO_PENDING, stream.Init(init_callback1.callback()));
(...skipping 23 matching lines...) Expand all
760 read_callback2.callback())); 769 read_callback2.callback()));
761 EXPECT_EQ(static_cast<int>(buf2.size()), read_callback2.WaitForResult()); 770 EXPECT_EQ(static_cast<int>(buf2.size()), read_callback2.WaitForResult());
762 EXPECT_EQ(expected_data, buf2); 771 EXPECT_EQ(expected_data, buf2);
763 EXPECT_TRUE(stream.IsEOF()); 772 EXPECT_TRUE(stream.IsEOF());
764 773
765 // Make sure callbacks are not called for cancelled operations. 774 // Make sure callbacks are not called for cancelled operations.
766 EXPECT_FALSE(read_callback1.have_result()); 775 EXPECT_FALSE(read_callback1.have_result());
767 } 776 }
768 777
769 } // namespace net 778 } // namespace net
OLDNEW
« no previous file with comments | « content/browser/loader/resource_dispatcher_host_impl.cc ('k') | net/base/upload_file_element_reader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698