| OLD | NEW |
| 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 "content/public/test/test_launcher.h" | 5 #include "content/public/test/test_launcher.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 } | 88 } |
| 89 | 89 |
| 90 CommandLine new_cmd_line(command_line); | 90 CommandLine new_cmd_line(command_line); |
| 91 | 91 |
| 92 // Always enable disabled tests. This method is not called with disabled | 92 // Always enable disabled tests. This method is not called with disabled |
| 93 // tests unless this flag was specified to the browser test executable. | 93 // tests unless this flag was specified to the browser test executable. |
| 94 new_cmd_line.AppendSwitch("gtest_also_run_disabled_tests"); | 94 new_cmd_line.AppendSwitch("gtest_also_run_disabled_tests"); |
| 95 new_cmd_line.AppendSwitchASCII("gtest_filter", test_name); | 95 new_cmd_line.AppendSwitchASCII("gtest_filter", test_name); |
| 96 new_cmd_line.AppendSwitch(kSingleProcessTestsFlag); | 96 new_cmd_line.AppendSwitch(kSingleProcessTestsFlag); |
| 97 | 97 |
| 98 int exit_code = base::LaunchChildGTestProcess(new_cmd_line, | 98 char* browser_wrapper = getenv("BROWSER_WRAPPER"); |
| 99 default_timeout, | 99 int exit_code = base::LaunchChildGTestProcess( |
| 100 was_timeout); | 100 new_cmd_line, |
| 101 browser_wrapper ? browser_wrapper : std::string(), |
| 102 default_timeout, |
| 103 was_timeout); |
| 101 if (*was_timeout) { | 104 if (*was_timeout) { |
| 102 LOG(ERROR) << "Test timeout (" << default_timeout.InMilliseconds() | 105 LOG(ERROR) << "Test timeout (" << default_timeout.InMilliseconds() |
| 103 << " ms) exceeded for " << test_name; | 106 << " ms) exceeded for " << test_name; |
| 104 } | 107 } |
| 105 | 108 |
| 106 return exit_code; | 109 return exit_code; |
| 107 } | 110 } |
| 108 | 111 |
| 109 // Runs test specified by |test_name| in a child process, | 112 // Runs test specified by |test_name| in a child process, |
| 110 // and returns the exit code. | 113 // and returns the exit code. |
| (...skipping 12 matching lines...) Expand all Loading... |
| 123 #endif | 126 #endif |
| 124 | 127 |
| 125 base::ScopedTempDir temp_dir; | 128 base::ScopedTempDir temp_dir; |
| 126 // Create a new data dir and pass it to the child. | 129 // Create a new data dir and pass it to the child. |
| 127 if (!temp_dir.CreateUniqueTempDir() || !temp_dir.IsValid()) { | 130 if (!temp_dir.CreateUniqueTempDir() || !temp_dir.IsValid()) { |
| 128 LOG(ERROR) << "Error creating temp data directory"; | 131 LOG(ERROR) << "Error creating temp data directory"; |
| 129 return -1; | 132 return -1; |
| 130 } | 133 } |
| 131 | 134 |
| 132 CommandLine new_cmd_line(*CommandLine::ForCurrentProcess()); | 135 CommandLine new_cmd_line(*CommandLine::ForCurrentProcess()); |
| 133 | |
| 134 const char* browser_wrapper = getenv("BROWSER_WRAPPER"); | |
| 135 if (browser_wrapper) { | |
| 136 #if defined(OS_WIN) | |
| 137 new_cmd_line.PrependWrapper(ASCIIToWide(browser_wrapper)); | |
| 138 #elif defined(OS_POSIX) | |
| 139 new_cmd_line.PrependWrapper(browser_wrapper); | |
| 140 #endif | |
| 141 VLOG(1) << "BROWSER_WRAPPER was set, prefixing command_line with " | |
| 142 << browser_wrapper; | |
| 143 } | |
| 144 | |
| 145 if (!launcher_delegate->AdjustChildProcessCommandLine(&new_cmd_line, | 136 if (!launcher_delegate->AdjustChildProcessCommandLine(&new_cmd_line, |
| 146 temp_dir.path())) { | 137 temp_dir.path())) { |
| 147 return -1; | 138 return -1; |
| 148 } | 139 } |
| 149 | 140 |
| 150 return DoRunTestInternal( | 141 return DoRunTestInternal( |
| 151 test_case, test_name, new_cmd_line, default_timeout, was_timeout); | 142 test_case, test_name, new_cmd_line, default_timeout, was_timeout); |
| 152 } | 143 } |
| 153 | 144 |
| 154 void PrintUsage() { | 145 void PrintUsage() { |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 | 343 |
| 353 WrapperTestLauncherDelegate delegate(launcher_delegate); | 344 WrapperTestLauncherDelegate delegate(launcher_delegate); |
| 354 return base::LaunchTests(&delegate, argc, argv); | 345 return base::LaunchTests(&delegate, argc, argv); |
| 355 } | 346 } |
| 356 | 347 |
| 357 TestLauncherDelegate* GetCurrentTestLauncherDelegate() { | 348 TestLauncherDelegate* GetCurrentTestLauncherDelegate() { |
| 358 return g_launcher_delegate; | 349 return g_launcher_delegate; |
| 359 } | 350 } |
| 360 | 351 |
| 361 } // namespace content | 352 } // namespace content |
| OLD | NEW |