This directory holds the executable spec for the debug-reach skill. If this test passes, the skill's documented happy path works against a real nvim+tmux+debugpy stack.
test_breakpoint_flow.py drives the full guyide debug surface against a
freshly-installed NvGuy + vscodium.nvim + nvim-dap + debugpy:
guyide doctor-> readyguyide debug list-configs-> seessample-debugpyguyide debug break set --file sample.py --line 13guyide debug start --config sample-debugpyguyide debug state --wait --reason breakpoint --vars --frames- assert
aandbare reported as locals at the stop guyide debug continue-> hit again on the next loop iterationguyide debug stop->session_activebecomesfalse
Every step is asserted to carry the "schema":"guyide/v1" envelope.
python -m pip install pytest pytest-timeout debugpy
pytest -xvs testdata/e2e/
Optional env vars:
GUYIDE_E2E_NVGUY_LOCAL=/path/to/nvguy— use a local clone instead of fetching from GitHub.GUYIDE_E2E_NVGUY_REF=<branch>— pin a different NvGuy ref (default:main).GUYIDE_E2E_KEEP=1— keep the ephemeral tmux server alive after the test for inspection.
The following nvim-launch.debug-rpc Lua issues will cause the test to
fail until they are patched in vscodium.nvim:
list_configs()callslaunch_json.load_configswhich does not exist (likely renamed). Step 2 will fail.step_over/into/outblindly return{success: true}even when no dap session exists. Not exercised by this test, but worth tracking.
These are tracked in BRANCH-NOTES.md of the
feature/cli-skill-bridge branch.
.github/workflows/e2e.yml runs this on every push, every PR, and
nightly at 03:17 UTC. Diagnostics from a failing run are uploaded as the
e2e-diagnostics artifact.