| Index: chrome/browser/sync_file_system/drive_backend/task_dependency_manager_unittest.cc
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/task_dependency_manager_unittest.cc b/chrome/browser/sync_file_system/drive_backend/task_dependency_manager_unittest.cc
|
| index 6fe5317c10f019813c126165570893154691a690..488793258f59b37725838e1eb2ac66d697fac64e 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/task_dependency_manager_unittest.cc
|
| +++ b/chrome/browser/sync_file_system/drive_backend/task_dependency_manager_unittest.cc
|
| @@ -36,6 +36,18 @@ void ErasePath(TaskDependencyManager* manager,
|
| return manager->Erase(blocker);
|
| }
|
|
|
| +bool InsertExclusiveTask(TaskDependencyManager* manager) {
|
| + BlockingFactor blocker;
|
| + blocker.exclusive = true;
|
| + return manager->Insert(blocker);
|
| +}
|
| +
|
| +void EraseExclusiveTask(TaskDependencyManager* manager) {
|
| + BlockingFactor blocker;
|
| + blocker.exclusive = true;
|
| + manager->Erase(blocker);
|
| +}
|
| +
|
| } // namespace
|
|
|
| TEST(TaskDependencyManagerTest, BasicTest) {
|
| @@ -79,5 +91,20 @@ TEST(TaskDependencyManagerTest, BlocksAncestorAndDescendant) {
|
| ErasePath(&manager, "app_id", FPL("/ancestor/parent/self/child/descendant"));
|
| }
|
|
|
| +TEST(TaskDependencyManagerTest, ExclusiveTask) {
|
| + TaskDependencyManager manager;
|
| +
|
| + EXPECT_TRUE(InsertPath(&manager, "app_id", FPL("/foo/bar")));
|
| + EXPECT_FALSE(InsertExclusiveTask(&manager));
|
| + ErasePath(&manager, "app_id", FPL("/foo/bar"));
|
| +
|
| + EXPECT_TRUE(InsertExclusiveTask(&manager));
|
| + EXPECT_FALSE(InsertPath(&manager, "app_id", FPL("/foo/bar")));
|
| + EraseExclusiveTask(&manager);
|
| +
|
| + EXPECT_TRUE(InsertPath(&manager, "app_id", FPL("/foo/bar")));
|
| + ErasePath(&manager, "app_id", FPL("/foo/bar"));
|
| +}
|
| +
|
| } // namespace drive_backend
|
| } // namespace sync_file_system
|
|
|