Skip to content

test(backend): cover Preserve & Rerun across the run boundary - #326

Merged
vishnuv688 merged 2 commits into
mainfrom
vv/289-python-preserve-rerun
Aug 23, 2026
Merged

test(backend): cover Preserve & Rerun across the run boundary#326
vishnuv688 merged 2 commits into
mainfrom
vv/289-python-preserve-rerun

Conversation

@vishnuv688

@vishnuv688 vishnuv688 commented Aug 23, 2026

Copy link
Copy Markdown
Member

What & why

Type of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Polish (an improvement to an existing feature)
  • Breaking change (existing behavior changes for users)
  • Documentation
  • Internal (build, CI, dependencies, tooling)

Packages touched

  • shared (types and contracts)
  • core (framework-agnostic capture/reporting)
  • elements (published element/snapshot API — @wdio/elements)
  • service (WebdriverIO adapter)
  • nightwatch-devtools (Nightwatch adapter)
  • selenium-devtools (Selenium adapter)
  • backend (server)
  • app (UI)
  • script (page-injected runtime)
  • selenium-devtools-py

Notes for reviewers

Screenshots / recordings

@vishnuv688 vishnuv688 self-assigned this Aug 23, 2026
@greptile-apps

greptile-apps Bot commented Aug 23, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds backend integration coverage for Preserve & Rerun across newly spawned run identities and documents the behavior for the Python Selenium adapter.

  • Uses the real runner path so the next worker connection consumes rerun-child state.
  • Verifies baseline retention, ordinary-rerun cleanup, cross-run comparison, terminal-triggered runs, and preservation of unaffected sibling tests.
  • Documents Preserve & Rerun semantics and updates the adapter roadmap.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains; the newly added sibling-preservation scenario resolves the previously reported coverage gap by failing if the rerun worker is handled as an ordinary new run.

Important Files Changed

Filename Overview
packages/backend/tests/preserve-across-rerun.test.ts Adds deterministic end-to-end backend coverage using the real runner path, including a sibling-preservation assertion that distinguishes rerun-child continuity from an ordinary new-run reset.
packages/selenium-devtools-py/README.md Documents Preserve & Rerun behavior and updates the implementation roadmap consistently with the covered backend behavior.
CLAUDE.md Records the capability-gate and baseline-lifecycle rationale behind Preserve & Rerun.

Sequence Diagram

sequenceDiagram
  participant W1 as Original worker
  participant B as Backend
  participant R as Test runner
  participant W2 as Rerun worker
  W1->>B: Report failed attempt and sibling
  B->>B: Preserve selected baseline
  B->>R: Request rerun with preserveBaseline
  R->>R: Arm rerun-child state and spawn process
  W2->>B: Connect with new run ID
  B->>B: Consume rerun-child state without resetting active run
  W2->>B: Report rerun attempt
  B-->>W2: Baseline and latest remain comparable
Loading

Reviews (2): Last reviewed commit: "test(backend): drive the real rerun-chil..." | Re-trigger Greptile

Comment thread packages/backend/tests/preserve-across-rerun.test.ts Outdated
@vishnuv688 vishnuv688 linked an issue Aug 23, 2026 that may be closed by this pull request
@vishnuv688
vishnuv688 merged commit da66708 into main Aug 23, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Preserve and Rerun for Python

1 participant