#54732: test: give the js-execute-iframe crash case its own socket path
Merged
Description of Change
The js-execute-iframe crash-case fixture listened on the fixed path /tmp/echo.sock.
A run that is killed leaves that socket behind; the crash spec SIGKILLs a wedged child.
The retry's listen() then fails with EADDRINUSE.
The fixture's 'error' handler threw in the main process, which shows a modal error dialog instead of exiting, so the retry timed out as well.
Anything else on the machine using that path collides the same way.
This change:
- Listens on a path that includes the process id, and passes it to the page in the query string.
- Exits with code 1 on a server error instead of throwing.
Only test code changes.
Validation
Ran on a local Linux testing build of main under Xvfb:
e test --files spec/crash.spec.ts -g js-execute-iframe: passed, and no socket was left behind.- As a control, I created a stale
/tmp/echo.sockand ran the old fixture. It loggedlisten EADDRINUSEand the test timed out after 30 s. script/lint.js --jspasses.
🤖 Generated with Claude Code
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, and past tense.
Release Notes
Notes: none
Backports
45-x-y
MergedPR Number
#54775Merged At
Oct 8, 2026, 12:54:41 PM
Released In
v45.0.0-beta.1Release Date
Oct 8, 2026, 7:07:44 PM
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