diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-02 20:04:27 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-02 20:04:27 +0000 |
commit | 47c196b188bf7b1051468a1de4e26d71cabf132f (patch) | |
tree | 527bf9e654b24b0da7ef38636a78fa6b2a97523a /net | |
parent | 35bdac852d803a462f87d72baa9c6fd56109517e (diff) | |
download | chromium_src-47c196b188bf7b1051468a1de4e26d71cabf132f.zip chromium_src-47c196b188bf7b1051468a1de4e26d71cabf132f.tar.gz chromium_src-47c196b188bf7b1051468a1de4e26d71cabf132f.tar.bz2 |
[GTTF] Apply test isolation goodness to net_unittests.
TEST=Covered by net_unittests and test_shell_tests.
BUG=12710
Review URL: http://codereview.chromium.org/460014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33594 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/host_resolver_proc.cc | 18 | ||||
-rw-r--r-- | net/base/run_all_unittests.cc | 4 | ||||
-rw-r--r-- | net/ocsp/nss_ocsp.cc | 2 |
3 files changed, 17 insertions, 7 deletions
diff --git a/net/base/host_resolver_proc.cc b/net/base/host_resolver_proc.cc index cd6fc12..b12d7590 100644 --- a/net/base/host_resolver_proc.cc +++ b/net/base/host_resolver_proc.cc @@ -77,12 +77,6 @@ int HostResolverProc::ResolveUsingPrevious(const std::string& host, // Keep a timer per calling thread to rate limit the calling of res_ninit. class DnsReloadTimer { public: - DnsReloadTimer() { - tls_index_.Initialize(SlotReturnFunction); - } - - ~DnsReloadTimer() { } - // Check if the timer for the calling thread has expired. When no // timer exists for the calling thread, create one. bool Expired() { @@ -112,6 +106,18 @@ class DnsReloadTimer { } private: + friend struct DefaultSingletonTraits<DnsReloadTimer>; + + DnsReloadTimer() { + // During testing the DnsReloadTimer Singleton may be created and destroyed + // multiple times. Initialize the ThreadLocalStorage slot only once. + if (!tls_index_.initialized()) + tls_index_.Initialize(SlotReturnFunction); + } + + ~DnsReloadTimer() { + } + // We use thread local storage to identify which base::TimeTicks to // interact with. static ThreadLocalStorage::Slot tls_index_ ; diff --git a/net/base/run_all_unittests.cc b/net/base/run_all_unittests.cc index 2bed0b7..178bd5b 100644 --- a/net/base/run_all_unittests.cc +++ b/net/base/run_all_unittests.cc @@ -30,5 +30,7 @@ #include "net/base/net_test_suite.h" int main(int argc, char** argv) { - return NetTestSuite(argc, argv).Run(); + NetTestSuite test_suite(argc, argv); + test_suite.EnforceTestIsolation(); + return test_suite.Run(); } diff --git a/net/ocsp/nss_ocsp.cc b/net/ocsp/nss_ocsp.cc index 8ee1e96..a82f141 100644 --- a/net/ocsp/nss_ocsp.cc +++ b/net/ocsp/nss_ocsp.cc @@ -57,6 +57,8 @@ class OCSPInitSingleton : public MessageLoop::DestructionObserver { friend struct DefaultSingletonTraits<OCSPInitSingleton>; OCSPInitSingleton(); virtual ~OCSPInitSingleton() { + if (io_loop_) + io_loop_->RemoveDestructionObserver(this); request_context_ = NULL; } |