Part of #277
Snapshot a failing test, rerun it, diff the two runs side by side.
Scope narrowed. This issue bundled two capabilities: making the dashboard's
run controls work at all, and preserving a run to compare against a rerun. The
first is the larger of the two and is now #324 — the adapter advertises no run
capabilities and sends no launch or rerun command, so there is nothing to press
Rerun on yet. This issue keeps the preserve-and-diff half and depends on it.
What remains is mostly wiring: baselineStore and the compare view already exist
in the backend and the app, and are language-agnostic. #287 made accumulated run
state survive a reconnect, which is what a diff needs in order to have two runs
to compare rather than one that overwrote the other.
Acceptance criteria
A failing Python test can be preserved and rerun from the dashboard, and the
compare view shows both runs.
Size: M. Depends on #324 (run controls and rerun), #282 and #287 (both closed).
Part of #277
Snapshot a failing test, rerun it, diff the two runs side by side.
Scope narrowed. This issue bundled two capabilities: making the dashboard's
run controls work at all, and preserving a run to compare against a rerun. The
first is the larger of the two and is now #324 — the adapter advertises no run
capabilities and sends no launch or rerun command, so there is nothing to press
Rerun on yet. This issue keeps the preserve-and-diff half and depends on it.
What remains is mostly wiring:
baselineStoreand the compare view already existin the backend and the app, and are language-agnostic. #287 made accumulated run
state survive a reconnect, which is what a diff needs in order to have two runs
to compare rather than one that overwrote the other.
Acceptance criteria
A failing Python test can be preserved and rerun from the dashboard, and the
compare view shows both runs.
Size: M. Depends on #324 (run controls and rerun), #282 and #287 (both closed).