You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add ctrl-c e2e test for SIGINT propagation to running tasks
Add a `vtt exit-on-ctrlc` subcommand and e2e fixture that verifies SIGINT
propagates to concurrent tasks when the user presses Ctrl+C. The test runs
two packages with `vt run -r dev` (using argv spawn mode), synchronizes
via milestone protocol, then sends ctrl-c and verifies both tasks handle it.
Changes:
- `vtt exit-on-ctrlc`: sets up ctrl-c handler, emits "ready" milestone,
prints "ctrl-c received" and exits on SIGINT. On Windows, clears the
inherited CONSOLE_IGNORE_CTRL_C flag (set by an ancestor process via
CREATE_NEW_PROCESS_GROUP) before registering the handler.
- `vt main.rs`: register no-op ctrlc handler before tokio runtime so vt
survives Ctrl+C and reports actual task exit status. Use process::exit
to avoid Windows runtime cleanup issues.
- `ctrl-c` WriteKey variant for e2e test interactions (rename_all kebab-case)
- Fix `expect_milestone` to preserve unmatched milestones in a local buffer
instead of dropping them via `take_unhandled_osc_sequences`
- Strip `^C` terminal echo and normalize `ctrl-c received` count in e2e
redaction for cross-platform consistency
- Fix incorrect comment in pty_terminal test about CTRL_C ignore flag source
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments