| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/test/ui/ui_test_suite.h" | 5 #include "chrome/test/ui/ui_test_suite.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/environment.h" | 9 #include "base/environment.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 : ChromeTestSuite(argc, argv) { | 24 : ChromeTestSuite(argc, argv) { |
| 25 #if defined(OS_WIN) | 25 #if defined(OS_WIN) |
| 26 crash_service_ = NULL; | 26 crash_service_ = NULL; |
| 27 #endif | 27 #endif |
| 28 } | 28 } |
| 29 | 29 |
| 30 void UITestSuite::Initialize() { | 30 void UITestSuite::Initialize() { |
| 31 ChromeTestSuite::Initialize(); | 31 ChromeTestSuite::Initialize(); |
| 32 | 32 |
| 33 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); | 33 const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess(); |
| 34 UITest::set_in_process_renderer( | 34 ProxyLauncher::set_in_process_renderer( |
| 35 parsed_command_line.HasSwitch(switches::kSingleProcess)); | 35 parsed_command_line.HasSwitch(switches::kSingleProcess)); |
| 36 UITest::set_no_sandbox( | 36 ProxyLauncher::set_no_sandbox( |
| 37 parsed_command_line.HasSwitch(switches::kNoSandbox)); | 37 parsed_command_line.HasSwitch(switches::kNoSandbox)); |
| 38 UITest::set_full_memory_dump( | 38 ProxyLauncher::set_full_memory_dump( |
| 39 parsed_command_line.HasSwitch(switches::kFullMemoryCrashReport)); | 39 parsed_command_line.HasSwitch(switches::kFullMemoryCrashReport)); |
| 40 UITest::set_safe_plugins( | 40 ProxyLauncher::set_safe_plugins( |
| 41 parsed_command_line.HasSwitch(switches::kSafePlugins)); | 41 parsed_command_line.HasSwitch(switches::kSafePlugins)); |
| 42 UITest::set_dump_histograms_on_exit( | 42 ProxyLauncher::set_dump_histograms_on_exit( |
| 43 parsed_command_line.HasSwitch(switches::kDumpHistogramsOnExit)); | 43 parsed_command_line.HasSwitch(switches::kDumpHistogramsOnExit)); |
| 44 UITest::set_enable_dcheck( | 44 ProxyLauncher::set_enable_dcheck( |
| 45 parsed_command_line.HasSwitch(switches::kEnableDCHECK)); | 45 parsed_command_line.HasSwitch(switches::kEnableDCHECK)); |
| 46 UITest::set_silent_dump_on_dcheck( | 46 ProxyLauncher::set_silent_dump_on_dcheck( |
| 47 parsed_command_line.HasSwitch(switches::kSilentDumpOnDCHECK)); | 47 parsed_command_line.HasSwitch(switches::kSilentDumpOnDCHECK)); |
| 48 UITest::set_disable_breakpad( | 48 ProxyLauncher::set_disable_breakpad( |
| 49 parsed_command_line.HasSwitch(switches::kDisableBreakpad)); | 49 parsed_command_line.HasSwitch(switches::kDisableBreakpad)); |
| 50 | 50 |
| 51 #if defined(OS_WIN) | 51 #if defined(OS_WIN) |
| 52 int batch_count = 0; | 52 int batch_count = 0; |
| 53 int batch_index = 0; | 53 int batch_index = 0; |
| 54 std::string batch_count_str = | 54 std::string batch_count_str = |
| 55 parsed_command_line.GetSwitchValueASCII(UITestSuite::kBatchCount); | 55 parsed_command_line.GetSwitchValueASCII(UITestSuite::kBatchCount); |
| 56 if (!batch_count_str.empty()) { | 56 if (!batch_count_str.empty()) { |
| 57 base::StringToInt(batch_count_str, &batch_count); | 57 base::StringToInt(batch_count_str, &batch_count); |
| 58 } | 58 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 71 std::string batch_index_env(UITestSuite::kGTestShardIndex); | 71 std::string batch_index_env(UITestSuite::kGTestShardIndex); |
| 72 batch_index_env.append(batch_index_str); | 72 batch_index_env.append(batch_index_str); |
| 73 _putenv(batch_count_env.c_str()); | 73 _putenv(batch_count_env.c_str()); |
| 74 _putenv(batch_index_env.c_str()); | 74 _putenv(batch_index_env.c_str()); |
| 75 } | 75 } |
| 76 #endif | 76 #endif |
| 77 | 77 |
| 78 std::string js_flags = | 78 std::string js_flags = |
| 79 parsed_command_line.GetSwitchValueASCII(switches::kJavaScriptFlags); | 79 parsed_command_line.GetSwitchValueASCII(switches::kJavaScriptFlags); |
| 80 if (!js_flags.empty()) | 80 if (!js_flags.empty()) |
| 81 UITest::set_js_flags(js_flags); | 81 ProxyLauncher::set_js_flags(js_flags); |
| 82 std::string log_level = | 82 std::string log_level = |
| 83 parsed_command_line.GetSwitchValueASCII(switches::kLoggingLevel); | 83 parsed_command_line.GetSwitchValueASCII(switches::kLoggingLevel); |
| 84 if (!log_level.empty()) | 84 if (!log_level.empty()) |
| 85 UITest::set_log_level(log_level); | 85 ProxyLauncher::set_log_level(log_level); |
| 86 | 86 |
| 87 #if defined(OS_WIN) | 87 #if defined(OS_WIN) |
| 88 LoadCrashService(); | 88 LoadCrashService(); |
| 89 #endif | 89 #endif |
| 90 } | 90 } |
| 91 | 91 |
| 92 void UITestSuite::Shutdown() { | 92 void UITestSuite::Shutdown() { |
| 93 #if defined(OS_WIN) | 93 #if defined(OS_WIN) |
| 94 if (crash_service_) | 94 if (crash_service_) |
| 95 base::KillProcess(crash_service_, 0, false); | 95 base::KillProcess(crash_service_, 0, false); |
| 96 #endif | 96 #endif |
| 97 | 97 |
| 98 ChromeTestSuite::Shutdown(); | 98 ChromeTestSuite::Shutdown(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 void UITestSuite::SuppressErrorDialogs() { | 101 void UITestSuite::SuppressErrorDialogs() { |
| 102 TestSuite::SuppressErrorDialogs(); | 102 TestSuite::SuppressErrorDialogs(); |
| 103 UITest::set_show_error_dialogs(false); | 103 ProxyLauncher::set_show_error_dialogs(false); |
| 104 } | 104 } |
| 105 | 105 |
| 106 #if defined(OS_WIN) | 106 #if defined(OS_WIN) |
| 107 void UITestSuite::LoadCrashService() { | 107 void UITestSuite::LoadCrashService() { |
| 108 scoped_ptr<base::Environment> env(base::Environment::Create()); | 108 scoped_ptr<base::Environment> env(base::Environment::Create()); |
| 109 if (env->HasVar(env_vars::kHeadless)) | 109 if (env->HasVar(env_vars::kHeadless)) |
| 110 return; | 110 return; |
| 111 | 111 |
| 112 if (base::GetProcessCount(L"crash_service.exe", NULL)) | 112 if (base::GetProcessCount(L"crash_service.exe", NULL)) |
| 113 return; | 113 return; |
| 114 | 114 |
| 115 FilePath exe_dir; | 115 FilePath exe_dir; |
| 116 if (!PathService::Get(base::DIR_EXE, &exe_dir)) { | 116 if (!PathService::Get(base::DIR_EXE, &exe_dir)) { |
| 117 DCHECK(false); | 117 DCHECK(false); |
| 118 return; | 118 return; |
| 119 } | 119 } |
| 120 | 120 |
| 121 FilePath crash_service = exe_dir.Append(L"crash_service.exe"); | 121 FilePath crash_service = exe_dir.Append(L"crash_service.exe"); |
| 122 if (!base::LaunchApp(crash_service.ToWStringHack(), false, false, | 122 if (!base::LaunchApp(crash_service.ToWStringHack(), false, false, |
| 123 &crash_service_)) { | 123 &crash_service_)) { |
| 124 printf("Couldn't start crash_service.exe, so this ui_test run won't tell " \ | 124 printf("Couldn't start crash_service.exe, so this ui_test run won't tell " \ |
| 125 "you if any test crashes!\n"); | 125 "you if any test crashes!\n"); |
| 126 return; | 126 return; |
| 127 } | 127 } |
| 128 | 128 |
| 129 printf("Started crash_service.exe so you know if a test crashes!\n"); | 129 printf("Started crash_service.exe so you know if a test crashes!\n"); |
| 130 } | 130 } |
| 131 #endif | 131 #endif |
| OLD | NEW |