diff options
author | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-29 21:08:14 +0000 |
---|---|---|
committer | munjal@chromium.org <munjal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-29 21:08:14 +0000 |
commit | f1a8760cc11a49cf1aca88c76712bc2d55a8f5ac (patch) | |
tree | 255902f572beac669f3efa7ffc86a6ea82b0e4d3 /chrome | |
parent | 6af916aa551e6d6ce44404ab8775da015bb6d533 (diff) | |
download | chromium_src-f1a8760cc11a49cf1aca88c76712bc2d55a8f5ac.zip chromium_src-f1a8760cc11a49cf1aca88c76712bc2d55a8f5ac.tar.gz chromium_src-f1a8760cc11a49cf1aca88c76712bc2d55a8f5ac.tar.bz2 |
Clean-up temporary files/folders in firefox importer tests.
Review URL: http://codereview.chromium.org/115930
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17238 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/importer/firefox_importer_unittest.cc | 4 | ||||
-rw-r--r-- | chrome/chrome.gyp | 2 | ||||
-rw-r--r-- | chrome/test/file_test_utils.cc | 13 | ||||
-rw-r--r-- | chrome/test/file_test_utils.h | 24 | ||||
-rw-r--r-- | chrome/test/unit/unittests.vcproj | 8 |
5 files changed, 51 insertions, 0 deletions
diff --git a/chrome/browser/importer/firefox_importer_unittest.cc b/chrome/browser/importer/firefox_importer_unittest.cc index d753ecb0..e836a5a 100644 --- a/chrome/browser/importer/firefox_importer_unittest.cc +++ b/chrome/browser/importer/firefox_importer_unittest.cc @@ -11,6 +11,7 @@ #include "chrome/browser/importer/firefox_importer_utils.h" #include "chrome/browser/importer/firefox_profile_lock.h" #include "chrome/common/chrome_paths.h" +#include "chrome/test/file_test_utils.h" using base::Time; @@ -148,6 +149,7 @@ TEST(FirefoxImporterTest, ProfileLock) { std::wstring test_path; file_util::CreateNewTempDirectory(L"firefox_profile", &test_path); FilePath lock_file_path = FilePath::FromWStringHack(test_path); + FileAutoDeleter deleter(lock_file_path); lock_file_path = lock_file_path.Append(FirefoxProfileLock::kLockFileName); scoped_ptr<FirefoxProfileLock> lock; @@ -175,6 +177,7 @@ TEST(FirefoxImporterTest, ProfileLockOrphaned) { std::wstring test_path; file_util::CreateNewTempDirectory(L"firefox_profile", &test_path); FilePath lock_file_path = FilePath::FromWStringHack(test_path); + FileAutoDeleter deleter(lock_file_path); lock_file_path = lock_file_path.Append(FirefoxProfileLock::kLockFileName); // Create the orphaned lock file. @@ -195,6 +198,7 @@ TEST(FirefoxImporterTest, ProfileLockOrphaned) { TEST(FirefoxImporterTest, ProfileLockContention) { std::wstring test_path; file_util::CreateNewTempDirectory(L"firefox_profile", &test_path); + FileAutoDeleter deleter(FilePath::FromWStringHack(test_path)); scoped_ptr<FirefoxProfileLock> lock1; EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock1.get()); diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 7ebe16c..f8fea09 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -3144,6 +3144,8 @@ 'renderer/renderer_main_unittest.cc', 'test/browser_with_test_window_test.cc', 'test/browser_with_test_window_test.h', + 'test/file_test_utils.h', + 'test/file_test_utils.cc', 'test/render_view_test.cc', 'test/render_view_test.h', 'test/test_notification_tracker.cc', diff --git a/chrome/test/file_test_utils.cc b/chrome/test/file_test_utils.cc new file mode 100644 index 0000000..c781cfe --- /dev/null +++ b/chrome/test/file_test_utils.cc @@ -0,0 +1,13 @@ +// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/test/file_test_utils.h" + +FileAutoDeleter::FileAutoDeleter(const FilePath& path) + : path_(path) { +} + +FileAutoDeleter::~FileAutoDeleter() { + file_util::Delete(path_, true); +} diff --git a/chrome/test/file_test_utils.h b/chrome/test/file_test_utils.h new file mode 100644 index 0000000..22368b9 --- /dev/null +++ b/chrome/test/file_test_utils.h @@ -0,0 +1,24 @@ +// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_TEST_FILE_TEST_UTILS_H_ +#define CHROME_TEST_FILE_TEST_UTILS_H_ + +#include "base/file_path.h" +#include "base/file_util.h" + +// Auto deletes file/folder when it goes out-of-scope. This is useful for tests +// to cleanup files/folder automatically. +class FileAutoDeleter { + public: + explicit FileAutoDeleter(const FilePath& path); + ~FileAutoDeleter(); + + const FilePath& path() { return path_; } + private: + FilePath path_; + DISALLOW_EVIL_CONSTRUCTORS(FileAutoDeleter); +}; + +#endif // CHROME_TEST_FILE_TEST_UTILS_H_ diff --git a/chrome/test/unit/unittests.vcproj b/chrome/test/unit/unittests.vcproj index 47f1c63..fdaf278 100644 --- a/chrome/test/unit/unittests.vcproj +++ b/chrome/test/unit/unittests.vcproj @@ -162,6 +162,14 @@ > </File> <File + RelativePath="..\file_test_utils.cc" + > + </File> + <File + RelativePath="..\file_test_utils.h" + > + </File> + <File RelativePath="..\in_process_browser_test.cc" > </File> |