| Index: chrome/test/unit/chrome_test_suite.cc
|
| ===================================================================
|
| --- chrome/test/unit/chrome_test_suite.cc (revision 94779)
|
| +++ chrome/test/unit/chrome_test_suite.cc (working copy)
|
| @@ -1,168 +0,0 @@
|
| -// Copyright (c) 2011 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 "chrome/test/unit/chrome_test_suite.h"
|
| -
|
| -#include "base/command_line.h"
|
| -#include "base/mac/scoped_nsautorelease_pool.h"
|
| -#include "base/metrics/stats_table.h"
|
| -#include "base/process_util.h"
|
| -#include "base/stringprintf.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "chrome/browser/browser_process.h"
|
| -#include "chrome/common/chrome_constants.h"
|
| -#include "chrome/common/chrome_content_client.h"
|
| -#include "chrome/common/chrome_paths.h"
|
| -#include "chrome/common/url_constants.h"
|
| -#include "chrome/test/testing_browser_process.h"
|
| -#include "content/common/content_paths.h"
|
| -#include "net/base/net_errors.h"
|
| -#include "ui/base/resource/resource_bundle.h"
|
| -#include "ui/base/ui_base_paths.h"
|
| -#if defined(TOOLKIT_VIEWS)
|
| -#include "views/view.h"
|
| -#endif
|
| -
|
| -#if defined(OS_MACOSX)
|
| -#include "base/mac/mac_util.h"
|
| -#include "content/common/chrome_application_mac.h"
|
| -#endif
|
| -
|
| -#if defined(OS_POSIX)
|
| -#include "base/shared_memory.h"
|
| -#endif
|
| -
|
| -static void RemoveSharedMemoryFile(const std::string& filename) {
|
| - // Stats uses SharedMemory under the hood. On posix, this results in a file
|
| - // on disk.
|
| -#if defined(OS_POSIX)
|
| - base::SharedMemory memory;
|
| - memory.Delete(filename);
|
| -#endif
|
| -}
|
| -
|
| -LocalHostResolverProc::LocalHostResolverProc()
|
| - : HostResolverProc(NULL) {
|
| -}
|
| -
|
| -LocalHostResolverProc::~LocalHostResolverProc() {
|
| -}
|
| -
|
| -int LocalHostResolverProc::Resolve(const std::string& host,
|
| - net::AddressFamily address_family,
|
| - net::HostResolverFlags host_resolver_flags,
|
| - net::AddressList* addrlist,
|
| - int* os_error) {
|
| - const char* kLocalHostNames[] = {"localhost", "127.0.0.1", "::1"};
|
| - bool local = false;
|
| -
|
| - if (host == net::GetHostName()) {
|
| - local = true;
|
| - } else {
|
| - for (size_t i = 0; i < arraysize(kLocalHostNames); i++)
|
| - if (host == kLocalHostNames[i]) {
|
| - local = true;
|
| - break;
|
| - }
|
| - }
|
| -
|
| - // To avoid depending on external resources and to reduce (if not preclude)
|
| - // network interactions from tests, we simulate failure for non-local DNS
|
| - // queries, rather than perform them.
|
| - // If you really need to make an external DNS query, use
|
| - // net::RuleBasedHostResolverProc and its AllowDirectLookup method.
|
| - if (!local) {
|
| - DVLOG(1) << "To avoid external dependencies, simulating failure for "
|
| - "external DNS lookup of " << host;
|
| - return net::ERR_NOT_IMPLEMENTED;
|
| - }
|
| -
|
| - return ResolveUsingPrevious(host, address_family, host_resolver_flags,
|
| - addrlist, os_error);
|
| -}
|
| -
|
| -ChromeTestSuite::ChromeTestSuite(int argc, char** argv)
|
| - : base::TestSuite(argc, argv),
|
| - stats_table_(NULL) {
|
| -}
|
| -
|
| -ChromeTestSuite::~ChromeTestSuite() {
|
| -}
|
| -
|
| -void ChromeTestSuite::Initialize() {
|
| -#if defined(OS_MACOSX)
|
| - chrome_application_mac::RegisterCrApp();
|
| -#endif
|
| -
|
| - base::mac::ScopedNSAutoreleasePool autorelease_pool;
|
| -
|
| - base::TestSuite::Initialize();
|
| -
|
| - // Initialize the content client which that code uses to talk to Chrome.
|
| - content::SetContentClient(&chrome_content_client_);
|
| - content::GetContentClient()->set_browser(&chrome_browser_content_client_);
|
| -
|
| - chrome::RegisterChromeSchemes();
|
| - host_resolver_proc_ = new LocalHostResolverProc();
|
| - scoped_host_resolver_proc_.Init(host_resolver_proc_.get());
|
| -
|
| - chrome::RegisterPathProvider();
|
| - content::RegisterPathProvider();
|
| - ui::RegisterPathProvider();
|
| - g_browser_process = new TestingBrowserProcess;
|
| -
|
| - if (!browser_dir_.empty()) {
|
| - PathService::Override(base::DIR_EXE, browser_dir_);
|
| - PathService::Override(base::DIR_MODULE, browser_dir_);
|
| - }
|
| -
|
| -#if defined(OS_MACOSX)
|
| - // Look in the framework bundle for resources.
|
| - FilePath path;
|
| - PathService::Get(base::DIR_EXE, &path);
|
| - path = path.Append(chrome::kFrameworkName);
|
| - base::mac::SetOverrideAppBundlePath(path);
|
| -#endif
|
| -
|
| - // Force unittests to run using en-US so if we test against string
|
| - // output, it'll pass regardless of the system language.
|
| - ResourceBundle::InitSharedInstance("en-US");
|
| - FilePath resources_pack_path;
|
| - PathService::Get(base::DIR_MODULE, &resources_pack_path);
|
| - resources_pack_path =
|
| - resources_pack_path.Append(FILE_PATH_LITERAL("resources.pak"));
|
| - ResourceBundle::AddDataPackToSharedInstance(resources_pack_path);
|
| -
|
| - // initialize the global StatsTable for unit_tests (make sure the file
|
| - // doesn't exist before opening it so the test gets a clean slate)
|
| - stats_filename_ = "unit_tests";
|
| - std::string pid_string = base::StringPrintf("-%d", base::GetCurrentProcId());
|
| - stats_filename_ += pid_string;
|
| - RemoveSharedMemoryFile(stats_filename_);
|
| - stats_table_ = new base::StatsTable(stats_filename_, 20, 200);
|
| - base::StatsTable::set_current(stats_table_);
|
| -
|
| -#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX)
|
| - // Turn of GPU compositing in browser during unit tests.
|
| - views::View::set_use_acceleration_when_possible(false);
|
| -#endif
|
| -}
|
| -
|
| -void ChromeTestSuite::Shutdown() {
|
| - ResourceBundle::CleanupSharedInstance();
|
| -
|
| -#if defined(OS_MACOSX)
|
| - base::mac::SetOverrideAppBundle(NULL);
|
| -#endif
|
| -
|
| - delete g_browser_process;
|
| - g_browser_process = NULL;
|
| -
|
| - // Tear down shared StatsTable; prevents unit_tests from leaking it.
|
| - base::StatsTable::set_current(NULL);
|
| - delete stats_table_;
|
| - RemoveSharedMemoryFile(stats_filename_);
|
| -
|
| - base::TestSuite::Shutdown();
|
| -}
|
|
|