gui-integration-test
Warp Integration Tests
Scope — GUI desktop app only. This skill applies to Warp's GUI desktop front-end (the app/ crate on the WarpUI pixel/GPU framework). It does not apply to the headless TUI front-end (crates/warp_tui; cell-grid TuiElement library under crates/warpui_core/src/elements/tui), which has its own components, tests, and change-verification workflow. For TUI work, see the tui-ui-guidelines, tui-testing, and tui-verify-change skills instead.
Use this skill for Rust integration tests in Warp's custom framework under crates/integration/.
These are not ordinary unit tests. They boot a real Warp app instance, give it an isolated test home directory, drive it with synthetic UI and terminal events, and poll assertions until success or timeout.
When an integration test is the right tool
Integration tests are the most expensive tests in the repo. They boot the app, they are orders of magnitude slower than a unit test, and they are the most likely to go flaky. Write one when the risk you are covering genuinely lives between components:
- Real terminal/PTY and shell-integration behavior, especially across bash, zsh, and fish.
- Wiring and configuration: settings, keybindings, and user preferences actually taking effect end to end.
- Cross-component flows a unit test cannot see — command palette into editor into terminal, focus and pane management, tab/window lifecycle.
- Input and rendering paths that only exist once a real app (and sometimes a real display) is running.
- Regressions for user-visible bugs that escaped unit tests.
Do not reach for an integration test when: