| 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 "chrome/test/base/test_launcher_utils.h" | 5 #include "chrome/test/base/test_launcher_utils.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/environment.h" | 10 #include "base/environment.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 #endif | 65 #endif |
| 66 | 66 |
| 67 #if defined(OS_MACOSX) | 67 #if defined(OS_MACOSX) |
| 68 // Use mock keychain on mac to prevent blocking permissions dialogs. | 68 // Use mock keychain on mac to prevent blocking permissions dialogs. |
| 69 command_line->AppendSwitch(os_crypt::switches::kUseMockKeychain); | 69 command_line->AppendSwitch(os_crypt::switches::kUseMockKeychain); |
| 70 #endif | 70 #endif |
| 71 | 71 |
| 72 command_line->AppendSwitch(switches::kDisableComponentUpdate); | 72 command_line->AppendSwitch(switches::kDisableComponentUpdate); |
| 73 } | 73 } |
| 74 | 74 |
| 75 void RemoveCommandLineSwitch(const base::CommandLine& in_command_line, |
| 76 const std::string& switch_to_remove, |
| 77 base::CommandLine* out_command_line) { |
| 78 const base::CommandLine::SwitchMap& switch_map = |
| 79 in_command_line.GetSwitches(); |
| 80 for (base::CommandLine::SwitchMap::const_iterator i = switch_map.begin(); |
| 81 i != switch_map.end(); ++i) { |
| 82 const std::string& switch_name = i->first; |
| 83 if (switch_name == switch_to_remove) |
| 84 continue; |
| 85 |
| 86 out_command_line->AppendSwitchNative(switch_name, i->second); |
| 87 } |
| 88 } |
| 89 |
| 75 bool OverrideUserDataDir(const base::FilePath& user_data_dir) { | 90 bool OverrideUserDataDir(const base::FilePath& user_data_dir) { |
| 76 bool success = true; | 91 bool success = true; |
| 77 | 92 |
| 78 // PathService::Override() is the best way to change the user data directory. | 93 // PathService::Override() is the best way to change the user data directory. |
| 79 // This matches what is done in ChromeMain(). | 94 // This matches what is done in ChromeMain(). |
| 80 success = PathService::Override(chrome::DIR_USER_DATA, user_data_dir); | 95 success = PathService::Override(chrome::DIR_USER_DATA, user_data_dir); |
| 81 | 96 |
| 82 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 97 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| 83 // Make sure the cache directory is inside our clear profile. Otherwise | 98 // Make sure the cache directory is inside our clear profile. Otherwise |
| 84 // the cache may contain data from earlier tests that could break the | 99 // the cache may contain data from earlier tests that could break the |
| 85 // current test. | 100 // current test. |
| 86 // | 101 // |
| 87 // Note: we use an environment variable here, because we have to pass the | 102 // Note: we use an environment variable here, because we have to pass the |
| 88 // value to the child process. This is the simplest way to do it. | 103 // value to the child process. This is the simplest way to do it. |
| 89 std::unique_ptr<base::Environment> env(base::Environment::Create()); | 104 std::unique_ptr<base::Environment> env(base::Environment::Create()); |
| 90 success = success && env->SetVar("XDG_CACHE_HOME", user_data_dir.value()); | 105 success = success && env->SetVar("XDG_CACHE_HOME", user_data_dir.value()); |
| 91 #endif | 106 #endif |
| 92 | 107 |
| 93 return success; | 108 return success; |
| 94 } | 109 } |
| 95 | 110 |
| 96 } // namespace test_launcher_utils | 111 } // namespace test_launcher_utils |
| OLD | NEW |