blob: 5c61700d0bc026938128726ecbd878cc27a80e14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
// Copyright (c) 2010 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 CHROME_TEST_UNIT_CHROME_TEST_SUITE_H_
#define CHROME_TEST_UNIT_CHROME_TEST_SUITE_H_
#pragma once
#include <string>
#include "build/build_config.h"
#include "base/file_util.h"
#include "base/path_service.h"
#include "base/ref_counted.h"
#include "base/test/test_suite.h"
#include "chrome/app/scoped_ole_initializer.h"
#include "chrome/common/chrome_content_client.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "net/base/mock_host_resolver.h"
#include "net/base/net_util.h"
namespace base {
class StatsTable;
}
// In many cases it may be not obvious that a test makes a real DNS lookup.
// We generally don't want to rely on external DNS servers for our tests,
// so this host resolver procedure catches external queries and returns a failed
// lookup result.
class LocalHostResolverProc : public net::HostResolverProc {
public:
LocalHostResolverProc();
virtual ~LocalHostResolverProc();
virtual int Resolve(const std::string& host,
net::AddressFamily address_family,
net::HostResolverFlags host_resolver_flags,
net::AddressList* addrlist,
int* os_error);
};
class ChromeTestSuite : public base::TestSuite {
public:
ChromeTestSuite(int argc, char** argv);
virtual ~ChromeTestSuite();
protected:
virtual void Initialize();
virtual void Shutdown();
void SetBrowserDirectory(const FilePath& browser_dir) {
browser_dir_ = browser_dir;
}
// Client for embedding content in Chrome.
chrome::ChromeContentClient chrome_content_client_;
base::StatsTable* stats_table_;
// The name used for the stats file so it can be cleaned up on posix during
// test shutdown.
std::string stats_filename_;
// Alternative path to browser binaries.
FilePath browser_dir_;
ScopedOleInitializer ole_initializer_;
scoped_refptr<LocalHostResolverProc> host_resolver_proc_;
net::ScopedDefaultHostResolverProc scoped_host_resolver_proc_;
};
#endif // CHROME_TEST_UNIT_CHROME_TEST_SUITE_H_
|