| 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/automation/proxy_launcher.h" | 5 #include "chrome/test/automation/proxy_launcher.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/environment.h" | 9 #include "base/environment.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| 11 #include "base/files/file_enumerator.h" |
| 11 #include "base/stringprintf.h" | 12 #include "base/stringprintf.h" |
| 12 #include "base/strings/string_number_conversions.h" | 13 #include "base/strings/string_number_conversions.h" |
| 13 #include "base/strings/string_split.h" | 14 #include "base/strings/string_split.h" |
| 14 #include "base/test/test_file_util.h" | 15 #include "base/test/test_file_util.h" |
| 15 #include "base/test/test_timeouts.h" | 16 #include "base/test/test_timeouts.h" |
| 16 #include "base/utf_string_conversions.h" | 17 #include "base/utf_string_conversions.h" |
| 17 #include "chrome/app/chrome_command_ids.h" | 18 #include "chrome/app/chrome_command_ids.h" |
| 18 #include "chrome/common/automation_constants.h" | 19 #include "chrome/common/automation_constants.h" |
| 19 #include "chrome/common/chrome_constants.h" | 20 #include "chrome/common/chrome_constants.h" |
| 20 #include "chrome/common/chrome_switches.h" | 21 #include "chrome/common/chrome_switches.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 42 // Copies the contents of the given source directory to the given dest | 43 // Copies the contents of the given source directory to the given dest |
| 43 // directory. This is somewhat different than CopyDirectory in base which will | 44 // directory. This is somewhat different than CopyDirectory in base which will |
| 44 // copies "source/" to "dest/source/". This version will copy "source/*" to | 45 // copies "source/" to "dest/source/". This version will copy "source/*" to |
| 45 // "dest/*", overwriting existing files as necessary. | 46 // "dest/*", overwriting existing files as necessary. |
| 46 // | 47 // |
| 47 // This also kicks the files out of the memory cache for the startup tests. | 48 // This also kicks the files out of the memory cache for the startup tests. |
| 48 // TODO(brettw) bug 237904: This is the wrong place for this code. It means all | 49 // TODO(brettw) bug 237904: This is the wrong place for this code. It means all |
| 49 // startup tests other than the "cold" ones run more slowly than necessary. | 50 // startup tests other than the "cold" ones run more slowly than necessary. |
| 50 bool CopyDirectoryContentsNoCache(const base::FilePath& source, | 51 bool CopyDirectoryContentsNoCache(const base::FilePath& source, |
| 51 const base::FilePath& dest) { | 52 const base::FilePath& dest) { |
| 52 file_util::FileEnumerator en(source, false, | 53 base::FileEnumerator en(source, false, |
| 53 file_util::FileEnumerator::FILES | | 54 base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); |
| 54 file_util::FileEnumerator::DIRECTORIES); | |
| 55 for (base::FilePath cur = en.Next(); !cur.empty(); cur = en.Next()) { | 55 for (base::FilePath cur = en.Next(); !cur.empty(); cur = en.Next()) { |
| 56 file_util::FileEnumerator::FindInfo info; | 56 base::FileEnumerator::FileInfo info = en.GetInfo(); |
| 57 en.GetFindInfo(&info); | 57 if (info.IsDirectory()) { |
| 58 if (file_util::FileEnumerator::IsDirectory(info)) { | |
| 59 if (!file_util::CopyDirectory(cur, dest, true)) | 58 if (!file_util::CopyDirectory(cur, dest, true)) |
| 60 return false; | 59 return false; |
| 61 } else { | 60 } else { |
| 62 if (!file_util::CopyFile(cur, dest.Append(cur.BaseName()))) | 61 if (!file_util::CopyFile(cur, dest.Append(cur.BaseName()))) |
| 63 return false; | 62 return false; |
| 64 } | 63 } |
| 65 } | 64 } |
| 66 | 65 |
| 67 // Kick out the profile files, this must happen after SetUp which creates the | 66 // Kick out the profile files, this must happen after SetUp which creates the |
| 68 // profile. It might be nicer to use EvictFileFromSystemCacheWrapper from | 67 // profile. It might be nicer to use EvictFileFromSystemCacheWrapper from |
| 69 // UITest which will retry on failure. | 68 // UITest which will retry on failure. |
| 70 file_util::FileEnumerator kickout(dest, true, | 69 base::FileEnumerator kickout(dest, true, base::FileEnumerator::FILES); |
| 71 file_util::FileEnumerator::FILES); | |
| 72 for (base::FilePath cur = kickout.Next(); !cur.empty(); cur = kickout.Next()) | 70 for (base::FilePath cur = kickout.Next(); !cur.empty(); cur = kickout.Next()) |
| 73 base::EvictFileFromSystemCacheWithRetry(cur); | 71 base::EvictFileFromSystemCacheWithRetry(cur); |
| 74 return true; | 72 return true; |
| 75 } | 73 } |
| 76 | 74 |
| 77 // We want to have a current history database when we start the browser so | 75 // We want to have a current history database when we start the browser so |
| 78 // things like the NTP will have thumbnails. This method updates the dates | 76 // things like the NTP will have thumbnails. This method updates the dates |
| 79 // in the history to be more recent. | 77 // in the history to be more recent. |
| 80 void UpdateHistoryDates(const base::FilePath& user_data_dir) { | 78 void UpdateHistoryDates(const base::FilePath& user_data_dir) { |
| 81 // Migrate the times in the segment_usage table to yesterday so we get | 79 // Migrate the times in the segment_usage table to yesterday so we get |
| (...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 return LaunchBrowserAndServer(state, wait_for_initial_loads); | 628 return LaunchBrowserAndServer(state, wait_for_initial_loads); |
| 631 } | 629 } |
| 632 | 630 |
| 633 void AnonymousProxyLauncher::TerminateConnection() { | 631 void AnonymousProxyLauncher::TerminateConnection() { |
| 634 CloseBrowserAndServer(); | 632 CloseBrowserAndServer(); |
| 635 } | 633 } |
| 636 | 634 |
| 637 std::string AnonymousProxyLauncher::PrefixedChannelID() const { | 635 std::string AnonymousProxyLauncher::PrefixedChannelID() const { |
| 638 return channel_id_; | 636 return channel_id_; |
| 639 } | 637 } |
| OLD | NEW |