Skip to content
LogoLogo

End-to-end tests

These run against real components, not mocks. They need a machine with the Slate binaries, a wlroots desktop (sway) with WAYLAND_DISPLAY set, foot and firefox, and a logged-in Claude Code for the slash scenarios.

ScriptWhat it provesOracle
desktop_e2e.pyslate-desktop over MCP: launch, click, type (incl. Unicode), key combos, cropped screenshots, closing windowsfiles written by typed commands; window titles from the compositor
slash_e2e.pyslash + slated + Claude Code: shell escape, context delta, memory, approvals, undothe agent's answers to factual questions; filesystem state
serve_e2e.pyslash --serve, the JSON protocol the desktop panel uses: events, approval round trip, /autoevent stream

Run on the dev VM:

python3 tests/e2e/desktop_e2e.py ~/src/slate/target/debug/slate-desktop
python3 tests/e2e/slash_e2e.py ~/src/slate/target/debug/slash

They are not in CI because they need a display and an agent subscription. Run them before every release.