E2E: isolated, reproducible test cases in their own CI job; mem-check back to measuring #38

Closed
opened 2026-10-22 13:49:38 +00:00 by claude-bot · 0 comments
Collaborator

tools/mem-check/run.sh has grown from the D10 resource check into an e2e suite. It is about 580 lines. Its flows depend on each other's state (the shared Bible folder and saved settings: #37 broke because the Aa check assumed BSB was installed). It stops at the first failure. Its taps are fixed pixel coordinates. And every flow runs twice, once in the slow profile, which exists only for timing and PSS.

Wanted:

  • tools/e2e/: one case per flow (restore after kill -9, picker and Back, typed reference, Aa sheet, …).
    • Each case is isolated: its own data folder, Bible folder (only the modules it names) and config.
    • Each case is idempotent and reproducible: the same result in any order, alone or in the full run, locally or in CI.
    • A shared lib provides launch, taps on positions the QML reports, waits on log lines and kill.
    • A runner runs every case (or the ones named), reports each pass or fail with its log, and doesn't stop at the first failure.
  • Its own CI job (e2e), so a failure has its own status context. A local equivalent: cargo make e2e-docker, and one case by name.
  • mem-check keeps only the measurements: start time and PSS, in the normal and slow profiles.

Blocks #37 (#12 part 2): its red-letters checks move into cases once this lands.

🤖 Generated with Claude Code

`tools/mem-check/run.sh` has grown from the D10 resource check into an e2e suite. It is about 580 lines. Its flows depend on each other's state (the shared Bible folder and saved settings: #37 broke because the Aa check assumed BSB was installed). It stops at the first failure. Its taps are fixed pixel coordinates. And every flow runs twice, once in the slow profile, which exists only for timing and PSS. Wanted: - `tools/e2e/`: one case per flow (restore after kill -9, picker and Back, typed reference, Aa sheet, …). - Each case is isolated: its own data folder, Bible folder (only the modules it names) and config. - Each case is idempotent and reproducible: the same result in any order, alone or in the full run, locally or in CI. - A shared lib provides launch, taps on positions the QML reports, waits on log lines and kill. - A runner runs every case (or the ones named), reports each pass or fail with its log, and doesn't stop at the first failure. - Its own CI job (`e2e`), so a failure has its own status context. A local equivalent: `cargo make e2e-docker`, and one case by name. - `mem-check` keeps only the measurements: start time and PSS, in the normal and slow profiles. Blocks #37 (#12 part 2): its red-letters checks move into cases once this lands. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/utStudyBIble#38
No description provided.