Index: http_fetcher_unittest.cc |
diff --git a/http_fetcher_unittest.cc b/http_fetcher_unittest.cc |
index bd167685c6bfa7d473460b273528961b36465fac..6c420a0b513266def80515303ebb39f9deecde5d 100644 |
--- a/http_fetcher_unittest.cc |
+++ b/http_fetcher_unittest.cc |
@@ -136,6 +136,7 @@ class HttpFetcherTest<LibcurlHttpFetcher> : public ::testing::Test { |
ret->set_idle_seconds(1); |
ret->set_retry_seconds(1); |
ret->SetConnectionAsExpensive(false); |
+ ret->SetBuildType(false); |
return ret; |
} |
HttpFetcher* NewSmallFetcher() { |
@@ -169,6 +170,8 @@ class HttpFetcherTest<MultiHttpFetcher<LibcurlHttpFetcher> > |
// Speed up test execution. |
ret->set_idle_seconds(1); |
ret->set_retry_seconds(1); |
+ ret->SetConnectionAsExpensive(false); |
+ ret->SetBuildType(false); |
return ret; |
} |
bool IsMulti() const { return true; } |
@@ -613,6 +616,8 @@ void MultiTest(HttpFetcher* fetcher_in, |
dynamic_cast<MultiHttpFetcher<LibcurlHttpFetcher>*>(fetcher.get()); |
ASSERT_TRUE(multi_fetcher); |
multi_fetcher->set_ranges(ranges); |
+ multi_fetcher->SetConnectionAsExpensive(false); |
+ multi_fetcher->SetBuildType(false); |
fetcher->set_delegate(&delegate); |
StartTransferArgs start_xfer_args = {fetcher.get(), url}; |
@@ -698,7 +703,7 @@ TYPED_TEST(HttpFetcherTest, MultiHttpFetcherInsufficientTest) { |
} |
namespace { |
-class ExpensiveConnectionTestDelegate : public HttpFetcherDelegate { |
+class BlockedTransferTestDelegate : public HttpFetcherDelegate { |
public: |
virtual void ReceivedBytes(HttpFetcher* fetcher, |
const char* bytes, int length) { |
@@ -713,28 +718,37 @@ class ExpensiveConnectionTestDelegate : public HttpFetcherDelegate { |
} // namespace |
-TYPED_TEST(HttpFetcherTest, ExpensiveConnectionTest) { |
+TYPED_TEST(HttpFetcherTest, BlockedTransferTest) { |
if (this->IsMock() || this->IsMulti()) |
return; |
- typename TestFixture::HttpServer server; |
- |
- ASSERT_TRUE(server.started_); |
- GMainLoop* loop = g_main_loop_new(g_main_context_default(), FALSE); |
- ExpensiveConnectionTestDelegate delegate; |
- delegate.loop_ = loop; |
+ for (int i = 0; i < 2; i++) { |
+ typename TestFixture::HttpServer server; |
- scoped_ptr<HttpFetcher> fetcher(this->NewLargeFetcher()); |
- dynamic_cast<LibcurlHttpFetcher*>( |
- fetcher.get())->SetConnectionAsExpensive(true); |
- fetcher->set_delegate(&delegate); |
+ ASSERT_TRUE(server.started_); |
- StartTransferArgs start_xfer_args = |
- { fetcher.get(), LocalServerUrlForPath(this->SmallUrl()) }; |
+ GMainLoop* loop = g_main_loop_new(g_main_context_default(), FALSE); |
+ BlockedTransferTestDelegate delegate; |
+ delegate.loop_ = loop; |
- g_timeout_add(0, StartTransfer, &start_xfer_args); |
- g_main_loop_run(loop); |
- g_main_loop_unref(loop); |
+ scoped_ptr<HttpFetcher> fetcher(this->NewLargeFetcher()); |
+ LibcurlHttpFetcher* curl_fetcher = |
+ dynamic_cast<LibcurlHttpFetcher*>(fetcher.get()); |
+ bool is_expensive_connection = (i == 0); |
+ bool is_official_build = (i == 1); |
+ LOG(INFO) << "is_expensive_connection: " << is_expensive_connection; |
+ LOG(INFO) << "is_official_build: " << is_official_build; |
+ curl_fetcher->SetConnectionAsExpensive(is_expensive_connection); |
+ curl_fetcher->SetBuildType(is_official_build); |
+ fetcher->set_delegate(&delegate); |
+ |
+ StartTransferArgs start_xfer_args = |
+ { fetcher.get(), LocalServerUrlForPath(this->SmallUrl()) }; |
+ |
+ g_timeout_add(0, StartTransfer, &start_xfer_args); |
+ g_main_loop_run(loop); |
+ g_main_loop_unref(loop); |
+ } |
} |
} // namespace chromeos_update_engine |