| Index: net/ssl/ssl_client_session_cache_unittest.cc
|
| diff --git a/net/ssl/ssl_client_session_cache_unittest.cc b/net/ssl/ssl_client_session_cache_unittest.cc
|
| index a30a84ef4a621c4d7c329481eccdeb4608d43448..3f3bb54fdab4fd654e5d2c8416e072ac71165dad 100644
|
| --- a/net/ssl/ssl_client_session_cache_unittest.cc
|
| +++ b/net/ssl/ssl_client_session_cache_unittest.cc
|
| @@ -28,24 +28,37 @@ std::unique_ptr<base::SimpleTestClock> MakeTestClock() {
|
| return clock;
|
| }
|
|
|
| -bssl::UniquePtr<SSL_SESSION> MakeTestSession(base::Time now,
|
| - base::TimeDelta timeout) {
|
| - bssl::UniquePtr<SSL_SESSION> session(SSL_SESSION_new());
|
| - SSL_SESSION_set_time(session.get(), now.ToTimeT());
|
| - SSL_SESSION_set_timeout(session.get(), timeout.InSeconds());
|
| - return session;
|
| -}
|
| +class SSLClientSessionCacheTest : public testing::Test {
|
| + public:
|
| + SSLClientSessionCacheTest() : ssl_ctx_(SSL_CTX_new(TLS_method())) {}
|
| +
|
| + protected:
|
| + bssl::UniquePtr<SSL_SESSION> NewSSLSession() {
|
| + return bssl::UniquePtr<SSL_SESSION>(SSL_SESSION_new(ssl_ctx_.get()));
|
| + }
|
| +
|
| + bssl::UniquePtr<SSL_SESSION> MakeTestSession(base::Time now,
|
| + base::TimeDelta timeout) {
|
| + bssl::UniquePtr<SSL_SESSION> session = NewSSLSession();
|
| + SSL_SESSION_set_time(session.get(), now.ToTimeT());
|
| + SSL_SESSION_set_timeout(session.get(), timeout.InSeconds());
|
| + return session;
|
| + }
|
| +
|
| + private:
|
| + bssl::UniquePtr<SSL_CTX> ssl_ctx_;
|
| +};
|
|
|
| } // namespace
|
|
|
| // Test basic insertion and lookup operations.
|
| -TEST(SSLClientSessionCacheTest, Basic) {
|
| +TEST_F(SSLClientSessionCacheTest, Basic) {
|
| SSLClientSessionCache::Config config;
|
| SSLClientSessionCache cache(config);
|
|
|
| - bssl::UniquePtr<SSL_SESSION> session1(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session2(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session3(SSL_SESSION_new());
|
| + bssl::UniquePtr<SSL_SESSION> session1 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session2 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session3 = NewSSLSession();
|
| EXPECT_EQ(1u, session1->references);
|
| EXPECT_EQ(1u, session2->references);
|
| EXPECT_EQ(1u, session3->references);
|
| @@ -89,12 +102,12 @@ TEST(SSLClientSessionCacheTest, Basic) {
|
|
|
| // Test that pairs of calls to Lookup/ResetLookupCount appropriately log to
|
| // UMA.
|
| -TEST(SSLClientSessionCacheTest, LookupCountUMA) {
|
| +TEST_F(SSLClientSessionCacheTest, LookupCountUMA) {
|
| SSLClientSessionCache::Config config;
|
| SSLClientSessionCache cache(config);
|
|
|
| - bssl::UniquePtr<SSL_SESSION> session1(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session2(SSL_SESSION_new());
|
| + bssl::UniquePtr<SSL_SESSION> session1 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session2 = NewSSLSession();
|
| cache.Insert("key1", session1.get());
|
| cache.Insert("key2", session2.get());
|
|
|
| @@ -128,11 +141,11 @@ TEST(SSLClientSessionCacheTest, LookupCountUMA) {
|
|
|
| // Test that a session may be inserted at two different keys. This should never
|
| // be necessary, but the API doesn't prohibit it.
|
| -TEST(SSLClientSessionCacheTest, DoubleInsert) {
|
| +TEST_F(SSLClientSessionCacheTest, DoubleInsert) {
|
| SSLClientSessionCache::Config config;
|
| SSLClientSessionCache cache(config);
|
|
|
| - bssl::UniquePtr<SSL_SESSION> session(SSL_SESSION_new());
|
| + bssl::UniquePtr<SSL_SESSION> session = NewSSLSession();
|
| EXPECT_EQ(1u, session->references);
|
|
|
| EXPECT_EQ(nullptr, cache.Lookup("key1", nullptr).get());
|
| @@ -162,15 +175,15 @@ TEST(SSLClientSessionCacheTest, DoubleInsert) {
|
| }
|
|
|
| // Tests that the session cache's size is correctly bounded.
|
| -TEST(SSLClientSessionCacheTest, MaxEntries) {
|
| +TEST_F(SSLClientSessionCacheTest, MaxEntries) {
|
| SSLClientSessionCache::Config config;
|
| config.max_entries = 3;
|
| SSLClientSessionCache cache(config);
|
|
|
| - bssl::UniquePtr<SSL_SESSION> session1(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session2(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session3(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session4(SSL_SESSION_new());
|
| + bssl::UniquePtr<SSL_SESSION> session1 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session2 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session3 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session4 = NewSSLSession();
|
|
|
| // Insert three entries.
|
| cache.Insert("key1", session1.get());
|
| @@ -200,7 +213,7 @@ TEST(SSLClientSessionCacheTest, MaxEntries) {
|
| }
|
|
|
| // Tests that session expiration works properly.
|
| -TEST(SSLClientSessionCacheTest, Expiration) {
|
| +TEST_F(SSLClientSessionCacheTest, Expiration) {
|
| const size_t kNumEntries = 20;
|
| const size_t kExpirationCheckCount = 10;
|
| const base::TimeDelta kTimeout = base::TimeDelta::FromSeconds(1000);
|
| @@ -248,7 +261,7 @@ TEST(SSLClientSessionCacheTest, Expiration) {
|
|
|
| // Tests that Lookup performs an expiration check before returning a cached
|
| // session.
|
| -TEST(SSLClientSessionCacheTest, LookupExpirationCheck) {
|
| +TEST_F(SSLClientSessionCacheTest, LookupExpirationCheck) {
|
| // kExpirationCheckCount is set to a suitably large number so the automated
|
| // pruning never triggers.
|
| const size_t kExpirationCheckCount = 1000;
|
| @@ -296,7 +309,7 @@ TEST(SSLClientSessionCacheTest, LookupExpirationCheck) {
|
| }
|
|
|
| // Test that SSL cache is flushed on low memory notifications
|
| -TEST(SSLClientSessionCacheTest, TestFlushOnMemoryNotifications) {
|
| +TEST_F(SSLClientSessionCacheTest, TestFlushOnMemoryNotifications) {
|
| // kExpirationCheckCount is set to a suitably large number so the automated
|
| // pruning never triggers.
|
| const size_t kExpirationCheckCount = 1000;
|
| @@ -342,13 +355,13 @@ TEST(SSLClientSessionCacheTest, TestFlushOnMemoryNotifications) {
|
| }
|
|
|
| // Basic test for dumping memory stats.
|
| -TEST(SSLClientSessionCacheTest, TestDumpMemoryStats) {
|
| +TEST_F(SSLClientSessionCacheTest, TestDumpMemoryStats) {
|
| SSLClientSessionCache::Config config;
|
| SSLClientSessionCache cache(config);
|
|
|
| - bssl::UniquePtr<SSL_SESSION> session1(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session2(SSL_SESSION_new());
|
| - bssl::UniquePtr<SSL_SESSION> session3(SSL_SESSION_new());
|
| + bssl::UniquePtr<SSL_SESSION> session1 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session2 = NewSSLSession();
|
| + bssl::UniquePtr<SSL_SESSION> session3 = NewSSLSession();
|
|
|
| // Insert three entries.
|
| cache.Insert("key1", session1.get());
|
|
|