Closed Bug 1733097 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 30909 - FSA: Make removal of files compatible with file locking

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox95 fixed)

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 30909 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/30909
Details from upstream follow.

Austin Sullivan <asully@chromium.org> wrote:

FSA: Make removal of files compatible with file locking

Applies to both remove() and removeEntry().

Removing a file requires acquiring an exclusive write lock at the URL.
The lock is released once the operation completes.

Removal of directories is not yet compatible with file locking.

Bug: 1114923
Change-Id: I1eee08deaff9508e3c90d78ae35b2c181bb18122

Reviewed-on: https://chromium-review.googlesource.com/3174315
WPT-Export-Revision: 05163c2272f95034393fbd7b564d4002024e5438

CI Results

Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 4 tests and 10 subtests

Status Summary

Firefox

OK : 4
FAIL: 38

Chrome

OK : 4
PASS: 36
FAIL: 2

Safari

OK : 4
FAIL: 38

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.html
remove() to remove a file: FAIL (Chrome: PASS, Safari: FAIL)
remove() on an already removed file should fail: FAIL (Chrome: PASS, Safari: FAIL)
remove() to remove an empty directory: FAIL (Chrome: PASS, Safari: FAIL)
remove() on an already removed directory should fail: FAIL (Chrome: PASS, Safari: FAIL)
remove() on a non-empty directory should fail: FAIL (Chrome: PASS, Safari: FAIL)
remove() on a directory recursively should delete all sub-items: FAIL (Chrome: PASS, Safari: FAIL)
remove() on a file should ignore the recursive option: FAIL (Chrome: PASS, Safari: FAIL)
remove() while the file has an open writable fails: FAIL (Chrome: FAIL, Safari: FAIL)
cannot remove the root of a sandbox file system: FAIL (Chrome: PASS, Safari: FAIL)
/file-system-access/sandboxed_FileSystemBaseHandle-remove.https.any.worker.html
remove() to remove a file: FAIL (Chrome: PASS, Safari: FAIL)
remove() on an already removed file should fail: FAIL (Chrome: PASS, Safari: FAIL)
remove() to remove an empty directory: FAIL (Chrome: PASS, Safari: FAIL)
remove() on an already removed directory should fail: FAIL (Chrome: PASS, Safari: FAIL)
remove() on a non-empty directory should fail: FAIL (Chrome: PASS, Safari: FAIL)
remove() on a directory recursively should delete all sub-items: FAIL (Chrome: PASS, Safari: FAIL)
remove() on a file should ignore the recursive option: FAIL (Chrome: PASS, Safari: FAIL)
remove() while the file has an open writable fails: FAIL (Chrome: FAIL, Safari: FAIL)
cannot remove the root of a sandbox file system: FAIL (Chrome: PASS, Safari: FAIL)
/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.worker.html
removeEntry() to remove a file: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() on an already removed file should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() to remove an empty directory: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() on a non-empty directory should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() on a directory recursively should delete all sub-items: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with empty name should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with "." name should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with ".." name should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with a path separator should fail.: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() while the file has an open writable succeeds: FAIL (Chrome: PASS, Safari: FAIL)
/file-system-access/sandboxed_FileSystemDirectoryHandle-removeEntry.https.any.html
removeEntry() to remove a file: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() on an already removed file should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() to remove an empty directory: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() on a non-empty directory should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() on a directory recursively should delete all sub-items: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with empty name should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with "." name should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with ".." name should fail: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() with a path separator should fail.: FAIL (Chrome: PASS, Safari: FAIL)
removeEntry() while the file has an open writable succeeds: FAIL (Chrome: PASS, Safari: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c5795acbc294
[wpt PR 30909] - FSA: Make removal of files compatible with file locking, a=testonly
https://hg.mozilla.org/integration/autoland/rev/b0ffe08c998e
[wpt PR 30909] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
You need to log in before you can comment on or make changes to this bug.