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

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

Issue 6377011: wstring: use a few more FilePaths to remove Hack functions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix2 Created 9 years, 11 months 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
« no previous file with comments | « chrome/installer/util/copy_tree_work_item.cc ('k') | chrome/installer/util/work_item.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 FilePath dir_name_to(test_dir_); 100 FilePath dir_name_to(test_dir_);
101 dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir"); 101 dir_name_to = dir_name_to.AppendASCII("Copy_To_Subdir");
102 file_util::CreateDirectory(dir_name_to); 102 file_util::CreateDirectory(dir_name_to);
103 ASSERT_TRUE(file_util::PathExists(dir_name_to)); 103 ASSERT_TRUE(file_util::PathExists(dir_name_to));
104 104
105 FilePath file_name_to(dir_name_to); 105 FilePath file_name_to(dir_name_to);
106 file_name_to = file_name_to.AppendASCII("File_To.txt"); 106 file_name_to = file_name_to.AppendASCII("File_To.txt");
107 107
108 // test Do() 108 // test Do()
109 scoped_ptr<CopyTreeWorkItem> work_item( 109 scoped_ptr<CopyTreeWorkItem> work_item(
110 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 110 WorkItem::CreateCopyTreeWorkItem(file_name_from,
111 file_name_to.ToWStringHack(), 111 file_name_to,
112 temp_dir_.ToWStringHack(), 112 temp_dir_,
113 WorkItem::ALWAYS)); 113 WorkItem::ALWAYS,
114 FilePath()));
114 115
115 EXPECT_TRUE(work_item->Do()); 116 EXPECT_TRUE(work_item->Do());
116 117
117 EXPECT_TRUE(file_util::PathExists(file_name_from)); 118 EXPECT_TRUE(file_util::PathExists(file_name_from));
118 EXPECT_TRUE(file_util::PathExists(file_name_to)); 119 EXPECT_TRUE(file_util::PathExists(file_name_to));
119 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to)); 120 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to));
120 121
121 // test rollback() 122 // test rollback()
122 work_item->Rollback(); 123 work_item->Rollback();
123 124
(...skipping 17 matching lines...) Expand all
141 file_util::CreateDirectory(dir_name_to); 142 file_util::CreateDirectory(dir_name_to);
142 ASSERT_TRUE(file_util::PathExists(dir_name_to)); 143 ASSERT_TRUE(file_util::PathExists(dir_name_to));
143 144
144 FilePath file_name_to(dir_name_to); 145 FilePath file_name_to(dir_name_to);
145 file_name_to = file_name_to.AppendASCII("File_To.txt"); 146 file_name_to = file_name_to.AppendASCII("File_To.txt");
146 CreateTextFile(file_name_to.value(), text_content_2); 147 CreateTextFile(file_name_to.value(), text_content_2);
147 ASSERT_TRUE(file_util::PathExists(file_name_to)); 148 ASSERT_TRUE(file_util::PathExists(file_name_to));
148 149
149 // test Do() with always_overwrite being true. 150 // test Do() with always_overwrite being true.
150 scoped_ptr<CopyTreeWorkItem> work_item( 151 scoped_ptr<CopyTreeWorkItem> work_item(
151 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 152 WorkItem::CreateCopyTreeWorkItem(file_name_from,
152 file_name_to.ToWStringHack(), 153 file_name_to,
153 temp_dir_.ToWStringHack(), 154 temp_dir_,
154 WorkItem::ALWAYS)); 155 WorkItem::ALWAYS,
156 FilePath()));
155 157
156 EXPECT_TRUE(work_item->Do()); 158 EXPECT_TRUE(work_item->Do());
157 159
158 EXPECT_TRUE(file_util::PathExists(file_name_from)); 160 EXPECT_TRUE(file_util::PathExists(file_name_from));
159 EXPECT_TRUE(file_util::PathExists(file_name_to)); 161 EXPECT_TRUE(file_util::PathExists(file_name_to));
160 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 162 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
161 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 163 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
162 164
163 // test rollback() 165 // test rollback()
164 work_item->Rollback(); 166 work_item->Rollback();
165 167
166 EXPECT_TRUE(file_util::PathExists(file_name_from)); 168 EXPECT_TRUE(file_util::PathExists(file_name_from));
167 EXPECT_TRUE(file_util::PathExists(file_name_to)); 169 EXPECT_TRUE(file_util::PathExists(file_name_to));
168 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 170 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
169 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_2)); 171 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_2));
170 172
171 // test Do() with always_overwrite being false. 173 // test Do() with always_overwrite being false.
172 // the file is still overwritten since the content is different. 174 // the file is still overwritten since the content is different.
173 work_item.reset( 175 work_item.reset(
174 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 176 WorkItem::CreateCopyTreeWorkItem(file_name_from,
175 file_name_to.ToWStringHack(), 177 file_name_to,
176 temp_dir_.ToWStringHack(), 178 temp_dir_,
177 WorkItem::IF_DIFFERENT)); 179 WorkItem::IF_DIFFERENT,
180 FilePath()));
178 181
179 EXPECT_TRUE(work_item->Do()); 182 EXPECT_TRUE(work_item->Do());
180 183
181 EXPECT_TRUE(file_util::PathExists(file_name_from)); 184 EXPECT_TRUE(file_util::PathExists(file_name_from));
182 EXPECT_TRUE(file_util::PathExists(file_name_to)); 185 EXPECT_TRUE(file_util::PathExists(file_name_to));
183 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 186 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
184 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 187 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
185 188
186 // test rollback() 189 // test rollback()
187 work_item->Rollback(); 190 work_item->Rollback();
(...skipping 25 matching lines...) Expand all
213 file_name_to = file_name_to.AppendASCII("File_To.txt"); 216 file_name_to = file_name_to.AppendASCII("File_To.txt");
214 CreateTextFile(file_name_to.value(), text_content_1); 217 CreateTextFile(file_name_to.value(), text_content_1);
215 ASSERT_TRUE(file_util::PathExists(file_name_to)); 218 ASSERT_TRUE(file_util::PathExists(file_name_to));
216 219
217 // Get the path of backup file 220 // Get the path of backup file
218 FilePath backup_file(temp_dir_); 221 FilePath backup_file(temp_dir_);
219 backup_file = backup_file.AppendASCII("File_To.txt"); 222 backup_file = backup_file.AppendASCII("File_To.txt");
220 223
221 // test Do() with always_overwrite being true. 224 // test Do() with always_overwrite being true.
222 scoped_ptr<CopyTreeWorkItem> work_item( 225 scoped_ptr<CopyTreeWorkItem> work_item(
223 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 226 WorkItem::CreateCopyTreeWorkItem(file_name_from,
224 file_name_to.ToWStringHack(), 227 file_name_to,
225 temp_dir_.ToWStringHack(), 228 temp_dir_,
226 WorkItem::ALWAYS)); 229 WorkItem::ALWAYS,
230 FilePath()));
227 231
228 EXPECT_TRUE(work_item->Do()); 232 EXPECT_TRUE(work_item->Do());
229 233
230 EXPECT_TRUE(file_util::PathExists(file_name_from)); 234 EXPECT_TRUE(file_util::PathExists(file_name_from));
231 EXPECT_TRUE(file_util::PathExists(file_name_to)); 235 EXPECT_TRUE(file_util::PathExists(file_name_to));
232 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 236 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
233 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 237 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
234 // we verify the file is overwritten by checking the existence of backup 238 // we verify the file is overwritten by checking the existence of backup
235 // file. 239 // file.
236 EXPECT_TRUE(file_util::PathExists(backup_file)); 240 EXPECT_TRUE(file_util::PathExists(backup_file));
237 EXPECT_EQ(0, ReadTextFile(backup_file.value()).compare(text_content_1)); 241 EXPECT_EQ(0, ReadTextFile(backup_file.value()).compare(text_content_1));
238 242
239 // test rollback() 243 // test rollback()
240 work_item->Rollback(); 244 work_item->Rollback();
241 245
242 EXPECT_TRUE(file_util::PathExists(file_name_from)); 246 EXPECT_TRUE(file_util::PathExists(file_name_from));
243 EXPECT_TRUE(file_util::PathExists(file_name_to)); 247 EXPECT_TRUE(file_util::PathExists(file_name_to));
244 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 248 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
245 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 249 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
246 // the backup file should be gone after rollback 250 // the backup file should be gone after rollback
247 EXPECT_FALSE(file_util::PathExists(backup_file)); 251 EXPECT_FALSE(file_util::PathExists(backup_file));
248 252
249 // test Do() with always_overwrite being false. nothing should change. 253 // test Do() with always_overwrite being false. nothing should change.
250 work_item.reset( 254 work_item.reset(
251 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 255 WorkItem::CreateCopyTreeWorkItem(file_name_from,
252 file_name_to.ToWStringHack(), 256 file_name_to,
253 temp_dir_.ToWStringHack(), 257 temp_dir_,
254 WorkItem::IF_DIFFERENT)); 258 WorkItem::IF_DIFFERENT,
259 FilePath()));
255 260
256 EXPECT_TRUE(work_item->Do()); 261 EXPECT_TRUE(work_item->Do());
257 262
258 EXPECT_TRUE(file_util::PathExists(file_name_from)); 263 EXPECT_TRUE(file_util::PathExists(file_name_from));
259 EXPECT_TRUE(file_util::PathExists(file_name_to)); 264 EXPECT_TRUE(file_util::PathExists(file_name_to));
260 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 265 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
261 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 266 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
262 // we verify the file is not overwritten by checking that the backup 267 // we verify the file is not overwritten by checking that the backup
263 // file does not exist. 268 // file does not exist.
264 EXPECT_FALSE(file_util::PathExists(backup_file)); 269 EXPECT_FALSE(file_util::PathExists(backup_file));
(...skipping 27 matching lines...) Expand all
292 CreateTextFile(file_name_to.value(), text_content_2); 297 CreateTextFile(file_name_to.value(), text_content_2);
293 ASSERT_TRUE(file_util::PathExists(file_name_to)); 298 ASSERT_TRUE(file_util::PathExists(file_name_to));
294 299
295 // Get the path of backup file 300 // Get the path of backup file
296 FilePath backup_file(temp_dir_); 301 FilePath backup_file(temp_dir_);
297 backup_file = backup_file.AppendASCII("File_To.txt"); 302 backup_file = backup_file.AppendASCII("File_To.txt");
298 303
299 { 304 {
300 // test Do(). 305 // test Do().
301 scoped_ptr<CopyTreeWorkItem> work_item( 306 scoped_ptr<CopyTreeWorkItem> work_item(
302 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 307 WorkItem::CreateCopyTreeWorkItem(file_name_from,
303 file_name_to.ToWStringHack(), 308 file_name_to,
304 temp_dir_.ToWStringHack(), 309 temp_dir_,
305 WorkItem::IF_DIFFERENT)); 310 WorkItem::IF_DIFFERENT,
311 FilePath()));
306 312
307 EXPECT_TRUE(work_item->Do()); 313 EXPECT_TRUE(work_item->Do());
308 314
309 EXPECT_TRUE(file_util::PathExists(file_name_from)); 315 EXPECT_TRUE(file_util::PathExists(file_name_from));
310 EXPECT_TRUE(file_util::PathExists(file_name_to)); 316 EXPECT_TRUE(file_util::PathExists(file_name_to));
311 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 317 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
312 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 318 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
313 // verify the file is moved to backup place. 319 // verify the file is moved to backup place.
314 EXPECT_TRUE(file_util::PathExists(backup_file)); 320 EXPECT_TRUE(file_util::PathExists(backup_file));
315 EXPECT_EQ(0, ReadTextFile(backup_file.value()).compare(text_content_2)); 321 EXPECT_EQ(0, ReadTextFile(backup_file.value()).compare(text_content_2));
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()), 360 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()),
355 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, 361 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED,
356 NULL, NULL, &si, &pi)); 362 NULL, NULL, &si, &pi));
357 363
358 // Get the path of backup file 364 // Get the path of backup file
359 FilePath backup_file(temp_dir_); 365 FilePath backup_file(temp_dir_);
360 backup_file = backup_file.AppendASCII("File_To"); 366 backup_file = backup_file.AppendASCII("File_To");
361 367
362 // test Do(). 368 // test Do().
363 scoped_ptr<CopyTreeWorkItem> work_item( 369 scoped_ptr<CopyTreeWorkItem> work_item(
364 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 370 WorkItem::CreateCopyTreeWorkItem(file_name_from,
365 file_name_to.ToWStringHack(), 371 file_name_to,
366 temp_dir_.ToWStringHack(), 372 temp_dir_,
367 WorkItem::IF_DIFFERENT)); 373 WorkItem::IF_DIFFERENT,
374 FilePath()));
368 375
369 EXPECT_TRUE(work_item->Do()); 376 EXPECT_TRUE(work_item->Do());
370 377
371 EXPECT_TRUE(file_util::PathExists(file_name_from)); 378 EXPECT_TRUE(file_util::PathExists(file_name_from));
372 EXPECT_TRUE(file_util::PathExists(file_name_to)); 379 EXPECT_TRUE(file_util::PathExists(file_name_to));
373 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 380 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
374 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 381 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
375 // verify the file in used is moved to backup place. 382 // verify the file in used is moved to backup place.
376 EXPECT_TRUE(file_util::PathExists(backup_file)); 383 EXPECT_TRUE(file_util::PathExists(backup_file));
377 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, backup_file)); 384 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, backup_file));
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()), 439 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()),
433 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, 440 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED,
434 NULL, NULL, &si, &pi)); 441 NULL, NULL, &si, &pi));
435 442
436 // Get the path of backup file 443 // Get the path of backup file
437 FilePath backup_file(temp_dir_); 444 FilePath backup_file(temp_dir_);
438 backup_file = backup_file.AppendASCII("File_To"); 445 backup_file = backup_file.AppendASCII("File_To");
439 446
440 // test Do(). 447 // test Do().
441 scoped_ptr<CopyTreeWorkItem> work_item( 448 scoped_ptr<CopyTreeWorkItem> work_item(
442 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 449 WorkItem::CreateCopyTreeWorkItem(file_name_from,
443 file_name_to.ToWStringHack(), 450 file_name_to,
444 temp_dir_.ToWStringHack(), 451 temp_dir_,
445 WorkItem::NEW_NAME_IF_IN_USE, 452 WorkItem::NEW_NAME_IF_IN_USE,
446 alternate_to.ToWStringHack())); 453 alternate_to));
447 454
448 EXPECT_TRUE(work_item->Do()); 455 EXPECT_TRUE(work_item->Do());
449 456
450 EXPECT_TRUE(file_util::PathExists(file_name_from)); 457 EXPECT_TRUE(file_util::PathExists(file_name_from));
451 EXPECT_TRUE(file_util::PathExists(file_name_to)); 458 EXPECT_TRUE(file_util::PathExists(file_name_to));
452 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 459 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
453 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); 460 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to));
454 // verify that the backup path does not exist 461 // verify that the backup path does not exist
455 EXPECT_FALSE(file_util::PathExists(backup_file)); 462 EXPECT_FALSE(file_util::PathExists(backup_file));
456 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, alternate_to)); 463 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, alternate_to));
(...skipping 10 matching lines...) Expand all
467 EXPECT_FALSE(file_util::PathExists(alternate_to)); 474 EXPECT_FALSE(file_util::PathExists(alternate_to));
468 475
469 TerminateProcess(pi.hProcess, 0); 476 TerminateProcess(pi.hProcess, 0);
470 // make sure the handle is closed. 477 // make sure the handle is closed.
471 EXPECT_TRUE(WaitForSingleObject(pi.hProcess, 10000) == WAIT_OBJECT_0); 478 EXPECT_TRUE(WaitForSingleObject(pi.hProcess, 10000) == WAIT_OBJECT_0);
472 CloseHandle(pi.hProcess); 479 CloseHandle(pi.hProcess);
473 CloseHandle(pi.hThread); 480 CloseHandle(pi.hThread);
474 481
475 // Now the process has terminated, lets try overwriting the file again 482 // Now the process has terminated, lets try overwriting the file again
476 work_item.reset(WorkItem::CreateCopyTreeWorkItem( 483 work_item.reset(WorkItem::CreateCopyTreeWorkItem(
477 file_name_from.ToWStringHack(), file_name_to.ToWStringHack(), 484 file_name_from, file_name_to,
478 temp_dir_.ToWStringHack(), WorkItem::NEW_NAME_IF_IN_USE, 485 temp_dir_, WorkItem::NEW_NAME_IF_IN_USE,
479 alternate_to.ToWStringHack())); 486 alternate_to));
480 if (IsFileInUse(file_name_to)) 487 if (IsFileInUse(file_name_to))
481 base::PlatformThread::Sleep(2000); 488 base::PlatformThread::Sleep(2000);
482 // If file is still in use, the rest of the test will fail. 489 // If file is still in use, the rest of the test will fail.
483 ASSERT_FALSE(IsFileInUse(file_name_to)); 490 ASSERT_FALSE(IsFileInUse(file_name_to));
484 EXPECT_TRUE(work_item->Do()); 491 EXPECT_TRUE(work_item->Do());
485 492
486 EXPECT_TRUE(file_util::PathExists(file_name_from)); 493 EXPECT_TRUE(file_util::PathExists(file_name_from));
487 EXPECT_TRUE(file_util::PathExists(file_name_to)); 494 EXPECT_TRUE(file_util::PathExists(file_name_to));
488 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 495 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
489 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to)); 496 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to));
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 file_name_to = file_name_to.AppendASCII("File_To"); 536 file_name_to = file_name_to.AppendASCII("File_To");
530 file_util::CopyFile(exe_full_path, file_name_to); 537 file_util::CopyFile(exe_full_path, file_name_to);
531 ASSERT_TRUE(file_util::PathExists(file_name_to)); 538 ASSERT_TRUE(file_util::PathExists(file_name_to));
532 539
533 // Get the path of backup file 540 // Get the path of backup file
534 FilePath backup_file(temp_dir_); 541 FilePath backup_file(temp_dir_);
535 backup_file = backup_file.AppendASCII("File_To"); 542 backup_file = backup_file.AppendASCII("File_To");
536 543
537 // test Do(). 544 // test Do().
538 scoped_ptr<CopyTreeWorkItem> work_item( 545 scoped_ptr<CopyTreeWorkItem> work_item(
539 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 546 WorkItem::CreateCopyTreeWorkItem(
540 file_name_to.ToWStringHack(), temp_dir_.ToWStringHack(), 547 file_name_from,
541 WorkItem::IF_NOT_PRESENT, L"")); 548 file_name_to, temp_dir_,
549 WorkItem::IF_NOT_PRESENT,
550 FilePath()));
542 EXPECT_TRUE(work_item->Do()); 551 EXPECT_TRUE(work_item->Do());
543 552
544 // verify that the source, destination have not changed and backup path 553 // verify that the source, destination have not changed and backup path
545 // does not exist 554 // does not exist
546 EXPECT_TRUE(file_util::PathExists(file_name_from)); 555 EXPECT_TRUE(file_util::PathExists(file_name_from));
547 EXPECT_TRUE(file_util::PathExists(file_name_to)); 556 EXPECT_TRUE(file_util::PathExists(file_name_to));
548 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 557 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
549 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); 558 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to));
550 EXPECT_FALSE(file_util::PathExists(backup_file)); 559 EXPECT_FALSE(file_util::PathExists(backup_file));
551 560
552 // test rollback() 561 // test rollback()
553 work_item->Rollback(); 562 work_item->Rollback();
554 563
555 // verify that the source, destination have not changed and backup path 564 // verify that the source, destination have not changed and backup path
556 // does not exist after rollback also 565 // does not exist after rollback also
557 EXPECT_TRUE(file_util::PathExists(file_name_from)); 566 EXPECT_TRUE(file_util::PathExists(file_name_from));
558 EXPECT_TRUE(file_util::PathExists(file_name_to)); 567 EXPECT_TRUE(file_util::PathExists(file_name_to));
559 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 568 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
560 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); 569 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to));
561 EXPECT_FALSE(file_util::PathExists(backup_file)); 570 EXPECT_FALSE(file_util::PathExists(backup_file));
562 571
563 // Now delete the destination and try copying the file again. 572 // Now delete the destination and try copying the file again.
564 file_util::Delete(file_name_to, true); 573 file_util::Delete(file_name_to, true);
565 work_item.reset(WorkItem::CreateCopyTreeWorkItem( 574 work_item.reset(WorkItem::CreateCopyTreeWorkItem(
566 file_name_from.ToWStringHack(), file_name_to.ToWStringHack(), 575 file_name_from, file_name_to,
567 temp_dir_.ToWStringHack(), WorkItem::IF_NOT_PRESENT, L"")); 576 temp_dir_, WorkItem::IF_NOT_PRESENT,
577 FilePath()));
568 EXPECT_TRUE(work_item->Do()); 578 EXPECT_TRUE(work_item->Do());
569 579
570 // verify that the source, destination are the same and backup path 580 // verify that the source, destination are the same and backup path
571 // does not exist 581 // does not exist
572 EXPECT_TRUE(file_util::PathExists(file_name_from)); 582 EXPECT_TRUE(file_util::PathExists(file_name_from));
573 EXPECT_TRUE(file_util::PathExists(file_name_to)); 583 EXPECT_TRUE(file_util::PathExists(file_name_to));
574 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 584 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
575 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 585 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
576 EXPECT_FALSE(file_util::PathExists(backup_file)); 586 EXPECT_FALSE(file_util::PathExists(backup_file));
577 587
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, 631 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED,
622 NULL, NULL, &si, &pi)); 632 NULL, NULL, &si, &pi));
623 633
624 // Get the path of backup file 634 // Get the path of backup file
625 FilePath backup_file(temp_dir_); 635 FilePath backup_file(temp_dir_);
626 backup_file = backup_file.AppendASCII("File_To"); 636 backup_file = backup_file.AppendASCII("File_To");
627 637
628 // test Do(). 638 // test Do().
629 { 639 {
630 scoped_ptr<CopyTreeWorkItem> work_item( 640 scoped_ptr<CopyTreeWorkItem> work_item(
631 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), 641 WorkItem::CreateCopyTreeWorkItem(file_name_from,
632 file_name_to.ToWStringHack(), 642 file_name_to,
633 temp_dir_.ToWStringHack(), 643 temp_dir_,
634 WorkItem::IF_DIFFERENT)); 644 WorkItem::IF_DIFFERENT,
645 FilePath()));
635 646
636 EXPECT_TRUE(work_item->Do()); 647 EXPECT_TRUE(work_item->Do());
637 648
638 EXPECT_TRUE(file_util::PathExists(file_name_from)); 649 EXPECT_TRUE(file_util::PathExists(file_name_from));
639 EXPECT_TRUE(file_util::PathExists(file_name_to)); 650 EXPECT_TRUE(file_util::PathExists(file_name_to));
640 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); 651 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1));
641 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); 652 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1));
642 // verify the file in used is moved to backup place. 653 // verify the file in used is moved to backup place.
643 EXPECT_TRUE(file_util::PathExists(backup_file)); 654 EXPECT_TRUE(file_util::PathExists(backup_file));
644 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, backup_file)); 655 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, backup_file));
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 file_name_from_2 = file_name_from_2.AppendASCII("File_2.txt"); 694 file_name_from_2 = file_name_from_2.AppendASCII("File_2.txt");
684 CreateTextFile(file_name_from_2.value(), text_content_1); 695 CreateTextFile(file_name_from_2.value(), text_content_1);
685 ASSERT_TRUE(file_util::PathExists(file_name_from_2)); 696 ASSERT_TRUE(file_util::PathExists(file_name_from_2));
686 697
687 FilePath dir_name_to(test_dir_); 698 FilePath dir_name_to(test_dir_);
688 dir_name_to = dir_name_to.AppendASCII("to"); 699 dir_name_to = dir_name_to.AppendASCII("to");
689 700
690 // test Do() 701 // test Do()
691 { 702 {
692 scoped_ptr<CopyTreeWorkItem> work_item( 703 scoped_ptr<CopyTreeWorkItem> work_item(
693 WorkItem::CreateCopyTreeWorkItem(dir_name_from.ToWStringHack(), 704 WorkItem::CreateCopyTreeWorkItem(dir_name_from,
694 dir_name_to.ToWStringHack(), 705 dir_name_to,
695 temp_dir_.ToWStringHack(), 706 temp_dir_,
696 WorkItem::ALWAYS)); 707 WorkItem::ALWAYS,
708 FilePath()));
697 709
698 EXPECT_TRUE(work_item->Do()); 710 EXPECT_TRUE(work_item->Do());
699 } 711 }
700 712
701 FilePath file_name_to_1(dir_name_to); 713 FilePath file_name_to_1(dir_name_to);
702 file_name_to_1 = file_name_to_1.AppendASCII("1"); 714 file_name_to_1 = file_name_to_1.AppendASCII("1");
703 file_name_to_1 = file_name_to_1.AppendASCII("File_1.txt"); 715 file_name_to_1 = file_name_to_1.AppendASCII("File_1.txt");
704 EXPECT_TRUE(file_util::PathExists(file_name_to_1)); 716 EXPECT_TRUE(file_util::PathExists(file_name_to_1));
705 VLOG(1) << "compare " << file_name_from_1.value() 717 VLOG(1) << "compare " << file_name_from_1.value()
706 << " and " << file_name_to_1.value(); 718 << " and " << file_name_to_1.value();
707 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_1, file_name_to_1)); 719 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_1, file_name_to_1));
708 720
709 FilePath file_name_to_2(dir_name_to); 721 FilePath file_name_to_2(dir_name_to);
710 file_name_to_2 = file_name_to_2.AppendASCII("2"); 722 file_name_to_2 = file_name_to_2.AppendASCII("2");
711 file_name_to_2 = file_name_to_2.AppendASCII("File_2.txt"); 723 file_name_to_2 = file_name_to_2.AppendASCII("File_2.txt");
712 EXPECT_TRUE(file_util::PathExists(file_name_to_2)); 724 EXPECT_TRUE(file_util::PathExists(file_name_to_2));
713 VLOG(1) << "compare " << file_name_from_2.value() 725 VLOG(1) << "compare " << file_name_from_2.value()
714 << " and " << file_name_to_2.value(); 726 << " and " << file_name_to_2.value();
715 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_2, file_name_to_2)); 727 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_2, file_name_to_2));
716 } 728 }
OLDNEW
« no previous file with comments | « chrome/installer/util/copy_tree_work_item.cc ('k') | chrome/installer/util/work_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698