diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-08 04:53:36 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-08 04:53:36 +0000 |
commit | 25a4c1ccaee2b032ee368d733b79ac814efd7c37 (patch) | |
tree | 589cd0233167acf4a3fe7bdaf50cea24ad505b7b /chrome/test | |
parent | aff39ac8a8ea09920b9180ebc09d72c15832f3ad (diff) | |
download | chromium_src-25a4c1ccaee2b032ee368d733b79ac814efd7c37.zip chromium_src-25a4c1ccaee2b032ee368d733b79ac814efd7c37.tar.gz chromium_src-25a4c1ccaee2b032ee368d733b79ac814efd7c37.tar.bz2 |
Move FileEnumerator to its own file, do some refactoring.
It creates a class FileInfo to contain the details rather than using a platform-specific typedef. This allows the accessors GetName, GetSize, etc. to be moved directly to this class (previously they were static helpers on the FileEnumerator class) which makes a bunch of code much cleaner. It also gives reasonable getting and initialization which the previous version lacked.
BUG=175002
Reland of 198820 and 298824
Original review = https://codereview.chromium.org/13165005
R=rvargas@chromium.org
Review URL: https://codereview.chromium.org/16392011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205019 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/automation/proxy_launcher.cc | 14 | ||||
-rw-r--r-- | chrome/test/chromedriver/chrome/zip.cc | 6 | ||||
-rw-r--r-- | chrome/test/chromedriver/util.cc | 6 | ||||
-rw-r--r-- | chrome/test/gpu/gpu_pixel_browsertest.cc | 9 | ||||
-rw-r--r-- | chrome/test/mini_installer_test/installer_path_provider.cc | 37 | ||||
-rw-r--r-- | chrome/test/perf/generate_profile.cc | 5 | ||||
-rw-r--r-- | chrome/test/perf/startup_test.cc | 1 | ||||
-rw-r--r-- | chrome/test/reliability/automated_ui_tests.cc | 7 | ||||
-rw-r--r-- | chrome/test/reliability/page_load_test.cc | 19 | ||||
-rw-r--r-- | chrome/test/ui/ui_test.cc | 9 | ||||
-rw-r--r-- | chrome/test/webdriver/webdriver_util.cc | 6 |
11 files changed, 55 insertions, 64 deletions
diff --git a/chrome/test/automation/proxy_launcher.cc b/chrome/test/automation/proxy_launcher.cc index 49c129f..15b12e7 100644 --- a/chrome/test/automation/proxy_launcher.cc +++ b/chrome/test/automation/proxy_launcher.cc @@ -8,6 +8,7 @@ #include "base/environment.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/stringprintf.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" @@ -49,13 +50,11 @@ const char kUITestType[] = "ui"; // startup tests other than the "cold" ones run more slowly than necessary. bool CopyDirectoryContentsNoCache(const base::FilePath& source, const base::FilePath& dest) { - file_util::FileEnumerator en(source, false, - file_util::FileEnumerator::FILES | - file_util::FileEnumerator::DIRECTORIES); + base::FileEnumerator en(source, false, + base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); for (base::FilePath cur = en.Next(); !cur.empty(); cur = en.Next()) { - file_util::FileEnumerator::FindInfo info; - en.GetFindInfo(&info); - if (file_util::FileEnumerator::IsDirectory(info)) { + base::FileEnumerator::FileInfo info = en.GetInfo(); + if (info.IsDirectory()) { if (!file_util::CopyDirectory(cur, dest, true)) return false; } else { @@ -67,8 +66,7 @@ bool CopyDirectoryContentsNoCache(const base::FilePath& source, // Kick out the profile files, this must happen after SetUp which creates the // profile. It might be nicer to use EvictFileFromSystemCacheWrapper from // UITest which will retry on failure. - file_util::FileEnumerator kickout(dest, true, - file_util::FileEnumerator::FILES); + base::FileEnumerator kickout(dest, true, base::FileEnumerator::FILES); for (base::FilePath cur = kickout.Next(); !cur.empty(); cur = kickout.Next()) base::EvictFileFromSystemCacheWithRetry(cur); return true; diff --git a/chrome/test/chromedriver/chrome/zip.cc b/chrome/test/chromedriver/chrome/zip.cc index cbebc20..d717bf5 100644 --- a/chrome/test/chromedriver/chrome/zip.cc +++ b/chrome/test/chromedriver/chrome/zip.cc @@ -6,6 +6,7 @@ #include "base/bind.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/logging.h" #include "base/string16.h" #include "base/string_util.h" @@ -137,9 +138,8 @@ bool ZipWithFilterCallback(const base::FilePath& src_dir, } bool success = true; - file_util::FileEnumerator file_enumerator(src_dir, true /* recursive */, - file_util::FileEnumerator::FILES | - file_util::FileEnumerator::DIRECTORIES); + base::FileEnumerator file_enumerator(src_dir, true /* recursive */, + base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); for (base::FilePath path = file_enumerator.Next(); !path.value().empty(); path = file_enumerator.Next()) { if (!filter_cb.Run(path)) { diff --git a/chrome/test/chromedriver/util.cc b/chrome/test/chromedriver/util.cc index 60919ab..e4907b1 100644 --- a/chrome/test/chromedriver/util.cc +++ b/chrome/test/chromedriver/util.cc @@ -6,6 +6,7 @@ #include "base/base64.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/files/scoped_temp_dir.h" #include "base/format_macros.h" #include "base/rand_util.h" @@ -383,9 +384,8 @@ Status UnzipSoleFile(const base::FilePath& unzip_dir, } } - file_util::FileEnumerator enumerator(unzip_dir, false /* recursive */, - file_util::FileEnumerator::FILES | - file_util::FileEnumerator::DIRECTORIES); + base::FileEnumerator enumerator(unzip_dir, false /* recursive */, + base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); base::FilePath first_file = enumerator.Next(); if (first_file.empty()) return Status(kUnknownError, "contained 0 files"); diff --git a/chrome/test/gpu/gpu_pixel_browsertest.cc b/chrome/test/gpu/gpu_pixel_browsertest.cc index 1752713..82e997e 100644 --- a/chrome/test/gpu/gpu_pixel_browsertest.cc +++ b/chrome/test/gpu/gpu_pixel_browsertest.cc @@ -4,6 +4,7 @@ #include "base/command_line.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/files/file_path.h" #include "base/path_service.h" #include "base/string_util.h" @@ -420,10 +421,10 @@ class GpuPixelBrowserTest : public InProcessBrowserTest { void ObtainLocalRefImageRevision() { base::FilePath filter; filter = filter.AppendASCII(test_name_ + "_*.rev"); - file_util::FileEnumerator locator(ref_img_dir_, - false, // non recursive - file_util::FileEnumerator::FILES, - filter.value()); + base::FileEnumerator locator(ref_img_dir_, + false, // non recursive + base::FileEnumerator::FILES, + filter.value()); int64 max_revision = 0; std::vector<base::FilePath> outdated_revs; for (base::FilePath full_path = locator.Next(); diff --git a/chrome/test/mini_installer_test/installer_path_provider.cc b/chrome/test/mini_installer_test/installer_path_provider.cc index 02f7abe..b751153 100644 --- a/chrome/test/mini_installer_test/installer_path_provider.cc +++ b/chrome/test/mini_installer_test/installer_path_provider.cc @@ -8,6 +8,7 @@ #include "base/command_line.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/path_service.h" #include "base/process_util.h" #include "base/string_util.h" @@ -19,24 +20,12 @@ namespace { struct FilePathInfo { - file_util::FileEnumerator::FindInfo info; + base::FileEnumerator::FileInfo info; base::FilePath path; }; -bool CompareDate(const FilePathInfo& a, - const FilePathInfo& b) { -#if defined(OS_POSIX) - return a.info.stat.st_mtime > b.info.stat.st_mtime; -#elif defined(OS_WIN) - if (a.info.ftLastWriteTime.dwHighDateTime == - b.info.ftLastWriteTime.dwHighDateTime) { - return a.info.ftLastWriteTime.dwLowDateTime > - b.info.ftLastWriteTime.dwLowDateTime; - } else { - return a.info.ftLastWriteTime.dwHighDateTime > - b.info.ftLastWriteTime.dwHighDateTime; - } -#endif +bool CompareDate(const FilePathInfo& a, const FilePathInfo& b) { + return a.info.GetLastModifiedTime() > b.info.GetLastModifiedTime(); } // Get list of file |type| matching |pattern| in |root|. @@ -44,15 +33,15 @@ bool CompareDate(const FilePathInfo& a, // Return true if files/directories are found. bool FindMatchingFiles(const base::FilePath& root, const std::string& pattern, - file_util::FileEnumerator::FileType type, + base::FileEnumerator::FileType type, std::vector<base::FilePath>* paths) { - file_util::FileEnumerator files(root, false, type, + base::FileEnumerator files(root, false, type, base::FilePath().AppendASCII(pattern).value()); std::vector<FilePathInfo> matches; for (base::FilePath current = files.Next(); !current.empty(); current = files.Next()) { FilePathInfo entry; - files.GetFindInfo(&entry.info); + entry.info = files.GetInfo(); entry.path = current; matches.push_back(entry); } @@ -70,7 +59,7 @@ bool FindMatchingFiles(const base::FilePath& root, bool FindNewestMatchingFile(const base::FilePath& root, const std::string& pattern, - file_util::FileEnumerator::FileType type, + base::FileEnumerator::FileType type, base::FilePath* path) { std::vector<base::FilePath> paths; if (FindMatchingFiles(root, pattern, type, &paths)) { @@ -144,12 +133,12 @@ bool InstallerPathProvider::GetPreviousInstaller(base::FilePath* path) { "*%s", tokenized_name[2].c_str()); std::vector<base::FilePath> previous_build; if (FindMatchingFiles(diff_installer.DirName().DirName().DirName(), - build_pattern, file_util::FileEnumerator::DIRECTORIES, + build_pattern, base::FileEnumerator::DIRECTORIES, &previous_build)) { base::FilePath windir = previous_build.at(0).Append( mini_installer_constants::kWinFolder); FindNewestMatchingFile(windir, full_installer_pattern, - file_util::FileEnumerator::FILES, &previous_installer); + base::FileEnumerator::FILES, &previous_installer); } if (previous_installer.empty()) @@ -215,7 +204,7 @@ bool InstallerPathProvider::GetInstaller(const std::string& pattern, base::FilePath root(mini_installer_constants::kChromeInstallersLocation); std::vector<base::FilePath> paths; if (!FindMatchingFiles(root, current_build_, - file_util::FileEnumerator::DIRECTORIES, &paths)) { + base::FileEnumerator::DIRECTORIES, &paths)) { return false; } @@ -223,8 +212,8 @@ bool InstallerPathProvider::GetInstaller(const std::string& pattern, for (dir = paths.begin(); dir != paths.end(); ++dir) { base::FilePath windir = dir->Append( mini_installer_constants::kWinFolder); - if (FindNewestMatchingFile(windir, pattern, - file_util::FileEnumerator::FILES, &installer)) { + if (FindNewestMatchingFile(windir, pattern, base::FileEnumerator::FILES, + &installer)) { break; } } diff --git a/chrome/test/perf/generate_profile.cc b/chrome/test/perf/generate_profile.cc index c2c5114..c8df762 100644 --- a/chrome/test/perf/generate_profile.cc +++ b/chrome/test/perf/generate_profile.cc @@ -7,6 +7,7 @@ #include "base/at_exit.h" #include "base/command_line.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/files/file_path.h" #include "base/i18n/icu_util.h" #include "base/logging.h" @@ -250,8 +251,8 @@ bool GenerateProfile(GenerateProfileTypes types, message_loop.RunUntilIdle(); - file_util::FileEnumerator file_iterator(profile.GetPath(), false, - file_util::FileEnumerator::FILES); + base::FileEnumerator file_iterator(profile.GetPath(), false, + base::FileEnumerator::FILES); base::FilePath path = file_iterator.Next(); while (!path.empty()) { base::FilePath dst_file = dst_dir.Append(path.BaseName()); diff --git a/chrome/test/perf/startup_test.cc b/chrome/test/perf/startup_test.cc index f6cf7cd..6b0e618 100644 --- a/chrome/test/perf/startup_test.cc +++ b/chrome/test/perf/startup_test.cc @@ -4,6 +4,7 @@ #include "base/environment.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/path_service.h" #include "base/string_util.h" #include "base/stringprintf.h" diff --git a/chrome/test/reliability/automated_ui_tests.cc b/chrome/test/reliability/automated_ui_tests.cc index a44c274..8e11dd7 100644 --- a/chrome/test/reliability/automated_ui_tests.cc +++ b/chrome/test/reliability/automated_ui_tests.cc @@ -10,6 +10,7 @@ #include "base/environment.h" #include "base/file_util.h" #include "base/file_version_info.h" +#include "base/files/file_enumerator.h" #include "base/files/file_path.h" #include "base/i18n/time_formatting.h" #include "base/logging.h" @@ -771,9 +772,9 @@ base::FilePath AutomatedUITest::GetMostRecentCrashDump() { bool first_file = true; - file_util::FileEnumerator enumerator(crash_dump_path, - false, // not recursive - file_util::FileEnumerator::FILES); + base::FileEnumerator enumerator(crash_dump_path, + false, // not recursive + base::FileEnumerator::FILES); for (base::FilePath path = enumerator.Next(); !path.value().empty(); path = enumerator.Next()) { base::PlatformFileInfo file_info; diff --git a/chrome/test/reliability/page_load_test.cc b/chrome/test/reliability/page_load_test.cc index ac04c4b..a6fe560 100644 --- a/chrome/test/reliability/page_load_test.cc +++ b/chrome/test/reliability/page_load_test.cc @@ -41,6 +41,7 @@ #include "base/environment.h" #include "base/file_util.h" #include "base/file_version_info.h" +#include "base/files/file_enumerator.h" #include "base/files/file_path.h" #include "base/i18n/time_formatting.h" #include "base/memory/scoped_ptr.h" @@ -636,9 +637,9 @@ class PageLoadTest : public UITest { PathService::Get(chrome::DIR_CRASH_DUMPS, &crash_dumps_dir_path_); } - file_util::FileEnumerator enumerator(crash_dumps_dir_path_, - false, // not recursive - file_util::FileEnumerator::FILES); + base::FileEnumerator enumerator(crash_dumps_dir_path_, + false, // not recursive + base::FileEnumerator::FILES); for (base::FilePath path = enumerator.Next(); !path.value().empty(); path = enumerator.Next()) { if (path.MatchesExtension(FILE_PATH_LITERAL(".dmp"))) @@ -687,9 +688,9 @@ class PageLoadTest : public UITest { } bool HasNewCrashDumps() { - file_util::FileEnumerator enumerator(crash_dumps_dir_path_, - false, // not recursive - file_util::FileEnumerator::FILES); + base::FileEnumerator enumerator(crash_dumps_dir_path_, + false, // not recursive + base::FileEnumerator::FILES); for (base::FilePath path = enumerator.Next(); !path.value().empty(); path = enumerator.Next()) { if (path.MatchesExtension(FILE_PATH_LITERAL(".dmp")) && @@ -707,9 +708,9 @@ class PageLoadTest : public UITest { NavigationMetrics* metrics, bool delete_dumps) { int num_dumps = 0; - file_util::FileEnumerator enumerator(crash_dumps_dir_path_, - false, // not recursive - file_util::FileEnumerator::FILES); + base::FileEnumerator enumerator(crash_dumps_dir_path_, + false, // not recursive + base::FileEnumerator::FILES); for (base::FilePath path = enumerator.Next(); !path.value().empty(); path = enumerator.Next()) { if (path.MatchesExtension(FILE_PATH_LITERAL(".dmp")) && diff --git a/chrome/test/ui/ui_test.cc b/chrome/test/ui/ui_test.cc index 7870951..86b6970 100644 --- a/chrome/test/ui/ui_test.cc +++ b/chrome/test/ui/ui_test.cc @@ -17,6 +17,7 @@ #include "base/command_line.h" #include "base/environment.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/files/file_path.h" #include "base/files/scoped_temp_dir.h" #include "base/json/json_file_value_serializer.h" @@ -426,11 +427,9 @@ int UITestBase::GetCrashCount() const { PathService::Get(chrome::DIR_CRASH_DUMPS, &crash_dump_path); int files_found = 0; - file_util::FileEnumerator en(crash_dump_path, false, - file_util::FileEnumerator::FILES); + base::FileEnumerator en(crash_dump_path, false, base::FileEnumerator::FILES); while (!en.Next().empty()) { - file_util::FileEnumerator::FindInfo info; - if (file_util::FileEnumerator::GetLastModifiedTime(info) > test_start_time_) + if (en.GetInfo().GetLastModifiedTime() > test_start_time_) files_found++; } @@ -439,7 +438,7 @@ int UITestBase::GetCrashCount() const { return files_found / 2; #else return files_found; - #endif +#endif } std::string UITestBase::CheckErrorsAndCrashes() const { diff --git a/chrome/test/webdriver/webdriver_util.cc b/chrome/test/webdriver/webdriver_util.cc index 274144c..54833a8 100644 --- a/chrome/test/webdriver/webdriver_util.cc +++ b/chrome/test/webdriver/webdriver_util.cc @@ -7,6 +7,7 @@ #include "base/base64.h" #include "base/basictypes.h" #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/files/scoped_temp_dir.h" #include "base/format_macros.h" #include "base/json/json_reader.h" @@ -372,9 +373,8 @@ bool UnzipSoleFile(const base::FilePath& unzip_dir, return false; } - file_util::FileEnumerator enumerator(unzip_dir, false /* recursive */, - file_util::FileEnumerator::FILES | - file_util::FileEnumerator::DIRECTORIES); + base::FileEnumerator enumerator(unzip_dir, false /* recursive */, + base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); base::FilePath first_file = enumerator.Next(); if (first_file.empty()) { *error_msg = "Zip contained 0 files"; |