OLD | NEW |
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 Loading... |
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 | 114 |
115 EXPECT_TRUE(work_item->Do()); | 115 EXPECT_TRUE(work_item->Do()); |
116 | 116 |
117 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 117 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
118 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 118 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
119 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to)); | 119 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to)); |
120 | 120 |
121 // test rollback() | 121 // test rollback() |
122 work_item->Rollback(); | 122 work_item->Rollback(); |
(...skipping 18 matching lines...) Expand all Loading... |
141 file_util::CreateDirectory(dir_name_to); | 141 file_util::CreateDirectory(dir_name_to); |
142 ASSERT_TRUE(file_util::PathExists(dir_name_to)); | 142 ASSERT_TRUE(file_util::PathExists(dir_name_to)); |
143 | 143 |
144 FilePath file_name_to(dir_name_to); | 144 FilePath file_name_to(dir_name_to); |
145 file_name_to = file_name_to.AppendASCII("File_To.txt"); | 145 file_name_to = file_name_to.AppendASCII("File_To.txt"); |
146 CreateTextFile(file_name_to.value(), text_content_2); | 146 CreateTextFile(file_name_to.value(), text_content_2); |
147 ASSERT_TRUE(file_util::PathExists(file_name_to)); | 147 ASSERT_TRUE(file_util::PathExists(file_name_to)); |
148 | 148 |
149 // test Do() with always_overwrite being true. | 149 // test Do() with always_overwrite being true. |
150 scoped_ptr<CopyTreeWorkItem> work_item( | 150 scoped_ptr<CopyTreeWorkItem> work_item( |
151 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 151 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
152 file_name_to.ToWStringHack(), | 152 file_name_to, |
153 temp_dir_.ToWStringHack(), | 153 temp_dir_, |
154 WorkItem::ALWAYS)); | 154 WorkItem::ALWAYS)); |
155 | 155 |
156 EXPECT_TRUE(work_item->Do()); | 156 EXPECT_TRUE(work_item->Do()); |
157 | 157 |
158 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 158 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
159 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 159 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
160 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 160 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)); | 161 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); |
162 | 162 |
163 // test rollback() | 163 // test rollback() |
164 work_item->Rollback(); | 164 work_item->Rollback(); |
165 | 165 |
166 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 166 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
167 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 167 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
168 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 168 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)); | 169 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_2)); |
170 | 170 |
171 // test Do() with always_overwrite being false. | 171 // test Do() with always_overwrite being false. |
172 // the file is still overwritten since the content is different. | 172 // the file is still overwritten since the content is different. |
173 work_item.reset( | 173 work_item.reset( |
174 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 174 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
175 file_name_to.ToWStringHack(), | 175 file_name_to, |
176 temp_dir_.ToWStringHack(), | 176 temp_dir_, |
177 WorkItem::IF_DIFFERENT)); | 177 WorkItem::IF_DIFFERENT)); |
178 | 178 |
179 EXPECT_TRUE(work_item->Do()); | 179 EXPECT_TRUE(work_item->Do()); |
180 | 180 |
181 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 181 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
182 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 182 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
183 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 183 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)); | 184 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); |
185 | 185 |
186 // test rollback() | 186 // test rollback() |
(...skipping 26 matching lines...) Expand all Loading... |
213 file_name_to = file_name_to.AppendASCII("File_To.txt"); | 213 file_name_to = file_name_to.AppendASCII("File_To.txt"); |
214 CreateTextFile(file_name_to.value(), text_content_1); | 214 CreateTextFile(file_name_to.value(), text_content_1); |
215 ASSERT_TRUE(file_util::PathExists(file_name_to)); | 215 ASSERT_TRUE(file_util::PathExists(file_name_to)); |
216 | 216 |
217 // Get the path of backup file | 217 // Get the path of backup file |
218 FilePath backup_file(temp_dir_); | 218 FilePath backup_file(temp_dir_); |
219 backup_file = backup_file.AppendASCII("File_To.txt"); | 219 backup_file = backup_file.AppendASCII("File_To.txt"); |
220 | 220 |
221 // test Do() with always_overwrite being true. | 221 // test Do() with always_overwrite being true. |
222 scoped_ptr<CopyTreeWorkItem> work_item( | 222 scoped_ptr<CopyTreeWorkItem> work_item( |
223 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 223 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
224 file_name_to.ToWStringHack(), | 224 file_name_to, |
225 temp_dir_.ToWStringHack(), | 225 temp_dir_, |
226 WorkItem::ALWAYS)); | 226 WorkItem::ALWAYS)); |
227 | 227 |
228 EXPECT_TRUE(work_item->Do()); | 228 EXPECT_TRUE(work_item->Do()); |
229 | 229 |
230 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 230 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
231 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 231 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
232 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 232 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)); | 233 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 | 234 // we verify the file is overwritten by checking the existence of backup |
235 // file. | 235 // file. |
236 EXPECT_TRUE(file_util::PathExists(backup_file)); | 236 EXPECT_TRUE(file_util::PathExists(backup_file)); |
237 EXPECT_EQ(0, ReadTextFile(backup_file.value()).compare(text_content_1)); | 237 EXPECT_EQ(0, ReadTextFile(backup_file.value()).compare(text_content_1)); |
238 | 238 |
239 // test rollback() | 239 // test rollback() |
240 work_item->Rollback(); | 240 work_item->Rollback(); |
241 | 241 |
242 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 242 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
243 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 243 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
244 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 244 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)); | 245 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); |
246 // the backup file should be gone after rollback | 246 // the backup file should be gone after rollback |
247 EXPECT_FALSE(file_util::PathExists(backup_file)); | 247 EXPECT_FALSE(file_util::PathExists(backup_file)); |
248 | 248 |
249 // test Do() with always_overwrite being false. nothing should change. | 249 // test Do() with always_overwrite being false. nothing should change. |
250 work_item.reset( | 250 work_item.reset( |
251 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 251 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
252 file_name_to.ToWStringHack(), | 252 file_name_to, |
253 temp_dir_.ToWStringHack(), | 253 temp_dir_, |
254 WorkItem::IF_DIFFERENT)); | 254 WorkItem::IF_DIFFERENT)); |
255 | 255 |
256 EXPECT_TRUE(work_item->Do()); | 256 EXPECT_TRUE(work_item->Do()); |
257 | 257 |
258 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 258 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
259 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 259 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
260 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 260 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)); | 261 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 | 262 // we verify the file is not overwritten by checking that the backup |
263 // file does not exist. | 263 // file does not exist. |
(...skipping 28 matching lines...) Expand all Loading... |
292 CreateTextFile(file_name_to.value(), text_content_2); | 292 CreateTextFile(file_name_to.value(), text_content_2); |
293 ASSERT_TRUE(file_util::PathExists(file_name_to)); | 293 ASSERT_TRUE(file_util::PathExists(file_name_to)); |
294 | 294 |
295 // Get the path of backup file | 295 // Get the path of backup file |
296 FilePath backup_file(temp_dir_); | 296 FilePath backup_file(temp_dir_); |
297 backup_file = backup_file.AppendASCII("File_To.txt"); | 297 backup_file = backup_file.AppendASCII("File_To.txt"); |
298 | 298 |
299 { | 299 { |
300 // test Do(). | 300 // test Do(). |
301 scoped_ptr<CopyTreeWorkItem> work_item( | 301 scoped_ptr<CopyTreeWorkItem> work_item( |
302 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 302 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
303 file_name_to.ToWStringHack(), | 303 file_name_to, |
304 temp_dir_.ToWStringHack(), | 304 temp_dir_, |
305 WorkItem::IF_DIFFERENT)); | 305 WorkItem::IF_DIFFERENT)); |
306 | 306 |
307 EXPECT_TRUE(work_item->Do()); | 307 EXPECT_TRUE(work_item->Do()); |
308 | 308 |
309 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 309 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
310 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 310 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
311 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 311 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)); | 312 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); |
313 // verify the file is moved to backup place. | 313 // verify the file is moved to backup place. |
314 EXPECT_TRUE(file_util::PathExists(backup_file)); | 314 EXPECT_TRUE(file_util::PathExists(backup_file)); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()), | 354 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()), |
355 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, | 355 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, |
356 NULL, NULL, &si, &pi)); | 356 NULL, NULL, &si, &pi)); |
357 | 357 |
358 // Get the path of backup file | 358 // Get the path of backup file |
359 FilePath backup_file(temp_dir_); | 359 FilePath backup_file(temp_dir_); |
360 backup_file = backup_file.AppendASCII("File_To"); | 360 backup_file = backup_file.AppendASCII("File_To"); |
361 | 361 |
362 // test Do(). | 362 // test Do(). |
363 scoped_ptr<CopyTreeWorkItem> work_item( | 363 scoped_ptr<CopyTreeWorkItem> work_item( |
364 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 364 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
365 file_name_to.ToWStringHack(), | 365 file_name_to, |
366 temp_dir_.ToWStringHack(), | 366 temp_dir_, |
367 WorkItem::IF_DIFFERENT)); | 367 WorkItem::IF_DIFFERENT)); |
368 | 368 |
369 EXPECT_TRUE(work_item->Do()); | 369 EXPECT_TRUE(work_item->Do()); |
370 | 370 |
371 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 371 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
372 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 372 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
373 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 373 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)); | 374 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); |
375 // verify the file in used is moved to backup place. | 375 // verify the file in used is moved to backup place. |
376 EXPECT_TRUE(file_util::PathExists(backup_file)); | 376 EXPECT_TRUE(file_util::PathExists(backup_file)); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()), | 432 ::CreateProcess(NULL, const_cast<wchar_t*>(file_name_to.value().c_str()), |
433 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, | 433 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, |
434 NULL, NULL, &si, &pi)); | 434 NULL, NULL, &si, &pi)); |
435 | 435 |
436 // Get the path of backup file | 436 // Get the path of backup file |
437 FilePath backup_file(temp_dir_); | 437 FilePath backup_file(temp_dir_); |
438 backup_file = backup_file.AppendASCII("File_To"); | 438 backup_file = backup_file.AppendASCII("File_To"); |
439 | 439 |
440 // test Do(). | 440 // test Do(). |
441 scoped_ptr<CopyTreeWorkItem> work_item( | 441 scoped_ptr<CopyTreeWorkItem> work_item( |
442 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 442 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
443 file_name_to.ToWStringHack(), | 443 file_name_to, |
444 temp_dir_.ToWStringHack(), | 444 temp_dir_, |
445 WorkItem::NEW_NAME_IF_IN_USE, | 445 WorkItem::NEW_NAME_IF_IN_USE, |
446 alternate_to.ToWStringHack())); | 446 alternate_to)); |
447 | 447 |
448 EXPECT_TRUE(work_item->Do()); | 448 EXPECT_TRUE(work_item->Do()); |
449 | 449 |
450 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 450 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
451 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 451 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
452 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 452 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); |
453 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); | 453 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); |
454 // verify that the backup path does not exist | 454 // verify that the backup path does not exist |
455 EXPECT_FALSE(file_util::PathExists(backup_file)); | 455 EXPECT_FALSE(file_util::PathExists(backup_file)); |
456 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, alternate_to)); | 456 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, alternate_to)); |
(...skipping 10 matching lines...) Expand all Loading... |
467 EXPECT_FALSE(file_util::PathExists(alternate_to)); | 467 EXPECT_FALSE(file_util::PathExists(alternate_to)); |
468 | 468 |
469 TerminateProcess(pi.hProcess, 0); | 469 TerminateProcess(pi.hProcess, 0); |
470 // make sure the handle is closed. | 470 // make sure the handle is closed. |
471 EXPECT_TRUE(WaitForSingleObject(pi.hProcess, 10000) == WAIT_OBJECT_0); | 471 EXPECT_TRUE(WaitForSingleObject(pi.hProcess, 10000) == WAIT_OBJECT_0); |
472 CloseHandle(pi.hProcess); | 472 CloseHandle(pi.hProcess); |
473 CloseHandle(pi.hThread); | 473 CloseHandle(pi.hThread); |
474 | 474 |
475 // Now the process has terminated, lets try overwriting the file again | 475 // Now the process has terminated, lets try overwriting the file again |
476 work_item.reset(WorkItem::CreateCopyTreeWorkItem( | 476 work_item.reset(WorkItem::CreateCopyTreeWorkItem( |
477 file_name_from.ToWStringHack(), file_name_to.ToWStringHack(), | 477 file_name_from, file_name_to, |
478 temp_dir_.ToWStringHack(), WorkItem::NEW_NAME_IF_IN_USE, | 478 temp_dir_, WorkItem::NEW_NAME_IF_IN_USE, |
479 alternate_to.ToWStringHack())); | 479 alternate_to)); |
480 if (IsFileInUse(file_name_to)) | 480 if (IsFileInUse(file_name_to)) |
481 base::PlatformThread::Sleep(2000); | 481 base::PlatformThread::Sleep(2000); |
482 // If file is still in use, the rest of the test will fail. | 482 // If file is still in use, the rest of the test will fail. |
483 ASSERT_FALSE(IsFileInUse(file_name_to)); | 483 ASSERT_FALSE(IsFileInUse(file_name_to)); |
484 EXPECT_TRUE(work_item->Do()); | 484 EXPECT_TRUE(work_item->Do()); |
485 | 485 |
486 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 486 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
487 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 487 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
488 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 488 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); |
489 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to)); | 489 EXPECT_TRUE(file_util::ContentsEqual(file_name_from, file_name_to)); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 file_name_to = file_name_to.AppendASCII("File_To"); | 529 file_name_to = file_name_to.AppendASCII("File_To"); |
530 file_util::CopyFile(exe_full_path, file_name_to); | 530 file_util::CopyFile(exe_full_path, file_name_to); |
531 ASSERT_TRUE(file_util::PathExists(file_name_to)); | 531 ASSERT_TRUE(file_util::PathExists(file_name_to)); |
532 | 532 |
533 // Get the path of backup file | 533 // Get the path of backup file |
534 FilePath backup_file(temp_dir_); | 534 FilePath backup_file(temp_dir_); |
535 backup_file = backup_file.AppendASCII("File_To"); | 535 backup_file = backup_file.AppendASCII("File_To"); |
536 | 536 |
537 // test Do(). | 537 // test Do(). |
538 scoped_ptr<CopyTreeWorkItem> work_item( | 538 scoped_ptr<CopyTreeWorkItem> work_item( |
539 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 539 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
540 file_name_to.ToWStringHack(), temp_dir_.ToWStringHack(), | 540 file_name_to, temp_dir_, |
541 WorkItem::IF_NOT_PRESENT, L"")); | 541 WorkItem::IF_NOT_PRESENT)); |
542 EXPECT_TRUE(work_item->Do()); | 542 EXPECT_TRUE(work_item->Do()); |
543 | 543 |
544 // verify that the source, destination have not changed and backup path | 544 // verify that the source, destination have not changed and backup path |
545 // does not exist | 545 // does not exist |
546 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 546 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
547 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 547 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
548 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 548 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); |
549 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); | 549 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); |
550 EXPECT_FALSE(file_util::PathExists(backup_file)); | 550 EXPECT_FALSE(file_util::PathExists(backup_file)); |
551 | 551 |
552 // test rollback() | 552 // test rollback() |
553 work_item->Rollback(); | 553 work_item->Rollback(); |
554 | 554 |
555 // verify that the source, destination have not changed and backup path | 555 // verify that the source, destination have not changed and backup path |
556 // does not exist after rollback also | 556 // does not exist after rollback also |
557 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 557 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
558 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 558 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
559 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 559 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); |
560 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); | 560 EXPECT_TRUE(file_util::ContentsEqual(exe_full_path, file_name_to)); |
561 EXPECT_FALSE(file_util::PathExists(backup_file)); | 561 EXPECT_FALSE(file_util::PathExists(backup_file)); |
562 | 562 |
563 // Now delete the destination and try copying the file again. | 563 // Now delete the destination and try copying the file again. |
564 file_util::Delete(file_name_to, true); | 564 file_util::Delete(file_name_to, true); |
565 work_item.reset(WorkItem::CreateCopyTreeWorkItem( | 565 work_item.reset(WorkItem::CreateCopyTreeWorkItem( |
566 file_name_from.ToWStringHack(), file_name_to.ToWStringHack(), | 566 file_name_from, file_name_to, |
567 temp_dir_.ToWStringHack(), WorkItem::IF_NOT_PRESENT, L"")); | 567 temp_dir_, WorkItem::IF_NOT_PRESENT)); |
568 EXPECT_TRUE(work_item->Do()); | 568 EXPECT_TRUE(work_item->Do()); |
569 | 569 |
570 // verify that the source, destination are the same and backup path | 570 // verify that the source, destination are the same and backup path |
571 // does not exist | 571 // does not exist |
572 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 572 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
573 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 573 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
574 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 574 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)); | 575 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); |
576 EXPECT_FALSE(file_util::PathExists(backup_file)); | 576 EXPECT_FALSE(file_util::PathExists(backup_file)); |
577 | 577 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, | 621 NULL, NULL, FALSE, CREATE_NO_WINDOW | CREATE_SUSPENDED, |
622 NULL, NULL, &si, &pi)); | 622 NULL, NULL, &si, &pi)); |
623 | 623 |
624 // Get the path of backup file | 624 // Get the path of backup file |
625 FilePath backup_file(temp_dir_); | 625 FilePath backup_file(temp_dir_); |
626 backup_file = backup_file.AppendASCII("File_To"); | 626 backup_file = backup_file.AppendASCII("File_To"); |
627 | 627 |
628 // test Do(). | 628 // test Do(). |
629 { | 629 { |
630 scoped_ptr<CopyTreeWorkItem> work_item( | 630 scoped_ptr<CopyTreeWorkItem> work_item( |
631 WorkItem::CreateCopyTreeWorkItem(file_name_from.ToWStringHack(), | 631 WorkItem::CreateCopyTreeWorkItem(file_name_from, |
632 file_name_to.ToWStringHack(), | 632 file_name_to, |
633 temp_dir_.ToWStringHack(), | 633 temp_dir_, |
634 WorkItem::IF_DIFFERENT)); | 634 WorkItem::IF_DIFFERENT)); |
635 | 635 |
636 EXPECT_TRUE(work_item->Do()); | 636 EXPECT_TRUE(work_item->Do()); |
637 | 637 |
638 EXPECT_TRUE(file_util::PathExists(file_name_from)); | 638 EXPECT_TRUE(file_util::PathExists(file_name_from)); |
639 EXPECT_TRUE(file_util::PathExists(file_name_to)); | 639 EXPECT_TRUE(file_util::PathExists(file_name_to)); |
640 EXPECT_EQ(0, ReadTextFile(file_name_from.value()).compare(text_content_1)); | 640 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)); | 641 EXPECT_EQ(0, ReadTextFile(file_name_to.value()).compare(text_content_1)); |
642 // verify the file in used is moved to backup place. | 642 // verify the file in used is moved to backup place. |
643 EXPECT_TRUE(file_util::PathExists(backup_file)); | 643 EXPECT_TRUE(file_util::PathExists(backup_file)); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
683 file_name_from_2 = file_name_from_2.AppendASCII("File_2.txt"); | 683 file_name_from_2 = file_name_from_2.AppendASCII("File_2.txt"); |
684 CreateTextFile(file_name_from_2.value(), text_content_1); | 684 CreateTextFile(file_name_from_2.value(), text_content_1); |
685 ASSERT_TRUE(file_util::PathExists(file_name_from_2)); | 685 ASSERT_TRUE(file_util::PathExists(file_name_from_2)); |
686 | 686 |
687 FilePath dir_name_to(test_dir_); | 687 FilePath dir_name_to(test_dir_); |
688 dir_name_to = dir_name_to.AppendASCII("to"); | 688 dir_name_to = dir_name_to.AppendASCII("to"); |
689 | 689 |
690 // test Do() | 690 // test Do() |
691 { | 691 { |
692 scoped_ptr<CopyTreeWorkItem> work_item( | 692 scoped_ptr<CopyTreeWorkItem> work_item( |
693 WorkItem::CreateCopyTreeWorkItem(dir_name_from.ToWStringHack(), | 693 WorkItem::CreateCopyTreeWorkItem(dir_name_from, |
694 dir_name_to.ToWStringHack(), | 694 dir_name_to, |
695 temp_dir_.ToWStringHack(), | 695 temp_dir_, |
696 WorkItem::ALWAYS)); | 696 WorkItem::ALWAYS)); |
697 | 697 |
698 EXPECT_TRUE(work_item->Do()); | 698 EXPECT_TRUE(work_item->Do()); |
699 } | 699 } |
700 | 700 |
701 FilePath file_name_to_1(dir_name_to); | 701 FilePath file_name_to_1(dir_name_to); |
702 file_name_to_1 = file_name_to_1.AppendASCII("1"); | 702 file_name_to_1 = file_name_to_1.AppendASCII("1"); |
703 file_name_to_1 = file_name_to_1.AppendASCII("File_1.txt"); | 703 file_name_to_1 = file_name_to_1.AppendASCII("File_1.txt"); |
704 EXPECT_TRUE(file_util::PathExists(file_name_to_1)); | 704 EXPECT_TRUE(file_util::PathExists(file_name_to_1)); |
705 VLOG(1) << "compare " << file_name_from_1.value() | 705 VLOG(1) << "compare " << file_name_from_1.value() |
706 << " and " << file_name_to_1.value(); | 706 << " and " << file_name_to_1.value(); |
707 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_1, file_name_to_1)); | 707 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_1, file_name_to_1)); |
708 | 708 |
709 FilePath file_name_to_2(dir_name_to); | 709 FilePath file_name_to_2(dir_name_to); |
710 file_name_to_2 = file_name_to_2.AppendASCII("2"); | 710 file_name_to_2 = file_name_to_2.AppendASCII("2"); |
711 file_name_to_2 = file_name_to_2.AppendASCII("File_2.txt"); | 711 file_name_to_2 = file_name_to_2.AppendASCII("File_2.txt"); |
712 EXPECT_TRUE(file_util::PathExists(file_name_to_2)); | 712 EXPECT_TRUE(file_util::PathExists(file_name_to_2)); |
713 VLOG(1) << "compare " << file_name_from_2.value() | 713 VLOG(1) << "compare " << file_name_from_2.value() |
714 << " and " << file_name_to_2.value(); | 714 << " and " << file_name_to_2.value(); |
715 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_2, file_name_to_2)); | 715 EXPECT_TRUE(file_util::ContentsEqual(file_name_from_2, file_name_to_2)); |
716 } | 716 } |
OLD | NEW |