#54108: test: surface file-system denial errors
Merged
Description of Change
The File System denial test can hide assertion failures behind 30-second timeouts. Mocha does not await its async IPC callback, so a failed assertion leaves done() uncalled.
Await setup and window-scoped IPC, assert the permission denial in the test body, and trace each phase to identify any remaining stall. This fixes error reporting; the cause of the Windows flake remains unconfirmed.
Affected branches: 45-x-y, 44-x-y, 43-x-y, and 42-x-y. Backports to 43 and 42 must retain their _writeFilesForTesting clipboard API.
Validation
- Linux/Xvfb: 10 tests passed without retries, using the existing local build and
-g '^chromium features File System API,'. - Controlled checks reproduced the hidden assertion and verified that the revised test reports errors directly.
- Scoped lint and formatting passed. Windows and the full suite were not run.
Checklist
- I have built and tested this change
- I have filled out the PR description
- I have reviewed and verified the changes
-
npm testpasses - tests are changed or added
- PR release notes describe the change in a way relevant to app developers, and are capitalized, punctuated, past tense, and no longer than 80 characters.
Release Notes
Notes: none
Backports
Semver Impact
Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron