Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(334)

Side by Side Diff: chrome/installer/util/delete_tree_work_item_unittest.cc

Issue 11359217: Move scoped_temp_dir from base to base/files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <windows.h> 5 #include <windows.h>
6 6
7 #include <fstream> 7 #include <fstream>
8 8
9 #include "base/base_paths.h" 9 #include "base/base_paths.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
11 #include "base/files/scoped_temp_dir.h"
11 #include "base/logging.h" 12 #include "base/logging.h"
12 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
13 #include "base/path_service.h" 14 #include "base/path_service.h"
14 #include "base/process_util.h" 15 #include "base/process_util.h"
15 #include "base/scoped_temp_dir.h"
16 #include "base/string_util.h" 16 #include "base/string_util.h"
17 #include "chrome/installer/util/delete_tree_work_item.h" 17 #include "chrome/installer/util/delete_tree_work_item.h"
18 #include "chrome/installer/util/work_item.h" 18 #include "chrome/installer/util/work_item.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 20
21 namespace { 21 namespace {
22 class DeleteTreeWorkItemTest : public testing::Test { 22 class DeleteTreeWorkItemTest : public testing::Test {
23 protected: 23 protected:
24 virtual void SetUp() { 24 virtual void SetUp() {
25 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 25 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
26 } 26 }
27 27
28 // The temporary directory used to contain the test operations. 28 // The temporary directory used to contain the test operations.
29 ScopedTempDir temp_dir_; 29 base::ScopedTempDir temp_dir_;
30 }; 30 };
31 31
32 // Simple function to dump some text into a new file. 32 // Simple function to dump some text into a new file.
33 void CreateTextFile(const std::wstring& filename, 33 void CreateTextFile(const std::wstring& filename,
34 const std::wstring& contents) { 34 const std::wstring& contents) {
35 std::ofstream file; 35 std::ofstream file;
36 file.open(filename.c_str()); 36 file.open(filename.c_str());
37 ASSERT_TRUE(file.is_open()); 37 ASSERT_TRUE(file.is_open());
38 file << contents; 38 file << contents;
39 file.close(); 39 file.close();
(...skipping 25 matching lines...) Expand all
65 file_name_delete_1 = file_name_delete_1.AppendASCII("File_1.txt"); 65 file_name_delete_1 = file_name_delete_1.AppendASCII("File_1.txt");
66 CreateTextFile(file_name_delete_1.value(), text_content_1); 66 CreateTextFile(file_name_delete_1.value(), text_content_1);
67 ASSERT_TRUE(file_util::PathExists(file_name_delete_1)); 67 ASSERT_TRUE(file_util::PathExists(file_name_delete_1));
68 68
69 FilePath file_name_delete_2(dir_name_delete_2); 69 FilePath file_name_delete_2(dir_name_delete_2);
70 file_name_delete_2 = file_name_delete_2.AppendASCII("File_2.txt"); 70 file_name_delete_2 = file_name_delete_2.AppendASCII("File_2.txt");
71 CreateTextFile(file_name_delete_2.value(), text_content_1); 71 CreateTextFile(file_name_delete_2.value(), text_content_1);
72 ASSERT_TRUE(file_util::PathExists(file_name_delete_2)); 72 ASSERT_TRUE(file_util::PathExists(file_name_delete_2));
73 73
74 // Test Do(). 74 // Test Do().
75 ScopedTempDir temp_dir; 75 base::ScopedTempDir temp_dir;
76 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 76 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
77 77
78 std::vector<FilePath> key_files; 78 std::vector<FilePath> key_files;
79 scoped_ptr<DeleteTreeWorkItem> work_item( 79 scoped_ptr<DeleteTreeWorkItem> work_item(
80 WorkItem::CreateDeleteTreeWorkItem(dir_name_delete, temp_dir.path(), 80 WorkItem::CreateDeleteTreeWorkItem(dir_name_delete, temp_dir.path(),
81 key_files)); 81 key_files));
82 EXPECT_TRUE(work_item->Do()); 82 EXPECT_TRUE(work_item->Do());
83 83
84 // everything should be gone 84 // everything should be gone
85 EXPECT_FALSE(file_util::PathExists(file_name_delete_1)); 85 EXPECT_FALSE(file_util::PathExists(file_name_delete_1));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 file_name_delete_1 = file_name_delete_1.AppendASCII("File_1.txt"); 117 file_name_delete_1 = file_name_delete_1.AppendASCII("File_1.txt");
118 CreateTextFile(file_name_delete_1.value(), text_content_1); 118 CreateTextFile(file_name_delete_1.value(), text_content_1);
119 ASSERT_TRUE(file_util::PathExists(file_name_delete_1)); 119 ASSERT_TRUE(file_util::PathExists(file_name_delete_1));
120 120
121 FilePath file_name_delete_2(dir_name_delete_2); 121 FilePath file_name_delete_2(dir_name_delete_2);
122 file_name_delete_2 = file_name_delete_2.AppendASCII("File_2.txt"); 122 file_name_delete_2 = file_name_delete_2.AppendASCII("File_2.txt");
123 CreateTextFile(file_name_delete_2.value(), text_content_1); 123 CreateTextFile(file_name_delete_2.value(), text_content_1);
124 ASSERT_TRUE(file_util::PathExists(file_name_delete_2)); 124 ASSERT_TRUE(file_util::PathExists(file_name_delete_2));
125 125
126 // test Do() 126 // test Do()
127 ScopedTempDir temp_dir; 127 base::ScopedTempDir temp_dir;
128 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 128 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
129 129
130 std::vector<FilePath> key_files(1, file_name_delete_1); 130 std::vector<FilePath> key_files(1, file_name_delete_1);
131 scoped_ptr<DeleteTreeWorkItem> work_item( 131 scoped_ptr<DeleteTreeWorkItem> work_item(
132 WorkItem::CreateDeleteTreeWorkItem(dir_name_delete, temp_dir.path(), 132 WorkItem::CreateDeleteTreeWorkItem(dir_name_delete, temp_dir.path(),
133 key_files)); 133 key_files));
134 EXPECT_TRUE(work_item->Do()); 134 EXPECT_TRUE(work_item->Do());
135 135
136 // everything should be gone 136 // everything should be gone
137 EXPECT_FALSE(file_util::PathExists(file_name_delete_1)); 137 EXPECT_FALSE(file_util::PathExists(file_name_delete_1));
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 // Run the key path file to keep it in use. 190 // Run the key path file to keep it in use.
191 STARTUPINFOW si = {sizeof(si)}; 191 STARTUPINFOW si = {sizeof(si)};
192 PROCESS_INFORMATION pi = {0}; 192 PROCESS_INFORMATION pi = {0};
193 ASSERT_TRUE( 193 ASSERT_TRUE(
194 ::CreateProcessW(NULL, const_cast<wchar_t*>(key_path.value().c_str()), 194 ::CreateProcessW(NULL, const_cast<wchar_t*>(key_path.value().c_str()),
195 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, 195 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED,
196 NULL, NULL, &si, &pi)); 196 NULL, NULL, &si, &pi));
197 197
198 // test Do(). 198 // test Do().
199 { 199 {
200 ScopedTempDir temp_dir; 200 base::ScopedTempDir temp_dir;
201 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 201 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
202 202
203 std::vector<FilePath> key_paths(1, key_path); 203 std::vector<FilePath> key_paths(1, key_path);
204 scoped_ptr<DeleteTreeWorkItem> work_item( 204 scoped_ptr<DeleteTreeWorkItem> work_item(
205 WorkItem::CreateDeleteTreeWorkItem(dir_name_delete, temp_dir.path(), 205 WorkItem::CreateDeleteTreeWorkItem(dir_name_delete, temp_dir.path(),
206 key_paths)); 206 key_paths));
207 207
208 // delete should fail as file in use. 208 // delete should fail as file in use.
209 EXPECT_FALSE(work_item->Do()); 209 EXPECT_FALSE(work_item->Do());
210 } 210 }
211 211
212 // verify everything is still there. 212 // verify everything is still there.
213 EXPECT_TRUE(file_util::PathExists(key_path)); 213 EXPECT_TRUE(file_util::PathExists(key_path));
214 EXPECT_TRUE(file_util::PathExists(file_name_delete_1)); 214 EXPECT_TRUE(file_util::PathExists(file_name_delete_1));
215 EXPECT_TRUE(file_util::PathExists(file_name_delete_2)); 215 EXPECT_TRUE(file_util::PathExists(file_name_delete_2));
216 216
217 TerminateProcess(pi.hProcess, 0); 217 TerminateProcess(pi.hProcess, 0);
218 // make sure the handle is closed. 218 // make sure the handle is closed.
219 WaitForSingleObject(pi.hProcess, INFINITE); 219 WaitForSingleObject(pi.hProcess, INFINITE);
220 } 220 }
OLDNEW
« no previous file with comments | « chrome/installer/util/delete_tree_work_item.cc ('k') | chrome/installer/util/duplicate_tree_detector_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698