ckerr

#54686: test: bound hidden overlay cold-process runs

Merged
Created: Oct 6, 2026, 9:28:22 PM
Merged: Oct 7, 2026, 1:03:31 AM
4 comments
Target: main

Description of Change

The hidden titleBarOverlay regression starts six cold Electron processes sequentially. They currently share a 30-second test deadline, even though each fixture allows 10 seconds after app readiness and also needs time for startup and shutdown. On a slow host, a timed-out attempt can leave its child running while the next attempt starts.

Replace the local subprocess helper with the existing spawnAndWait helper. Give each child a 20-second deadline and 5 seconds for graceful termination before escalation, and derive the enclosing test deadline from all six child budgets plus cleanup headroom. Wait for process and pipe closure, and retain stdout/stderr in failure diagnostics.

All six cold launches and their exit-code assertions remain. The fixture still requires ready-to-show within its existing 10-second deadline. This changes only one spec; no production code, shared helpers, or build configuration changes.

Validation

  • Local incremental Electron build passed on this branch: autoninja --offline -C out/Testing electron.
  • Focused hidden-overlay tests passed against that build on Linux x64/X11: 2 passed, no retries, including the six cold-process launches and the related navigation/rendering regression.
  • Targeted JavaScript lint, formatting, and the full spec TypeScript check passed.

The full test suite and Windows/macOS execution remain for CI.

Checklist

Release Notes

Notes: none

Backports

43-x-y
Pending
Waiting for a manual backport
44-x-y
In-flight
PR Number
#54689
Waiting to be merged
45-x-y
In-flight
PR Number
#54688
Waiting to be merged

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