e2e: move the cases from bash to pytest #97
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
schaefera/utStudyBIble#97
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Owner's suggestion (PR #90): the e2e harness (
tools/e2e/:lib.sh560 lines,run.sh, 24 cases incases/*.sh) would be easier to read, extend and debug in pytest (or similar) than in bash.What bash costs today:
e2e_count,e2e_wait '<pattern>' $((seen + 1))); a helper that waits inside another must keep its ownlocal e2e_seen. In Python: a log reader object withwait_for(pattern, after=mark)."x y"strings word-split intoe2e_tap $(e2e_last …); quoting slips fail silently.app,sword_dir,repo_server,offline) would carry that, and-k/ markers replaceE2E_CASES.Keep:
utsb: …console hooks. No test-only code in the app beyond those hooks.cargo make e2e-docker,cargo make shots, CI'se2ejob and the image (ut-app-ci); addpython3-pytestto the image if it isn't there.repo-server.pyandxwd2png.pyare already Python and fold in.Trunk (
tools/e2e/,.forgejo/workflows/, the CI image): full review. Could for v0.1: the bash works; this pays off as cases grow (v0.2 adds many).The owner has decided this is required for 0.1.0, despite the
priority/Couldlabel: the e2e cases move off bash before the release.Scope, also the owner's decision: zero or almost no bash in formal testing code. That includes
tools/mem-check/run.sh, sotools/e2e/lib.shis deleted rather than trimmed. Any shell left is a thin entry point with no test logic.Progress: branch
feat/e2e-pytest(d82879c, no PR yet) makes pytest the runner, with a Python harness intools/e2e/harness/.restoreandpicker-backare ported and the other 43 cases run through a wrapper test until they are ported in batches.🤖 Generated with Claude Code