| Index: http_fetcher_unittest.cc
|
| diff --git a/http_fetcher_unittest.cc b/http_fetcher_unittest.cc
|
| index a42bb3b64e2f4c68dc6fff18913f4ff5408fbb3a..ccda0b67e8096a4354ebcdb1cf6b111e216e3fb1 100644
|
| --- a/http_fetcher_unittest.cc
|
| +++ b/http_fetcher_unittest.cc
|
| @@ -16,10 +16,11 @@
|
|
|
| #include "update_engine/libcurl_http_fetcher.h"
|
| #include "update_engine/mock_http_fetcher.h"
|
| -#include "update_engine/multi_http_fetcher.h"
|
| +#include "update_engine/multi_range_http_fetcher.h"
|
| #include "update_engine/proxy_resolver.h"
|
|
|
| using std::make_pair;
|
| +using std::pair;
|
| using std::string;
|
| using std::vector;
|
|
|
| @@ -170,16 +171,16 @@ class HttpFetcherTest<LibcurlHttpFetcher> : public ::testing::Test {
|
| };
|
|
|
| template <>
|
| -class HttpFetcherTest<MultiHttpFetcher<LibcurlHttpFetcher> >
|
| +class HttpFetcherTest<MultiRangeHTTPFetcher>
|
| : public HttpFetcherTest<LibcurlHttpFetcher> {
|
| public:
|
| HttpFetcher* NewLargeFetcher() {
|
| - MultiHttpFetcher<LibcurlHttpFetcher> *ret =
|
| - new MultiHttpFetcher<LibcurlHttpFetcher>(
|
| - reinterpret_cast<ProxyResolver*>(&proxy_resolver_));
|
| - MultiHttpFetcher<LibcurlHttpFetcher>::RangesVect
|
| - ranges(1, make_pair(0, -1));
|
| - ret->set_ranges(ranges);
|
| + ProxyResolver* resolver =
|
| + reinterpret_cast<ProxyResolver*>(&proxy_resolver_);
|
| + MultiRangeHTTPFetcher *ret =
|
| + new MultiRangeHTTPFetcher(new LibcurlHttpFetcher(resolver));
|
| + ret->ClearRanges();
|
| + ret->AddRange(0, -1);
|
| // Speed up test execution.
|
| ret->set_idle_seconds(1);
|
| ret->set_retry_seconds(1);
|
| @@ -193,7 +194,7 @@ class HttpFetcherTest<MultiHttpFetcher<LibcurlHttpFetcher> >
|
|
|
| typedef ::testing::Types<LibcurlHttpFetcher,
|
| MockHttpFetcher,
|
| - MultiHttpFetcher<LibcurlHttpFetcher> >
|
| + MultiRangeHTTPFetcher>
|
| HttpFetcherTestTypes;
|
| TYPED_TEST_CASE(HttpFetcherTest, HttpFetcherTestTypes);
|
|
|
| @@ -344,7 +345,7 @@ class AbortingHttpFetcherTestDelegate : public HttpFetcherDelegate {
|
| callback_once_ = false;
|
| // |fetcher| can be destroyed during this callback.
|
| fetcher_.reset(NULL);
|
| - }
|
| + }
|
| void TerminateTransfer() {
|
| CHECK(once_);
|
| once_ = false;
|
| @@ -651,7 +652,7 @@ class MultiHttpFetcherTestDelegate : public HttpFetcherDelegate {
|
|
|
| void MultiTest(HttpFetcher* fetcher_in,
|
| const string& url,
|
| - const MultiHttpFetcher<LibcurlHttpFetcher>::RangesVect& ranges,
|
| + const vector<pair<off_t, off_t> >& ranges,
|
| const string& expected_prefix,
|
| off_t expected_size,
|
| int expected_response_code) {
|
| @@ -660,10 +661,15 @@ void MultiTest(HttpFetcher* fetcher_in,
|
| MultiHttpFetcherTestDelegate delegate(expected_response_code);
|
| delegate.loop_ = loop;
|
| delegate.fetcher_.reset(fetcher_in);
|
| - MultiHttpFetcher<LibcurlHttpFetcher>* multi_fetcher =
|
| - dynamic_cast<MultiHttpFetcher<LibcurlHttpFetcher>*>(fetcher_in);
|
| + MultiRangeHTTPFetcher* multi_fetcher =
|
| + dynamic_cast<MultiRangeHTTPFetcher*>(fetcher_in);
|
| ASSERT_TRUE(multi_fetcher);
|
| - multi_fetcher->set_ranges(ranges);
|
| + multi_fetcher->ClearRanges();
|
| + for (vector<pair<off_t, off_t> >::const_iterator it = ranges.begin(),
|
| + e = ranges.end(); it != e; ++it) {
|
| + LOG(INFO) << "Adding range";
|
| + multi_fetcher->AddRange(it->first, it->second);
|
| + }
|
| multi_fetcher->SetConnectionAsExpensive(false);
|
| multi_fetcher->SetBuildType(false);
|
| multi_fetcher->set_delegate(&delegate);
|
| @@ -687,7 +693,7 @@ TYPED_TEST(HttpFetcherTest, MultiHttpFetcherSimpleTest) {
|
| typename TestFixture::HttpServer server;
|
| ASSERT_TRUE(server.started_);
|
|
|
| - MultiHttpFetcher<LibcurlHttpFetcher>::RangesVect ranges;
|
| + vector<pair<off_t, off_t> > ranges;
|
| ranges.push_back(make_pair(0, 25));
|
| ranges.push_back(make_pair(99, -1));
|
| MultiTest(this->NewLargeFetcher(),
|
| @@ -704,7 +710,7 @@ TYPED_TEST(HttpFetcherTest, MultiHttpFetcherLengthLimitTest) {
|
| typename TestFixture::HttpServer server;
|
| ASSERT_TRUE(server.started_);
|
|
|
| - MultiHttpFetcher<LibcurlHttpFetcher>::RangesVect ranges;
|
| + vector<pair<off_t, off_t> > ranges;
|
| ranges.push_back(make_pair(0, 24));
|
| MultiTest(this->NewLargeFetcher(),
|
| this->BigUrl(),
|
| @@ -720,7 +726,7 @@ TYPED_TEST(HttpFetcherTest, MultiHttpFetcherMultiEndTest) {
|
| typename TestFixture::HttpServer server;
|
| ASSERT_TRUE(server.started_);
|
|
|
| - MultiHttpFetcher<LibcurlHttpFetcher>::RangesVect ranges;
|
| + vector<pair<off_t, off_t> > ranges;
|
| ranges.push_back(make_pair(kBigSize - 2, -1));
|
| ranges.push_back(make_pair(kBigSize - 3, -1));
|
| MultiTest(this->NewLargeFetcher(),
|
| @@ -737,9 +743,10 @@ TYPED_TEST(HttpFetcherTest, MultiHttpFetcherInsufficientTest) {
|
| typename TestFixture::HttpServer server;
|
| ASSERT_TRUE(server.started_);
|
|
|
| - MultiHttpFetcher<LibcurlHttpFetcher>::RangesVect ranges;
|
| + vector<pair<off_t, off_t> > ranges;
|
| ranges.push_back(make_pair(kBigSize - 2, 4));
|
| for (int i = 0; i < 2; ++i) {
|
| + LOG(INFO) << "i = " << i;
|
| MultiTest(this->NewLargeFetcher(),
|
| this->BigUrl(),
|
| ranges,
|
|
|