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

Unified Diff: net/tools/quic/quic_simple_client_test.cc

Issue 1017973002: Implement working tests for the simple QUIC client classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cleanup Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/tools/quic/quic_simple_client_stream_test.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/quic/quic_simple_client_test.cc
diff --git a/net/tools/quic/quic_simple_client_test.cc b/net/tools/quic/quic_simple_client_test.cc
index a72041cc82d1ed3f6e488a59d039d042bb6ba954..e57cebb9077c4cfcc91efbd5265e29317400fb41 100644
--- a/net/tools/quic/quic_simple_client_test.cc
+++ b/net/tools/quic/quic_simple_client_test.cc
@@ -2,73 +2,26 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include <dirent.h>
-#include <stdio.h>
+#include "net/tools/quic/quic_simple_client.h"
#include "base/basictypes.h"
#include "base/strings/string_util.h"
#include "net/quic/test_tools/quic_test_utils.h"
-#include "net/tools/epoll_server/epoll_server.h"
-#include "net/tools/quic/quic_client.h"
#include "testing/gtest/include/gtest/gtest.h"
-using net::EpollServer;
-
namespace net {
namespace tools {
namespace test {
-namespace {
-
-int NumOpenFDs() {
- int number_of_open_fds = 0;
- char buf[256];
- struct dirent* dp;
-
- base::snprintf(buf, arraysize(buf), "/proc/%i/fd/", getpid());
- DIR* dir = opendir(buf);
- while ((dp = readdir(dir)) != NULL)
- number_of_open_fds++;
- closedir(dir);
- return number_of_open_fds;
-}
-
-// Creates a new QuicClient and Initializes it. Caller is responsible for
-// deletion.
-QuicClient* CreateAndInitializeQuicClient(EpollServer* eps, uint16 port) {
- IPEndPoint server_address(IPEndPoint(net::test::Loopback4(), port));
+TEST(QuicSimpleClientTest, Initialize) {
+ IPEndPoint server_address(IPEndPoint(net::test::Loopback4(), 80));
QuicServerId server_id("hostname", server_address.port(), false,
PRIVACY_MODE_DISABLED);
QuicVersionVector versions = QuicSupportedVersions();
- QuicClient* client = new QuicClient(server_address, server_id, versions, eps);
- EXPECT_TRUE(client->Initialize());
- return client;
-}
-
-TEST(QuicClientTest, DoNotLeakFDs) {
- // Make sure that the QuicClient doesn't leak FDs. Doing so could cause port
- // exhaustion in long running processes which repeatedly create clients.
-
- // Record initial number of FDs, after creation of EpollServer.
- EpollServer eps;
- int number_of_open_fds = NumOpenFDs();
-
- // Create a number of clients, initialize them, and verify this has resulted
- // in additional FDs being opened.
- const int kNumClients = 5;
- for (int i = 0; i < kNumClients; ++i) {
- std::unique_ptr<QuicClient> client(
- CreateAndInitializeQuicClient(&eps, net::test::kTestPort + i));
-
- // Initializing the client will create a new FD.
- EXPECT_LT(number_of_open_fds, NumOpenFDs());
- }
-
- // The FDs created by the QuicClients should now be closed.
- EXPECT_EQ(number_of_open_fds, NumOpenFDs());
+ QuicSimpleClient client(server_address, server_id, versions);
+ EXPECT_TRUE(client.Initialize());
}
-} // namespace
} // namespace test
} // namespace tools
} // namespace net
« no previous file with comments | « net/tools/quic/quic_simple_client_stream_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698