test(desktop): pin the journal snapshot before recovery, keep start going when the journal cannot load, and run tmux in the canary E2E
Merged
WA
16d ago+66+66+01234567890123456789-8-8-0123456789
Summary
Review follow-ups from #8737 and #8733.
- The journal-snapshot test now fails when the snapshot is taken after recovery.
- Recovery hands its deliveries off without waiting for them, so the journal still held the result when
recover()returned. A snapshot taken after recovery therefore stayed green. - The test now makes recovery return only once Sim has the result and the journal no longer holds it.
- Recovery hands its deliveries off without waiting for them, so the journal still held the result when
- A journal load that throws no longer stops the executor from starting.
- The pending-results snapshot catches a rejected
journal.load(), logs it, and counts the journal as holding none. - Without that,
start()would never reach recovery or the inbox.
- The pending-results snapshot catches a rejected
- The
electron@latestcanary job now installs tmux. Before, its terminal-cancel tmux scenarios skipped silently. - Not changed:
forgetdropping the call index entry: a ledger test already pins it. It has no other observable effect: afterforget, the record file is gone, so a lateadvancefinds nothing and does nothing.- A plain-shell user command in the cookie test: sign-out closes every plain shell by design. A user's plain-shell command is checked against Stop, and the user's tmux pane against every path.
Type of Change
- Test coverage
Testing
- Desktop executor tests: 88/88.
- Red checks: each of these fails the service tests in 3 of 3 runs:
- moving the snapshot after
recover(); - removing the snapshot;
- removing the
.catch.
- moving the snapshot after
- EC2 gate: green.
Checklist
- Code follows project style guidelines
- Self-reviewed my changes
- Tests added/updated and passing
- No new warnings introduced
- I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)