Chromium Code Reviews| Index: chrome/browser/net/network_stats_unittest.cc |
| diff --git a/chrome/browser/net/network_stats_unittest.cc b/chrome/browser/net/network_stats_unittest.cc |
| index 0d5dd26518c011fdb0dac505c5f3345956093094..fe8012f079fae94a82ee8b2362216825c9244bb0 100644 |
| --- a/chrome/browser/net/network_stats_unittest.cc |
| +++ b/chrome/browser/net/network_stats_unittest.cc |
| @@ -14,89 +14,63 @@ |
| namespace chrome_browser_net { |
| -class NetworkStatsTest : public PlatformTest { |
| +template <typename T> class NetworkStatsTest : public PlatformTest { |
|
eroman
2012/02/23 21:06:19
Could you propose this change separately? I would
|
| public: |
| - NetworkStatsTest() {} |
| + NetworkStatsTest() |
| + : test_server_(T::server_type, |
| + net::TestServer::kLocalhost, |
| + FilePath(FILE_PATH_LITERAL("net/data"))) { |
| + } |
| protected: |
| virtual void TearDown() { |
| // Flush the message loop to make application verifiers happy. |
| message_loop_.RunAllPending(); |
| } |
| - MessageLoopForIO message_loop_; |
| -}; |
| - |
| -class NetworkStatsTestUDP : public NetworkStatsTest { |
| - public: |
| - NetworkStatsTestUDP() |
| - : test_server_(net::TestServer::TYPE_UDP_ECHO, |
| - FilePath(FILE_PATH_LITERAL("net/data"))) { |
| - } |
| - protected: |
| - void RunUDPEchoTest(int bytes) { |
| + void RunEchoTest(int bytes) { |
| net::TestCompletionCallback cb; |
| scoped_ptr<net::MockHostResolver> host_resolver( |
| new net::MockHostResolver()); |
| - UDPStatsClient* udp_stats_client = new UDPStatsClient(); |
| - EXPECT_TRUE(udp_stats_client->Start(host_resolver.get(), |
| - test_server_.host_port_pair(), |
| - bytes, |
| - cb.callback())); |
| + typename T::StatsClient* stats_client = new typename T::StatsClient(); |
| + EXPECT_TRUE(stats_client->Start(host_resolver.get(), |
| + test_server_.host_port_pair(), |
| + bytes, |
| + cb.callback())); |
| int rv = cb.WaitForResult(); |
| - // Check there were no errors during connect/write/read to echo UDP server. |
| + // Check there were no errors during connect/write/read to echo server. |
| EXPECT_EQ(0, rv); |
| } |
| + MessageLoopForIO message_loop_; |
| net::TestServer test_server_; |
| }; |
| -class NetworkStatsTestTCP : public NetworkStatsTest { |
| - public: |
| - NetworkStatsTestTCP() |
| - : test_server_(net::TestServer::TYPE_TCP_ECHO, |
| - FilePath(FILE_PATH_LITERAL("net/data"))) { |
| - } |
| - |
| - protected: |
| - void RunTCPEchoTest(int bytes) { |
| - net::TestCompletionCallback cb; |
| - |
| - scoped_ptr<net::MockHostResolver> host_resolver( |
| - new net::MockHostResolver()); |
| - |
| - TCPStatsClient* tcp_stats_client = new TCPStatsClient(); |
| - EXPECT_TRUE(tcp_stats_client->Start(host_resolver.get(), |
| - test_server_.host_port_pair(), |
| - bytes, |
| - cb.callback())); |
| - int rv = cb.WaitForResult(); |
| - // Check there were no errors during connect/write/read to echo TCP server. |
| - EXPECT_EQ(0, rv); |
| - } |
| - |
| - net::TestServer test_server_; |
| +struct NetworkStatsTestUDPTraits { |
| + typedef UDPStatsClient StatsClient; |
| + static const net::TestServer::Type server_type = |
| + net::TestServer::TYPE_UDP_ECHO; |
| }; |
| -TEST_F(NetworkStatsTestUDP, UDPEcho_50B_Of_Data) { |
| - ASSERT_TRUE(test_server_.Start()); |
| - RunUDPEchoTest(50); |
| -} |
| +struct NetworkStatsTestTCPTraits { |
| + typedef TCPStatsClient StatsClient; |
| + static const net::TestServer::Type server_type = |
| + net::TestServer::TYPE_TCP_ECHO; |
| +}; |
| -TEST_F(NetworkStatsTestUDP, UDPEcho_1K_Of_Data) { |
| - ASSERT_TRUE(test_server_.Start()); |
| - RunUDPEchoTest(1024); |
| -} |
| +typedef ::testing::Types<NetworkStatsTestUDPTraits, NetworkStatsTestTCPTraits> |
| +NetworkStatsTestTypes; |
| +TYPED_TEST_CASE(NetworkStatsTest, NetworkStatsTestTypes); |
| -TEST_F(NetworkStatsTestTCP, TCPEcho_50B_Of_Data) { |
| - ASSERT_TRUE(test_server_.Start()); |
| - RunTCPEchoTest(50); |
| +TYPED_TEST(NetworkStatsTest, Echo_50B_Of_Data) { |
| + ASSERT_TRUE(this->test_server_.Start()); |
| + this->RunEchoTest(50); |
| } |
| -TEST_F(NetworkStatsTestTCP, TCPEcho_1K_Of_Data) { |
| - ASSERT_TRUE(test_server_.Start()); |
| - RunTCPEchoTest(1024); |
| +TYPED_TEST(NetworkStatsTest, Echo_1K_Of_Data) { |
| + ASSERT_TRUE(this->test_server_.Start()); |
| + this->RunEchoTest(1024); |
| } |
| } // namespace chrome_browser_net |