| 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 "app/app_switches.h" | |
| 6 #include "app/gfx/gl/gl_implementation.h" | |
| 7 #include "base/command_line.h" | 5 #include "base/command_line.h" |
| 8 #include "base/environment.h" | 6 #include "base/environment.h" |
| 9 #include "base/path_service.h" | 7 #include "base/path_service.h" |
| 10 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" |
| 11 #include "chrome/common/chrome_paths.h" | 9 #include "chrome/common/chrome_paths.h" |
| 12 #include "chrome/common/chrome_switches.h" | 10 #include "chrome/common/chrome_switches.h" |
| 13 #include "chrome/test/test_launcher_utils.h" | 11 #include "chrome/test/test_launcher_utils.h" |
| 14 | 12 |
| 15 namespace test_launcher_utils { | 13 namespace test_launcher_utils { |
| 16 | 14 |
| 17 void PrepareBrowserCommandLineForTests(CommandLine* command_line) { | 15 void PrepareBrowserCommandLineForTests(CommandLine* command_line) { |
| 18 // Turn off tip loading for tests; see http://crbug.com/17725. | 16 // Turn off tip loading for tests; see http://crbug.com/17725. |
| 19 command_line->AppendSwitch(switches::kDisableWebResources); | 17 command_line->AppendSwitch(switches::kDisableWebResources); |
| 20 | 18 |
| 21 // Turn off preconnects because they break the brittle python webserver; | 19 // Turn off preconnects because they break the brittle python webserver; |
| 22 // see http://crbug.com/60035. | 20 // see http://crbug.com/60035. |
| 23 command_line->AppendSwitch(switches::kDisablePreconnect); | 21 command_line->AppendSwitch(switches::kDisablePreconnect); |
| 24 | 22 |
| 25 // Don't show the first run ui. | 23 // Don't show the first run ui. |
| 26 command_line->AppendSwitch(switches::kNoFirstRun); | 24 command_line->AppendSwitch(switches::kNoFirstRun); |
| 27 | 25 |
| 28 // No default browser check, it would create an info-bar (if we are not the | 26 // No default browser check, it would create an info-bar (if we are not the |
| 29 // default browser) that could conflicts with some tests expectations. | 27 // default browser) that could conflicts with some tests expectations. |
| 30 command_line->AppendSwitch(switches::kNoDefaultBrowserCheck); | 28 command_line->AppendSwitch(switches::kNoDefaultBrowserCheck); |
| 31 | 29 |
| 32 // Enable warning level logging so that we can see when bad stuff happens. | 30 // Enable warning level logging so that we can see when bad stuff happens. |
| 33 command_line->AppendSwitch(switches::kEnableLogging); | 31 command_line->AppendSwitch(switches::kEnableLogging); |
| 34 command_line->AppendSwitchASCII(switches::kLoggingLevel, "1"); // warning | 32 command_line->AppendSwitchASCII(switches::kLoggingLevel, "1"); // warning |
| 35 | |
| 36 // Force all tests to use OSMesa if they launch the GPU process. | |
| 37 command_line->AppendSwitchASCII(switches::kUseGL, | |
| 38 gfx::kGLImplementationOSMesaName); | |
| 39 | |
| 40 // Mac does not support accelerated compositing with OSMesa. | |
| 41 // http://crbug.com/58343 | |
| 42 command_line->AppendSwitch(switches::kDisableAcceleratedCompositing); | |
| 43 } | 33 } |
| 44 | 34 |
| 45 bool OverrideUserDataDir(const FilePath& user_data_dir) { | 35 bool OverrideUserDataDir(const FilePath& user_data_dir) { |
| 46 bool success = true; | 36 bool success = true; |
| 47 | 37 |
| 48 // PathService::Override() is the best way to change the user data directory. | 38 // PathService::Override() is the best way to change the user data directory. |
| 49 // This matches what is done in ChromeMain(). | 39 // This matches what is done in ChromeMain(). |
| 50 success = PathService::Override(chrome::DIR_USER_DATA, user_data_dir); | 40 success = PathService::Override(chrome::DIR_USER_DATA, user_data_dir); |
| 51 | 41 |
| 52 #if defined(OS_LINUX) | 42 #if defined(OS_LINUX) |
| 53 // Make sure the cache directory is inside our clear profile. Otherwise | 43 // Make sure the cache directory is inside our clear profile. Otherwise |
| 54 // the cache may contain data from earlier tests that could break the | 44 // the cache may contain data from earlier tests that could break the |
| 55 // current test. | 45 // current test. |
| 56 // | 46 // |
| 57 // Note: we use an environment variable here, because we have to pass the | 47 // Note: we use an environment variable here, because we have to pass the |
| 58 // value to the child process. This is the simplest way to do it. | 48 // value to the child process. This is the simplest way to do it. |
| 59 scoped_ptr<base::Environment> env(base::Environment::Create()); | 49 scoped_ptr<base::Environment> env(base::Environment::Create()); |
| 60 success = success && env->SetVar("XDG_CACHE_HOME", user_data_dir.value()); | 50 success = success && env->SetVar("XDG_CACHE_HOME", user_data_dir.value()); |
| 61 #endif | 51 #endif |
| 62 | 52 |
| 63 return success; | 53 return success; |
| 64 } | 54 } |
| 65 | 55 |
| 66 } // namespace test_launcher_utils | 56 } // namespace test_launcher_utils |
| OLD | NEW |