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 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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |