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

Side by Side Diff: base/test/test_suite.cc

Issue 645133002: Prefix CommandLine usege with base namespace (Part 1: base/) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updated #2 Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/test/test_suite.h" 5 #include "base/test/test_suite.h"
6 6
7 #include "base/at_exit.h" 7 #include "base/at_exit.h"
8 #include "base/base_paths.h" 8 #include "base/base_paths.h"
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 ASSERT_FALSE(TestSuite::IsMarkedMaybe(test_info)) 53 ASSERT_FALSE(TestSuite::IsMarkedMaybe(test_info))
54 << "Probably the OS #ifdefs don't include all of the necessary " 54 << "Probably the OS #ifdefs don't include all of the necessary "
55 "platforms.\nPlease ensure that no tests have the MAYBE_ prefix " 55 "platforms.\nPlease ensure that no tests have the MAYBE_ prefix "
56 "after the code is preprocessed."; 56 "after the code is preprocessed.";
57 } 57 }
58 }; 58 };
59 59
60 class TestClientInitializer : public testing::EmptyTestEventListener { 60 class TestClientInitializer : public testing::EmptyTestEventListener {
61 public: 61 public:
62 TestClientInitializer() 62 TestClientInitializer()
63 : old_command_line_(CommandLine::NO_PROGRAM) { 63 : old_command_line_(base::CommandLine::NO_PROGRAM) {
64 } 64 }
65 65
66 virtual void OnTestStart(const testing::TestInfo& test_info) override { 66 virtual void OnTestStart(const testing::TestInfo& test_info) override {
67 old_command_line_ = *CommandLine::ForCurrentProcess(); 67 old_command_line_ = *base::CommandLine::ForCurrentProcess();
68 } 68 }
69 69
70 virtual void OnTestEnd(const testing::TestInfo& test_info) override { 70 virtual void OnTestEnd(const testing::TestInfo& test_info) override {
71 *CommandLine::ForCurrentProcess() = old_command_line_; 71 *base::CommandLine::ForCurrentProcess() = old_command_line_;
72 } 72 }
73 73
74 private: 74 private:
75 CommandLine old_command_line_; 75 base::CommandLine old_command_line_;
76 76
77 DISALLOW_COPY_AND_ASSIGN(TestClientInitializer); 77 DISALLOW_COPY_AND_ASSIGN(TestClientInitializer);
78 }; 78 };
79 79
80 } // namespace 80 } // namespace
81 81
82 namespace base { 82 namespace base {
83 83
84 int RunUnitTestsUsingBaseTestSuite(int argc, char **argv) { 84 int RunUnitTestsUsingBaseTestSuite(int argc, char **argv) {
85 TestSuite test_suite(argc, argv); 85 TestSuite test_suite(argc, argv);
(...skipping 17 matching lines...) Expand all
103 #endif // defined(OS_WIN) 103 #endif // defined(OS_WIN)
104 104
105 TestSuite::TestSuite(int argc, char** argv, bool create_at_exit_manager) 105 TestSuite::TestSuite(int argc, char** argv, bool create_at_exit_manager)
106 : initialized_command_line_(false) { 106 : initialized_command_line_(false) {
107 PreInitialize(create_at_exit_manager); 107 PreInitialize(create_at_exit_manager);
108 InitializeFromCommandLine(argc, argv); 108 InitializeFromCommandLine(argc, argv);
109 } 109 }
110 110
111 TestSuite::~TestSuite() { 111 TestSuite::~TestSuite() {
112 if (initialized_command_line_) 112 if (initialized_command_line_)
113 CommandLine::Reset(); 113 base::CommandLine::Reset();
114 } 114 }
115 115
116 void TestSuite::InitializeFromCommandLine(int argc, char** argv) { 116 void TestSuite::InitializeFromCommandLine(int argc, char** argv) {
117 initialized_command_line_ = CommandLine::Init(argc, argv); 117 initialized_command_line_ = base::CommandLine::Init(argc, argv);
118 testing::InitGoogleTest(&argc, argv); 118 testing::InitGoogleTest(&argc, argv);
119 testing::InitGoogleMock(&argc, argv); 119 testing::InitGoogleMock(&argc, argv);
120 120
121 #if defined(OS_IOS) 121 #if defined(OS_IOS)
122 InitIOSRunHook(this, argc, argv); 122 InitIOSRunHook(this, argc, argv);
123 #endif 123 #endif
124 } 124 }
125 125
126 #if defined(OS_WIN) 126 #if defined(OS_WIN)
127 void TestSuite::InitializeFromCommandLine(int argc, wchar_t** argv) { 127 void TestSuite::InitializeFromCommandLine(int argc, wchar_t** argv) {
128 // Windows CommandLine::Init ignores argv anyway. 128 // Windows CommandLine::Init ignores argv anyway.
129 initialized_command_line_ = CommandLine::Init(argc, NULL); 129 initialized_command_line_ = base::CommandLine::Init(argc, NULL);
130 testing::InitGoogleTest(&argc, argv); 130 testing::InitGoogleTest(&argc, argv);
131 testing::InitGoogleMock(&argc, argv); 131 testing::InitGoogleMock(&argc, argv);
132 } 132 }
133 #endif // defined(OS_WIN) 133 #endif // defined(OS_WIN)
134 134
135 void TestSuite::PreInitialize(bool create_at_exit_manager) { 135 void TestSuite::PreInitialize(bool create_at_exit_manager) {
136 #if defined(OS_WIN) 136 #if defined(OS_WIN)
137 testing::GTEST_FLAG(catch_exceptions) = false; 137 testing::GTEST_FLAG(catch_exceptions) = false;
138 #endif 138 #endif
139 base::EnableTerminationOnHeapCorruption(); 139 base::EnableTerminationOnHeapCorruption();
(...skipping 29 matching lines...) Expand all
169 169
170 void TestSuite::ResetCommandLine() { 170 void TestSuite::ResetCommandLine() {
171 testing::TestEventListeners& listeners = 171 testing::TestEventListeners& listeners =
172 testing::UnitTest::GetInstance()->listeners(); 172 testing::UnitTest::GetInstance()->listeners();
173 listeners.Append(new TestClientInitializer); 173 listeners.Append(new TestClientInitializer);
174 } 174 }
175 175
176 #if !defined(OS_IOS) 176 #if !defined(OS_IOS)
177 void TestSuite::AddTestLauncherResultPrinter() { 177 void TestSuite::AddTestLauncherResultPrinter() {
178 // Only add the custom printer if requested. 178 // Only add the custom printer if requested.
179 if (!CommandLine::ForCurrentProcess()->HasSwitch( 179 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
180 switches::kTestLauncherOutput)) { 180 switches::kTestLauncherOutput)) {
181 return; 181 return;
182 } 182 }
183 183
184 FilePath output_path(CommandLine::ForCurrentProcess()->GetSwitchValuePath( 184 FilePath output_path(base::CommandLine::ForCurrentProcess()->
185 switches::kTestLauncherOutput)); 185 GetSwitchValuePath(switches::kTestLauncherOutput));
186 186
187 // Do not add the result printer if output path already exists. It's an 187 // Do not add the result printer if output path already exists. It's an
188 // indicator there is a process printing to that file, and we're likely 188 // indicator there is a process printing to that file, and we're likely
189 // its child. Do not clobber the results in that case. 189 // its child. Do not clobber the results in that case.
190 if (PathExists(output_path)) { 190 if (PathExists(output_path)) {
191 LOG(WARNING) << "Test launcher output path " << output_path.AsUTF8Unsafe() 191 LOG(WARNING) << "Test launcher output path " << output_path.AsUTF8Unsafe()
192 << " exists. Not adding test launcher result printer."; 192 << " exists. Not adding test launcher result printer.";
193 return; 193 return;
194 } 194 }
195 195
(...skipping 11 matching lines...) Expand all
207 #if defined(OS_IOS) 207 #if defined(OS_IOS)
208 RunTestsFromIOSApp(); 208 RunTestsFromIOSApp();
209 #endif 209 #endif
210 210
211 #if defined(OS_MACOSX) 211 #if defined(OS_MACOSX)
212 base::mac::ScopedNSAutoreleasePool scoped_pool; 212 base::mac::ScopedNSAutoreleasePool scoped_pool;
213 #endif 213 #endif
214 214
215 Initialize(); 215 Initialize();
216 std::string client_func = 216 std::string client_func =
217 CommandLine::ForCurrentProcess()->GetSwitchValueASCII( 217 base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
218 switches::kTestChildProcess); 218 switches::kTestChildProcess);
219 219
220 // Check to see if we are being run as a client process. 220 // Check to see if we are being run as a client process.
221 if (!client_func.empty()) 221 if (!client_func.empty())
222 return multi_process_function_list::InvokeChildProcessTest(client_func); 222 return multi_process_function_list::InvokeChildProcessTest(client_func);
223 #if defined(OS_IOS) 223 #if defined(OS_IOS)
224 base::test_listener_ios::RegisterTestEndListener(); 224 base::test_listener_ios::RegisterTestEndListener();
225 #endif 225 #endif
226 int result = RUN_ALL_TESTS(); 226 int result = RUN_ALL_TESTS();
227 227
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 315
316 CHECK(base::debug::EnableInProcessStackDumping()); 316 CHECK(base::debug::EnableInProcessStackDumping());
317 #if defined(OS_WIN) 317 #if defined(OS_WIN)
318 // Make sure we run with high resolution timer to minimize differences 318 // Make sure we run with high resolution timer to minimize differences
319 // between production code and test code. 319 // between production code and test code.
320 base::Time::EnableHighResolutionTimer(true); 320 base::Time::EnableHighResolutionTimer(true);
321 #endif // defined(OS_WIN) 321 #endif // defined(OS_WIN)
322 322
323 // In some cases, we do not want to see standard error dialogs. 323 // In some cases, we do not want to see standard error dialogs.
324 if (!base::debug::BeingDebugged() && 324 if (!base::debug::BeingDebugged() &&
325 !CommandLine::ForCurrentProcess()->HasSwitch("show-error-dialogs")) { 325 !base::CommandLine::ForCurrentProcess()->HasSwitch(
326 "show-error-dialogs")) {
326 SuppressErrorDialogs(); 327 SuppressErrorDialogs();
327 base::debug::SetSuppressDebugUI(true); 328 base::debug::SetSuppressDebugUI(true);
328 logging::SetLogAssertHandler(UnitTestAssertHandler); 329 logging::SetLogAssertHandler(UnitTestAssertHandler);
329 } 330 }
330 331
331 base::i18n::InitializeICU(); 332 base::i18n::InitializeICU();
332 333
333 CatchMaybeTests(); 334 CatchMaybeTests();
334 ResetCommandLine(); 335 ResetCommandLine();
335 #if !defined(OS_IOS) 336 #if !defined(OS_IOS)
336 AddTestLauncherResultPrinter(); 337 AddTestLauncherResultPrinter();
337 #endif // !defined(OS_IOS) 338 #endif // !defined(OS_IOS)
338 339
339 TestTimeouts::Initialize(); 340 TestTimeouts::Initialize();
340 341
341 trace_to_file_.BeginTracingFromCommandLineOptions(); 342 trace_to_file_.BeginTracingFromCommandLineOptions();
342 } 343 }
343 344
344 void TestSuite::Shutdown() { 345 void TestSuite::Shutdown() {
345 } 346 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698