Commit dcdaeafa authored by Marijn Kruisselbrink's avatar Marijn Kruisselbrink Committed by Commit Bot

Disable SyncableFileOperationRunnerTest.WriteToParentAndChild.

This test tries to verify that two operations on a file and its parent
directory are properly ordered relative to each other when they are
queued. However the underlying FileSystemOperationImpl implementation
gives no guarantees that one operation executes before another if the
second is started before the first finished.

In this specific case, Truncate involves first querying quota, while
removing a directory immediately proceeds to recursively delete it.
Making it very well possible that the delete happens before truncate
tries to actually modify the file. To properly fix this the queueing
behavior in SyncableFileOperationRunner would probably need to take
target paths of any in progress tasks into account when triggering new
tasks.

Bug: 1092668
Change-Id: Ic4a16dc1eb792a1a3dd3f319e8afca9b78d75357
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2314811
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: default avatarVictor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791116}
parent bdd63388
...@@ -202,7 +202,9 @@ TEST_F(SyncableFileOperationRunnerTest, SimpleQueue) { ...@@ -202,7 +202,9 @@ TEST_F(SyncableFileOperationRunnerTest, SimpleQueue) {
EXPECT_EQ(1, callback_count_); EXPECT_EQ(1, callback_count_);
} }
TEST_F(SyncableFileOperationRunnerTest, WriteToParentAndChild) { // Disabled because the implementation doesn't actually give the ordering
// guarantees this test expects. https://crbug.com/1092668
TEST_F(SyncableFileOperationRunnerTest, DISABLED_WriteToParentAndChild) {
// First create the kDir directory and kChild in the dir. // First create the kDir directory and kChild in the dir.
EXPECT_EQ(File::FILE_OK, file_system_.CreateDirectory(URL(kDir))); EXPECT_EQ(File::FILE_OK, file_system_.CreateDirectory(URL(kDir)));
EXPECT_EQ(File::FILE_OK, file_system_.CreateFile(URL(kChild))); EXPECT_EQ(File::FILE_OK, file_system_.CreateFile(URL(kChild)));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment