fix: fail regression runs when any selected case is skipped - #87
Conversation
|
@fatihcvs is attempting to deploy a commit to the priyanshu's projects Team on Vercel. A member of the Team first needs to authorize it. |
CodewithJha
left a comment
There was a problem hiding this comment.
Thanks @fatihcvs — this hits #71 / MUT-023 cleanly: mutiny test now exits 1 whenever any selected case is skipped, including PASS + corrupt JSON. Status stays SKIPPED (still visible in the #39 summary line) but CI cannot go green on a broken artifact. CLI.md documents the exit rule; tests cover malformed JSON, invalid schema, and invalid UTF-8, mixed with a passing fixture. GitHub Actions green on 3.11/3.12; ignoring Vercel auth.
|
Merged — thank you @fatihcvs. Exactly the kind of CLI correctness Mutiny needs: a mixed PASS + SKIPPED suite can no longer leave CI green, the #39 summary line still reports skips honestly, and corrupt JSON / invalid UTF-8 are covered. If you'd like to continue working on Mutiny, these would be good related areas to look at:
No pressure — only if you want another one. |
|
Quick follow-up @fatihcvs — we are reverting this squash merge ( Your implementation was correct: mixed PASS + SKIPPED now fails CI, the #39 summary stays honest, and the corrupt JSON / UTF-8 coverage was real. We are not changing that product default. #88 adds an opt-in Your other merges (#83, #85, #86, #89) stay on No action needed on your side. |
Record --allow-skip on the mutiny test flag table so CLI.md matches main. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
Fixes #71. Return exit code 1 whenever a selected regression is skipped, including mixed PASS + SKIPPED runs. Corrupt artifacts and replay errors keep their SKIPPED report status, but can no longer leave CI green just because another case passed. No new bypass flag is introduced.
Add real temporary-file regressions for malformed JSON, invalid schema and invalid UTF-8, both alone and alongside a passing fixture. Check the CLI exit code, human summary and persisted error details, plus mixed-result JSON output. Document the exit behavior in the CLI guide.
Type of change
Checklist
Test plan
pytest tests/unit tests/integration tests/reliability -q --tb=short: 523 passed, one existing Starlette deprecation warning, on Windows/Python 3.12.14 with MUTINY_SAMPLE_OFFLINE=1 and PYTHONUTF8=1.git diff --checkpassed. The existing tracked trace generated by the unit suite was restored after testing (test: isolate persisted violation traces from committed examples #85 handles it separately).Independent branch from main, without the other open Mutiny contributions.