diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-26 00:17:22 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-26 00:17:22 +0000 |
commit | cd37033213c76352afb197bebcdfa2252115ea69 (patch) | |
tree | 4f5c4fa4bdf4b7ee6de251e6524be7330809a1be /net | |
parent | cbd5fd5ead41910dce8a20ec53ce1195548440d5 (diff) | |
download | chromium_src-cd37033213c76352afb197bebcdfa2252115ea69.zip chromium_src-cd37033213c76352afb197bebcdfa2252115ea69.tar.gz chromium_src-cd37033213c76352afb197bebcdfa2252115ea69.tar.bz2 |
Moving NetTestSuite to a header file for reuse.
I'm also factoring initialization of the NetTestSuite instance to a separate method so that per NetTestSuite instance initialization can be done separate of TestSuite::Initialize() (which does global initialization).
Review URL: http://codereview.chromium.org/174438
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24379 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/net_test_suite.h | 52 | ||||
-rw-r--r-- | net/base/run_all_unittests.cc | 37 |
2 files changed, 53 insertions, 36 deletions
diff --git a/net/base/net_test_suite.h b/net/base/net_test_suite.h new file mode 100644 index 0000000..17e94c4 --- /dev/null +++ b/net/base/net_test_suite.h @@ -0,0 +1,52 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef NET_BASE_NET_TEST_SUITE_H_ +#define NET_BASE_NET_TEST_SUITE_H_ + +#include "base/message_loop.h" +#include "base/ref_counted.h" +#include "base/test_suite.h" +#include "net/base/mock_host_resolver.h" + +class NetTestSuite : public TestSuite { + public: + NetTestSuite(int argc, char** argv) : TestSuite(argc, argv) { + } + + virtual void Initialize() { + TestSuite::Initialize(); + InitializeTestThread(); + } + + // Called from within Initialize(), but separate so that derived classes + // can initialize the NetTestSuite instance only and not + // TestSuite::Initialize(). TestSuite::Initialize() performs some global + // initialization that can only be done once. + void InitializeTestThread() { + host_resolver_proc_ = new net::RuleBasedHostResolverProc(NULL); + scoped_host_resolver_proc_.Init(host_resolver_proc_.get()); + // In case any attempts are made to resolve host names, force them all to + // be mapped to localhost. This prevents DNS queries from being sent in + // the process of running these unit tests. + host_resolver_proc_->AddRule("*", "127.0.0.1"); + + message_loop_.reset(new MessageLoopForIO()); + } + + virtual void Shutdown() { + // We want to destroy this here before the TestSuite continues to tear down + // the environment. + message_loop_.reset(); + + TestSuite::Shutdown(); + } + + private: + scoped_ptr<MessageLoop> message_loop_; + scoped_refptr<net::RuleBasedHostResolverProc> host_resolver_proc_; + net::ScopedDefaultHostResolverProc scoped_host_resolver_proc_; +}; + +#endif // NET_BASE_NET_TEST_SUITE_H_ diff --git a/net/base/run_all_unittests.cc b/net/base/run_all_unittests.cc index c4c4df7..2bed0b7 100644 --- a/net/base/run_all_unittests.cc +++ b/net/base/run_all_unittests.cc @@ -27,42 +27,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include "base/message_loop.h" -#include "base/ref_counted.h" -#include "base/test_suite.h" -#include "net/base/mock_host_resolver.h" - -class NetTestSuite : public TestSuite { - public: - NetTestSuite(int argc, char** argv) : TestSuite(argc, argv) { - } - - virtual void Initialize() { - TestSuite::Initialize(); - - host_resolver_proc_ = new net::RuleBasedHostResolverProc(NULL); - scoped_host_resolver_proc_.Init(host_resolver_proc_.get()); - // In case any attempts are made to resolve host names, force them all to - // be mapped to localhost. This prevents DNS queries from being sent in - // the process of running these unit tests. - host_resolver_proc_->AddRule("*", "127.0.0.1"); - - message_loop_.reset(new MessageLoopForIO()); - } - - virtual void Shutdown() { - // We want to destroy this here before the TestSuite continues to tear down - // the environment. - message_loop_.reset(); - - TestSuite::Shutdown(); - } - - private: - scoped_ptr<MessageLoop> message_loop_; - scoped_refptr<net::RuleBasedHostResolverProc> host_resolver_proc_; - net::ScopedDefaultHostResolverProc scoped_host_resolver_proc_; -}; +#include "net/base/net_test_suite.h" int main(int argc, char** argv) { return NetTestSuite(argc, argv).Run(); |