| Index: base/test_suite.h
|
| ===================================================================
|
| --- base/test_suite.h (revision 7931)
|
| +++ base/test_suite.h (working copy)
|
| @@ -10,11 +10,14 @@
|
| // any gtest based tests that are linked into your executable.
|
|
|
| #include "base/at_exit.h"
|
| +#include "base/base_paths.h"
|
| #include "base/command_line.h"
|
| #include "base/debug_on_start.h"
|
| +#include "base/file_path.h"
|
| #include "base/icu_util.h"
|
| #include "base/logging.h"
|
| #include "base/multiprocess_test.h"
|
| +#include "base/scoped_nsautorelease_pool.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "testing/multiprocess_func_list.h"
|
|
|
| @@ -27,16 +30,31 @@
|
| class TestSuite {
|
| public:
|
| TestSuite(int argc, char** argv) {
|
| + base::ScopedNSAutoreleasePool scoped_pool;
|
| +
|
| + base::EnableTerminationOnHeapCorruption();
|
| CommandLine::SetArgcArgv(argc, argv);
|
| testing::InitGoogleTest(&argc, argv);
|
| #if defined(OS_LINUX)
|
| gtk_init_check(&argc, &argv);
|
| #endif
|
| +
|
| + FilePath exe;
|
| + PathService::Get(base::FILE_EXE, &exe);
|
| + FilePath log_filename = exe.ReplaceExtension(FILE_PATH_LITERAL("log"));
|
| + logging::InitLogging(log_filename.value().c_str(),
|
| + logging::LOG_TO_BOTH_FILE_AND_SYSTEM_DEBUG_LOG,
|
| + logging::LOCK_LOG_FILE,
|
| + logging::DELETE_OLD_LOG_FILE);
|
| + // we want process and thread IDs because we may have multiple processes
|
| + logging::SetLogItems(true, true, false, true);
|
| }
|
|
|
| virtual ~TestSuite() {}
|
|
|
| int Run() {
|
| + base::ScopedNSAutoreleasePool scoped_pool;
|
| +
|
| Initialize();
|
| std::wstring client_func = CommandLine().GetSwitchValue(kRunClientProcess);
|
| // Check to see if we are being run as a client process.
|
|
|