Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8231)

Unified Diff: chrome/test/unit/chrome_test_suite.cc

Issue 7541001: Move more files from chrome/test to chrome/test/base, part #3 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/unit/chrome_test_suite.h ('k') | chrome/test/unit/run_all_unittests.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
-}
« no previous file with comments | « chrome/test/unit/chrome_test_suite.h ('k') | chrome/test/unit/run_all_unittests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698