diff options
author | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
---|---|---|
committer | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
commit | 679147eead574d186ebf3069647b4c23e8ccace6 (patch) | |
tree | fc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/net/test/net_test_suite.cc | |
download | qtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz |
Initial import.
Diffstat (limited to 'chromium/net/test/net_test_suite.cc')
-rw-r--r-- | chromium/net/test/net_test_suite.cc | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/chromium/net/test/net_test_suite.cc b/chromium/net/test/net_test_suite.cc new file mode 100644 index 00000000000..175cec29754 --- /dev/null +++ b/chromium/net/test/net_test_suite.cc @@ -0,0 +1,67 @@ +// Copyright (c) 2012 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. + +#include "net/test/net_test_suite.h" + +#include "base/message_loop/message_loop.h" +#include "net/base/network_change_notifier.h" +#include "net/http/http_stream_factory.h" +#include "net/spdy/spdy_session.h" +#include "testing/gtest/include/gtest/gtest.h" + +#if defined(USE_NSS) || defined(OS_IOS) +#include "net/ocsp/nss_ocsp.h" +#endif + +class StaticReset : public ::testing::EmptyTestEventListener { + virtual void OnTestStart(const ::testing::TestInfo& test_info) OVERRIDE { + net::HttpStreamFactory::ResetStaticSettingsToInit(); + } +}; + +NetTestSuite::NetTestSuite(int argc, char** argv) + : TestSuite(argc, argv) { +} + +NetTestSuite::NetTestSuite(int argc, char** argv, + bool create_at_exit_manager) + : TestSuite(argc, argv, create_at_exit_manager) { +} + +NetTestSuite::~NetTestSuite() {} + +void NetTestSuite::Initialize() { + TestSuite::Initialize(); + ::testing::UnitTest::GetInstance()->listeners().Append(new StaticReset()); + InitializeTestThread(); +} + +void NetTestSuite::Shutdown() { +#if defined(USE_NSS) || defined(OS_IOS) + net::ShutdownNSSHttpIO(); +#endif + + // We want to destroy this here before the TestSuite continues to tear down + // the environment. + message_loop_.reset(); + + TestSuite::Shutdown(); +} + +void NetTestSuite::InitializeTestThread() { + network_change_notifier_.reset(net::NetworkChangeNotifier::CreateMock()); + + InitializeTestThreadNoNetworkChangeNotifier(); +} + +void NetTestSuite::InitializeTestThreadNoNetworkChangeNotifier() { + 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 base::MessageLoopForIO()); +} |