| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/sync_file_system/local/local_file_sync_context.h" | 5 #include "chrome/browser/sync_file_system/local/local_file_sync_context.h" | 
| 6 | 6 | 
| 7 #include <vector> | 7 #include <vector> | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" | 
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 227           base::Bind(&base::DoNothing)); | 227           base::Bind(&base::DoNothing)); | 
| 228     } | 228     } | 
| 229   } | 229   } | 
| 230 | 230 | 
| 231   void PrepareForSync_Basic(LocalFileSyncContext::SyncMode sync_mode, | 231   void PrepareForSync_Basic(LocalFileSyncContext::SyncMode sync_mode, | 
| 232                             SyncStatusCode simulate_sync_finish_status) { | 232                             SyncStatusCode simulate_sync_finish_status) { | 
| 233     CannedSyncableFileSystem file_system(GURL(kOrigin1), | 233     CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 234                                          in_memory_env_.get(), | 234                                          in_memory_env_.get(), | 
| 235                                          io_task_runner_.get(), | 235                                          io_task_runner_.get(), | 
| 236                                          file_task_runner_.get()); | 236                                          file_task_runner_.get()); | 
| 237     file_system.SetUp(); | 237     file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 238     sync_context_ = new LocalFileSyncContext( | 238     sync_context_ = new LocalFileSyncContext( | 
| 239         dir_.path(), in_memory_env_.get(), | 239         dir_.path(), in_memory_env_.get(), | 
| 240         ui_task_runner_.get(), io_task_runner_.get()); | 240         ui_task_runner_.get(), io_task_runner_.get()); | 
| 241     ASSERT_EQ(SYNC_STATUS_OK, | 241     ASSERT_EQ(SYNC_STATUS_OK, | 
| 242               file_system.MaybeInitializeFileSystemContext( | 242               file_system.MaybeInitializeFileSystemContext( | 
| 243                   sync_context_.get())); | 243                   sync_context_.get())); | 
| 244     ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 244     ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 
| 245 | 245 | 
| 246     const FileSystemURL kFile(file_system.URL("file")); | 246     const FileSystemURL kFile(file_system.URL("file")); | 
| 247     EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); | 247     EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); | 
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 279 | 279 | 
| 280     file_system.TearDown(); | 280     file_system.TearDown(); | 
| 281   } | 281   } | 
| 282 | 282 | 
| 283   void PrepareForSync_WriteDuringSync( | 283   void PrepareForSync_WriteDuringSync( | 
| 284       LocalFileSyncContext::SyncMode sync_mode) { | 284       LocalFileSyncContext::SyncMode sync_mode) { | 
| 285     CannedSyncableFileSystem file_system(GURL(kOrigin1), | 285     CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 286                                          in_memory_env_.get(), | 286                                          in_memory_env_.get(), | 
| 287                                          io_task_runner_.get(), | 287                                          io_task_runner_.get(), | 
| 288                                          file_task_runner_.get()); | 288                                          file_task_runner_.get()); | 
| 289     file_system.SetUp(); | 289     file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 290     sync_context_ = new LocalFileSyncContext( | 290     sync_context_ = new LocalFileSyncContext( | 
| 291         dir_.path(), in_memory_env_.get(), | 291         dir_.path(), in_memory_env_.get(), | 
| 292         ui_task_runner_.get(), io_task_runner_.get()); | 292         ui_task_runner_.get(), io_task_runner_.get()); | 
| 293     ASSERT_EQ(SYNC_STATUS_OK, | 293     ASSERT_EQ(SYNC_STATUS_OK, | 
| 294               file_system.MaybeInitializeFileSystemContext( | 294               file_system.MaybeInitializeFileSystemContext( | 
| 295                   sync_context_.get())); | 295                   sync_context_.get())); | 
| 296     ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 296     ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 
| 297 | 297 | 
| 298     const FileSystemURL kFile(file_system.URL("file")); | 298     const FileSystemURL kFile(file_system.URL("file")); | 
| 299     EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); | 299     EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); | 
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 371           dir_.path(), in_memory_env_.get(), | 371           dir_.path(), in_memory_env_.get(), | 
| 372           ui_task_runner_.get(), io_task_runner_.get()); | 372           ui_task_runner_.get(), io_task_runner_.get()); | 
| 373   sync_context_->ShutdownOnUIThread(); | 373   sync_context_->ShutdownOnUIThread(); | 
| 374 } | 374 } | 
| 375 | 375 | 
| 376 TEST_F(LocalFileSyncContextTest, InitializeFileSystemContext) { | 376 TEST_F(LocalFileSyncContextTest, InitializeFileSystemContext) { | 
| 377   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 377   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 378                                        in_memory_env_.get(), | 378                                        in_memory_env_.get(), | 
| 379                                        io_task_runner_.get(), | 379                                        io_task_runner_.get(), | 
| 380                                        file_task_runner_.get()); | 380                                        file_task_runner_.get()); | 
| 381   file_system.SetUp(); | 381   file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 382 | 382 | 
| 383   sync_context_ = new LocalFileSyncContext( | 383   sync_context_ = new LocalFileSyncContext( | 
| 384       dir_.path(), in_memory_env_.get(), | 384       dir_.path(), in_memory_env_.get(), | 
| 385       ui_task_runner_.get(), io_task_runner_.get()); | 385       ui_task_runner_.get(), io_task_runner_.get()); | 
| 386 | 386 | 
| 387   // Initializes file_system using |sync_context_|. | 387   // Initializes file_system using |sync_context_|. | 
| 388   EXPECT_EQ(SYNC_STATUS_OK, | 388   EXPECT_EQ(SYNC_STATUS_OK, | 
| 389             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 389             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| 390 | 390 | 
| 391   // Make sure everything's set up for file_system to be able to handle | 391   // Make sure everything's set up for file_system to be able to handle | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 418 | 418 | 
| 419 TEST_F(LocalFileSyncContextTest, MultipleFileSystemContexts) { | 419 TEST_F(LocalFileSyncContextTest, MultipleFileSystemContexts) { | 
| 420   CannedSyncableFileSystem file_system1(GURL(kOrigin1), | 420   CannedSyncableFileSystem file_system1(GURL(kOrigin1), | 
| 421                                         in_memory_env_.get(), | 421                                         in_memory_env_.get(), | 
| 422                                         io_task_runner_.get(), | 422                                         io_task_runner_.get(), | 
| 423                                         file_task_runner_.get()); | 423                                         file_task_runner_.get()); | 
| 424   CannedSyncableFileSystem file_system2(GURL(kOrigin2), | 424   CannedSyncableFileSystem file_system2(GURL(kOrigin2), | 
| 425                                         in_memory_env_.get(), | 425                                         in_memory_env_.get(), | 
| 426                                         io_task_runner_.get(), | 426                                         io_task_runner_.get(), | 
| 427                                         file_task_runner_.get()); | 427                                         file_task_runner_.get()); | 
| 428   file_system1.SetUp(); | 428   file_system1.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 429   file_system2.SetUp(); | 429   file_system2.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 430 | 430 | 
| 431   sync_context_ = new LocalFileSyncContext( | 431   sync_context_ = new LocalFileSyncContext( | 
| 432       dir_.path(), in_memory_env_.get(), | 432       dir_.path(), in_memory_env_.get(), | 
| 433       ui_task_runner_.get(), io_task_runner_.get()); | 433       ui_task_runner_.get(), io_task_runner_.get()); | 
| 434 | 434 | 
| 435   // Initializes file_system1 and file_system2. | 435   // Initializes file_system1 and file_system2. | 
| 436   EXPECT_EQ(SYNC_STATUS_OK, | 436   EXPECT_EQ(SYNC_STATUS_OK, | 
| 437             file_system1.MaybeInitializeFileSystemContext(sync_context_.get())); | 437             file_system1.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| 438   EXPECT_EQ(SYNC_STATUS_OK, | 438   EXPECT_EQ(SYNC_STATUS_OK, | 
| 439             file_system2.MaybeInitializeFileSystemContext(sync_context_.get())); | 439             file_system2.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 533 | 533 | 
| 534 // LocalFileSyncContextTest.PrepareSyncWhileWriting is flaky on android. | 534 // LocalFileSyncContextTest.PrepareSyncWhileWriting is flaky on android. | 
| 535 // http://crbug.com/239793 | 535 // http://crbug.com/239793 | 
| 536 // It is also flaky on the TSAN v2 bots, and hangs other bots. | 536 // It is also flaky on the TSAN v2 bots, and hangs other bots. | 
| 537 // http://crbug.com/305905. | 537 // http://crbug.com/305905. | 
| 538 TEST_F(LocalFileSyncContextTest, DISABLED_PrepareSyncWhileWriting) { | 538 TEST_F(LocalFileSyncContextTest, DISABLED_PrepareSyncWhileWriting) { | 
| 539   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 539   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 540                                        in_memory_env_.get(), | 540                                        in_memory_env_.get(), | 
| 541                                        io_task_runner_.get(), | 541                                        io_task_runner_.get(), | 
| 542                                        file_task_runner_.get()); | 542                                        file_task_runner_.get()); | 
| 543   file_system.SetUp(); | 543   file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 544   sync_context_ = new LocalFileSyncContext( | 544   sync_context_ = new LocalFileSyncContext( | 
| 545       dir_.path(), in_memory_env_.get(), | 545       dir_.path(), in_memory_env_.get(), | 
| 546       ui_task_runner_.get(), io_task_runner_.get()); | 546       ui_task_runner_.get(), io_task_runner_.get()); | 
| 547   EXPECT_EQ(SYNC_STATUS_OK, | 547   EXPECT_EQ(SYNC_STATUS_OK, | 
| 548             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 548             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| 549 | 549 | 
| 550   EXPECT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 550   EXPECT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 
| 551 | 551 | 
| 552   const FileSystemURL kURL1(file_system.URL("foo")); | 552   const FileSystemURL kURL1(file_system.URL("foo")); | 
| 553 | 553 | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 596   sync_context_->ShutdownOnUIThread(); | 596   sync_context_->ShutdownOnUIThread(); | 
| 597   sync_context_ = NULL; | 597   sync_context_ = NULL; | 
| 598   file_system.TearDown(); | 598   file_system.TearDown(); | 
| 599 } | 599 } | 
| 600 | 600 | 
| 601 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion) { | 601 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion) { | 
| 602   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 602   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 603                                        in_memory_env_.get(), | 603                                        in_memory_env_.get(), | 
| 604                                        io_task_runner_.get(), | 604                                        io_task_runner_.get(), | 
| 605                                        file_task_runner_.get()); | 605                                        file_task_runner_.get()); | 
| 606   file_system.SetUp(); | 606   file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 607 | 607 | 
| 608   sync_context_ = new LocalFileSyncContext( | 608   sync_context_ = new LocalFileSyncContext( | 
| 609       dir_.path(), in_memory_env_.get(), | 609       dir_.path(), in_memory_env_.get(), | 
| 610       ui_task_runner_.get(), io_task_runner_.get()); | 610       ui_task_runner_.get(), io_task_runner_.get()); | 
| 611   ASSERT_EQ(SYNC_STATUS_OK, | 611   ASSERT_EQ(SYNC_STATUS_OK, | 
| 612             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 612             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| 613   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 613   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 
| 614 | 614 | 
| 615   // Record the initial usage (likely 0). | 615   // Record the initial usage (likely 0). | 
| 616   int64 initial_usage = -1; | 616   int64 initial_usage = -1; | 
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 684   sync_context_->ShutdownOnUIThread(); | 684   sync_context_->ShutdownOnUIThread(); | 
| 685   sync_context_ = NULL; | 685   sync_context_ = NULL; | 
| 686   file_system.TearDown(); | 686   file_system.TearDown(); | 
| 687 } | 687 } | 
| 688 | 688 | 
| 689 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion_ForRoot) { | 689 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion_ForRoot) { | 
| 690   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 690   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 691                                        in_memory_env_.get(), | 691                                        in_memory_env_.get(), | 
| 692                                        io_task_runner_.get(), | 692                                        io_task_runner_.get(), | 
| 693                                        file_task_runner_.get()); | 693                                        file_task_runner_.get()); | 
| 694   file_system.SetUp(); | 694   file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 695 | 695 | 
| 696   sync_context_ = new LocalFileSyncContext( | 696   sync_context_ = new LocalFileSyncContext( | 
| 697       dir_.path(), in_memory_env_.get(), | 697       dir_.path(), in_memory_env_.get(), | 
| 698       ui_task_runner_.get(), io_task_runner_.get()); | 698       ui_task_runner_.get(), io_task_runner_.get()); | 
| 699   ASSERT_EQ(SYNC_STATUS_OK, | 699   ASSERT_EQ(SYNC_STATUS_OK, | 
| 700             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 700             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| 701   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 701   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 
| 702 | 702 | 
| 703   // Record the initial usage (likely 0). | 703   // Record the initial usage (likely 0). | 
| 704   int64 initial_usage = -1; | 704   int64 initial_usage = -1; | 
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 754 } | 754 } | 
| 755 | 755 | 
| 756 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate) { | 756 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate) { | 
| 757   base::ScopedTempDir temp_dir; | 757   base::ScopedTempDir temp_dir; | 
| 758   ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 758   ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 
| 759 | 759 | 
| 760   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 760   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 761                                        in_memory_env_.get(), | 761                                        in_memory_env_.get(), | 
| 762                                        io_task_runner_.get(), | 762                                        io_task_runner_.get(), | 
| 763                                        file_task_runner_.get()); | 763                                        file_task_runner_.get()); | 
| 764   file_system.SetUp(); | 764   file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 765 | 765 | 
| 766   sync_context_ = new LocalFileSyncContext( | 766   sync_context_ = new LocalFileSyncContext( | 
| 767       dir_.path(), in_memory_env_.get(), | 767       dir_.path(), in_memory_env_.get(), | 
| 768       ui_task_runner_.get(), io_task_runner_.get()); | 768       ui_task_runner_.get(), io_task_runner_.get()); | 
| 769   ASSERT_EQ(SYNC_STATUS_OK, | 769   ASSERT_EQ(SYNC_STATUS_OK, | 
| 770             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 770             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| 771   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 771   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 
| 772 | 772 | 
| 773   const FileSystemURL kFile1(file_system.URL("file1")); | 773   const FileSystemURL kFile1(file_system.URL("file1")); | 
| 774   const FileSystemURL kFile2(file_system.URL("file2")); | 774   const FileSystemURL kFile2(file_system.URL("file2")); | 
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 905 } | 905 } | 
| 906 | 906 | 
| 907 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate_NoParent) { | 907 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate_NoParent) { | 
| 908   base::ScopedTempDir temp_dir; | 908   base::ScopedTempDir temp_dir; | 
| 909   ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 909   ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 
| 910 | 910 | 
| 911   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 911   CannedSyncableFileSystem file_system(GURL(kOrigin1), | 
| 912                                        in_memory_env_.get(), | 912                                        in_memory_env_.get(), | 
| 913                                        io_task_runner_.get(), | 913                                        io_task_runner_.get(), | 
| 914                                        file_task_runner_.get()); | 914                                        file_task_runner_.get()); | 
| 915   file_system.SetUp(); | 915   file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 
| 916 | 916 | 
| 917   sync_context_ = new LocalFileSyncContext( | 917   sync_context_ = new LocalFileSyncContext( | 
| 918       dir_.path(), in_memory_env_.get(), | 918       dir_.path(), in_memory_env_.get(), | 
| 919       ui_task_runner_.get(), io_task_runner_.get()); | 919       ui_task_runner_.get(), io_task_runner_.get()); | 
| 920   ASSERT_EQ(SYNC_STATUS_OK, | 920   ASSERT_EQ(SYNC_STATUS_OK, | 
| 921             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 921             file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 
| 922   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 922   ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 
| 923 | 923 | 
| 924   const char kTestFileData[] = "Lorem ipsum!"; | 924   const char kTestFileData[] = "Lorem ipsum!"; | 
| 925   const FileSystemURL kDir(file_system.URL("dir")); | 925   const FileSystemURL kDir(file_system.URL("dir")); | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 953 | 953 | 
| 954   // Make sure kDir and kFile are created by ApplyRemoteChange. | 954   // Make sure kDir and kFile are created by ApplyRemoteChange. | 
| 955   EXPECT_EQ(base::File::FILE_OK, file_system.FileExists(kFile)); | 955   EXPECT_EQ(base::File::FILE_OK, file_system.FileExists(kFile)); | 
| 956   EXPECT_EQ(base::File::FILE_OK, file_system.DirectoryExists(kDir)); | 956   EXPECT_EQ(base::File::FILE_OK, file_system.DirectoryExists(kDir)); | 
| 957 | 957 | 
| 958   sync_context_->ShutdownOnUIThread(); | 958   sync_context_->ShutdownOnUIThread(); | 
| 959   file_system.TearDown(); | 959   file_system.TearDown(); | 
| 960 } | 960 } | 
| 961 | 961 | 
| 962 }  // namespace sync_file_system | 962 }  // namespace sync_file_system | 
| OLD | NEW | 
|---|