Index: chrome/installer/util/copy_tree_work_item_unittest.cc |
diff --git a/chrome/installer/util/copy_tree_work_item_unittest.cc b/chrome/installer/util/copy_tree_work_item_unittest.cc |
index 96aa32b5375837aa8e3b7049d6aaf6875410599b..8660c74081e93e6d99d2aa88bd3d920b7132425a 100644 |
--- a/chrome/installer/util/copy_tree_work_item_unittest.cc |
+++ b/chrome/installer/util/copy_tree_work_item_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "base/file_util.h" |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/memory/scoped_temp_dir.h" |
#include "base/path_service.h" |
#include "base/process_util.h" |
#include "base/string_util.h" |
@@ -22,32 +23,17 @@ namespace { |
class CopyTreeWorkItemTest : public testing::Test { |
protected: |
virtual void SetUp() { |
- // Name a subdirectory of the user temp directory. |
- ASSERT_TRUE(PathService::Get(base::DIR_TEMP, &test_dir_)); |
- test_dir_ = test_dir_.AppendASCII("CopyTreeWorkItemTest"); |
- |
- // Create a fresh, empty copy of this test directory. |
- file_util::Delete(test_dir_, true); |
- file_util::CreateDirectoryW(test_dir_); |
- |
- // Create a tempory directory under the test directory. |
- temp_dir_ = test_dir_.AppendASCII("temp"); |
- file_util::CreateDirectoryW(temp_dir_); |
- |
- ASSERT_TRUE(file_util::PathExists(test_dir_)); |
- ASSERT_TRUE(file_util::PathExists(temp_dir_)); |
+ ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
+ ASSERT_TRUE(test_dir_.CreateUniqueTempDir()); |
} |
virtual void TearDown() { |
logging::CloseLogFile(); |
- // Clean up test directory |
- ASSERT_TRUE(file_util::Delete(test_dir_, true)); |
- ASSERT_FALSE(file_util::PathExists(test_dir_)); |
} |
// the path to temporary directory used to contain the test operations |
- FilePath test_dir_; |
- FilePath temp_dir_; |
+ ScopedTempDir test_dir_; |
+ ScopedTempDir temp_dir_; |
}; |
// Simple function to dump some text into a new file. |
@@ -91,13 +77,13 @@ namespace { |
// Copy one file from source to destination. |
TEST_F(CopyTreeWorkItemTest, CopyFile) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From.txt"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
// Create destination path |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -109,7 +95,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFile) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::ALWAYS, |
FilePath())); |
@@ -131,13 +117,13 @@ TEST_F(CopyTreeWorkItemTest, CopyFile) { |
// regardless since the content at destination file is different from source. |
TEST_F(CopyTreeWorkItemTest, CopyFileOverwrite) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From.txt"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
// Create destination file |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -151,7 +137,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileOverwrite) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::ALWAYS, |
FilePath())); |
@@ -175,7 +161,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileOverwrite) { |
work_item.reset( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::IF_DIFFERENT, |
FilePath())); |
@@ -201,13 +187,13 @@ TEST_F(CopyTreeWorkItemTest, CopyFileOverwrite) { |
// If always_overwrite being false, the file is unchanged. |
TEST_F(CopyTreeWorkItemTest, CopyFileSameContent) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From.txt"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
// Create destination file |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -221,7 +207,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileSameContent) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::ALWAYS, |
FilePath())); |
@@ -255,7 +241,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileSameContent) { |
work_item.reset( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::IF_DIFFERENT, |
FilePath())); |
@@ -282,13 +268,13 @@ TEST_F(CopyTreeWorkItemTest, CopyFileSameContent) { |
// Copy one file and without rollback. Verify all temporary files are deleted. |
TEST_F(CopyTreeWorkItemTest, CopyFileAndCleanup) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From.txt"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
// Create destination file |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -305,7 +291,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileAndCleanup) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::IF_DIFFERENT, |
FilePath())); |
@@ -334,7 +320,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileAndCleanup) { |
// be moved to backup location after Do() and moved back after Rollback(). |
TEST_F(CopyTreeWorkItemTest, CopyFileInUse) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
@@ -344,7 +330,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileInUse) { |
::GetModuleFileName(NULL, exe_full_path_str, MAX_PATH); |
FilePath exe_full_path(exe_full_path_str); |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -369,7 +355,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileInUse) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::IF_DIFFERENT, |
FilePath())); |
@@ -413,7 +399,7 @@ TEST_F(CopyTreeWorkItemTest, CopyFileInUse) { |
// destination folder after Do() and should be rolled back after Rollback(). |
TEST_F(CopyTreeWorkItemTest, NewNameAndCopyTest) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
@@ -423,7 +409,7 @@ TEST_F(CopyTreeWorkItemTest, NewNameAndCopyTest) { |
::GetModuleFileName(NULL, exe_full_path_str, MAX_PATH); |
FilePath exe_full_path(exe_full_path_str); |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -449,7 +435,7 @@ TEST_F(CopyTreeWorkItemTest, NewNameAndCopyTest) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::NEW_NAME_IF_IN_USE, |
alternate_to)); |
@@ -483,7 +469,7 @@ TEST_F(CopyTreeWorkItemTest, NewNameAndCopyTest) { |
// Now the process has terminated, lets try overwriting the file again |
work_item.reset(WorkItem::CreateCopyTreeWorkItem( |
file_name_from, file_name_to, |
- temp_dir_, WorkItem::NEW_NAME_IF_IN_USE, |
+ temp_dir_.path(), WorkItem::NEW_NAME_IF_IN_USE, |
alternate_to)); |
if (IsFileInUse(file_name_to)) |
base::PlatformThread::Sleep(2000); |
@@ -524,7 +510,7 @@ TEST_F(CopyTreeWorkItemTest, NewNameAndCopyTest) { |
// Flaky, http://crbug.com/59785. |
TEST_F(CopyTreeWorkItemTest, FLAKY_IfNotPresentTest) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
@@ -534,7 +520,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_IfNotPresentTest) { |
::GetModuleFileName(NULL, exe_full_path_str, MAX_PATH); |
FilePath exe_full_path(exe_full_path_str); |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -544,14 +530,14 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_IfNotPresentTest) { |
ASSERT_TRUE(file_util::PathExists(file_name_to)); |
// Get the path of backup file |
- FilePath backup_file(temp_dir_); |
+ FilePath backup_file(temp_dir_.path()); |
backup_file = backup_file.AppendASCII("File_To"); |
// test Do(). |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem( |
file_name_from, |
- file_name_to, temp_dir_, |
+ file_name_to, temp_dir_.path(), |
WorkItem::IF_NOT_PRESENT, |
FilePath())); |
EXPECT_TRUE(work_item->Do()); |
@@ -579,7 +565,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_IfNotPresentTest) { |
file_util::Delete(file_name_to, true); |
work_item.reset(WorkItem::CreateCopyTreeWorkItem( |
file_name_from, file_name_to, |
- temp_dir_, WorkItem::IF_NOT_PRESENT, |
+ temp_dir_.path(), WorkItem::IF_NOT_PRESENT, |
FilePath())); |
EXPECT_TRUE(work_item->Do()); |
@@ -606,7 +592,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_IfNotPresentTest) { |
// Flaky, http://crbug.com/59783. |
TEST_F(CopyTreeWorkItemTest, FLAKY_CopyFileInUseAndCleanup) { |
// Create source file |
- FilePath file_name_from(test_dir_); |
+ FilePath file_name_from(test_dir_.path()); |
file_name_from = file_name_from.AppendASCII("File_From"); |
CreateTextFile(file_name_from.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from)); |
@@ -616,7 +602,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_CopyFileInUseAndCleanup) { |
::GetModuleFileName(NULL, exe_full_path_str, MAX_PATH); |
FilePath exe_full_path(exe_full_path_str); |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); |
file_util::CreateDirectory(dir_name_to); |
ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
@@ -644,7 +630,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_CopyFileInUseAndCleanup) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(file_name_from, |
file_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::IF_DIFFERENT, |
FilePath())); |
@@ -679,7 +665,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_CopyFileInUseAndCleanup) { |
// Flaky, http://crbug.com/59784. |
TEST_F(CopyTreeWorkItemTest, FLAKY_CopyTree) { |
// Create source tree |
- FilePath dir_name_from(test_dir_); |
+ FilePath dir_name_from(test_dir_.path()); |
dir_name_from = dir_name_from.AppendASCII("from"); |
file_util::CreateDirectory(dir_name_from); |
ASSERT_TRUE(file_util::PathExists(dir_name_from)); |
@@ -704,7 +690,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_CopyTree) { |
CreateTextFile(file_name_from_2.value(), text_content_1); |
ASSERT_TRUE(file_util::PathExists(file_name_from_2)); |
- FilePath dir_name_to(test_dir_); |
+ FilePath dir_name_to(test_dir_.path()); |
dir_name_to = dir_name_to.AppendASCII("to"); |
// test Do() |
@@ -712,7 +698,7 @@ TEST_F(CopyTreeWorkItemTest, FLAKY_CopyTree) { |
scoped_ptr<CopyTreeWorkItem> work_item( |
WorkItem::CreateCopyTreeWorkItem(dir_name_from, |
dir_name_to, |
- temp_dir_, |
+ temp_dir_.path(), |
WorkItem::ALWAYS, |
FilePath())); |