| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/net/connection_tester.h" | 5 #include "chrome/browser/net/connection_tester.h" |
| 6 | 6 |
| 7 #include "net/base/mock_host_resolver.h" | 7 #include "net/base/mock_host_resolver.h" |
| 8 #include "net/url_request/url_request_unittest.h" | 8 #include "net/url_request/url_request_unittest.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "testing/platform_test.h" | 10 #include "testing/platform_test.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 } | 81 } |
| 82 | 82 |
| 83 protected: | 83 protected: |
| 84 net::ScopedDefaultHostResolverProc scoped_host_resolver_proc_; | 84 net::ScopedDefaultHostResolverProc scoped_host_resolver_proc_; |
| 85 ConnectionTesterDelegate test_delegate_; | 85 ConnectionTesterDelegate test_delegate_; |
| 86 MessageLoop message_loop_; | 86 MessageLoop message_loop_; |
| 87 }; | 87 }; |
| 88 | 88 |
| 89 TEST_F(ConnectionTesterTest, RunAllTests) { | 89 TEST_F(ConnectionTesterTest, RunAllTests) { |
| 90 scoped_refptr<HTTPTestServer> server = | 90 scoped_refptr<HTTPTestServer> server = |
| 91 HTTPTestServer::CreateForkingServer(L"net/data/url_request_unittest/"); | 91 HTTPTestServer::CreateServer(L"net/data/url_request_unittest/"); |
| 92 | 92 |
| 93 ConnectionTester tester(&test_delegate_); | 93 ConnectionTester tester(&test_delegate_); |
| 94 | 94 |
| 95 // Start the test suite on URL "echoall". | 95 // Start the test suite on URL "echoall". |
| 96 // TODO(eroman): Is this URL right? | 96 // TODO(eroman): Is this URL right? |
| 97 GURL url = server->TestServerPage("echoall"); | 97 GURL url = server->TestServerPage("echoall"); |
| 98 tester.RunAllTests(url); | 98 tester.RunAllTests(url); |
| 99 | 99 |
| 100 // Wait for all the tests to complete. | 100 // Wait for all the tests to complete. |
| 101 MessageLoop::current()->Run(); | 101 MessageLoop::current()->Run(); |
| 102 | 102 |
| 103 const int kNumExperiments = | 103 const int kNumExperiments = |
| 104 ConnectionTester::PROXY_EXPERIMENT_COUNT * | 104 ConnectionTester::PROXY_EXPERIMENT_COUNT * |
| 105 ConnectionTester::HOST_RESOLVER_EXPERIMENT_COUNT; | 105 ConnectionTester::HOST_RESOLVER_EXPERIMENT_COUNT; |
| 106 | 106 |
| 107 EXPECT_EQ(1, test_delegate_.start_connection_test_suite_count()); | 107 EXPECT_EQ(1, test_delegate_.start_connection_test_suite_count()); |
| 108 EXPECT_EQ(kNumExperiments, | 108 EXPECT_EQ(kNumExperiments, |
| 109 test_delegate_.start_connection_test_experiment_count()); | 109 test_delegate_.start_connection_test_experiment_count()); |
| 110 EXPECT_EQ(kNumExperiments, | 110 EXPECT_EQ(kNumExperiments, |
| 111 test_delegate_.completed_connection_test_experiment_count()); | 111 test_delegate_.completed_connection_test_experiment_count()); |
| 112 EXPECT_EQ(1, test_delegate_.completed_connection_test_suite_count()); | 112 EXPECT_EQ(1, test_delegate_.completed_connection_test_suite_count()); |
| 113 } | 113 } |
| 114 | 114 |
| 115 TEST_F(ConnectionTesterTest, DeleteWhileInProgress) { | 115 TEST_F(ConnectionTesterTest, DeleteWhileInProgress) { |
| 116 scoped_refptr<HTTPTestServer> server = | 116 scoped_refptr<HTTPTestServer> server = |
| 117 HTTPTestServer::CreateForkingServer(L"net/data/url_request_unittest/"); | 117 HTTPTestServer::CreateServer(L"net/data/url_request_unittest/"); |
| 118 | 118 |
| 119 scoped_ptr<ConnectionTester> tester(new ConnectionTester(&test_delegate_)); | 119 scoped_ptr<ConnectionTester> tester(new ConnectionTester(&test_delegate_)); |
| 120 | 120 |
| 121 // Start the test suite on URL "echoall". | 121 // Start the test suite on URL "echoall". |
| 122 // TODO(eroman): Is this URL right? | 122 // TODO(eroman): Is this URL right? |
| 123 GURL url = server->TestServerPage("echoall"); | 123 GURL url = server->TestServerPage("echoall"); |
| 124 tester->RunAllTests(url); | 124 tester->RunAllTests(url); |
| 125 | 125 |
| 126 MessageLoop::current()->RunAllPending(); | 126 MessageLoop::current()->RunAllPending(); |
| 127 | 127 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 140 // net::ClientSocketPoolBaseHelper, since the "Group" holds a pointer | 140 // net::ClientSocketPoolBaseHelper, since the "Group" holds a pointer |
| 141 // |backup_task| that it will try to deref during the destructor, but | 141 // |backup_task| that it will try to deref during the destructor, but |
| 142 // depending on the order that pending tasks were deleted in, it might | 142 // depending on the order that pending tasks were deleted in, it might |
| 143 // already be invalid! See http://crbug.com/43291. | 143 // already be invalid! See http://crbug.com/43291. |
| 144 MessageLoop::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); | 144 MessageLoop::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); |
| 145 MessageLoop::current()->Run(); | 145 MessageLoop::current()->Run(); |
| 146 } | 146 } |
| 147 | 147 |
| 148 } // namespace | 148 } // namespace |
| 149 | 149 |
| OLD | NEW |