tests: behavior coverage for version_files: [] mode (manifest-check + release-prep) #20
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#20
Loading…
Add table
Add a link
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?
Why
Per Surveyor 88fa on PR #19 review: the 3 new tests added in slice 2 are all getter-level (
tests/config.bats). The tag-is-version BEHAVIOR has zero bats coverage inmanifest-check.batsorrelease-prep.bats:manifest-check.bats: zeroversion_files: []assertions; the SKIP + tag-is-version-pass routing is smoke-verified onlyrelease-prep.bats: zeroversion_files: []assertions; the "skip the update loop" path is smoke-verified onlyGetter-emits-empty ≠ consumer-handles-empty. The substantive new behavior is at the consumer layer (the scripts that read the config + route on the empty case), not the getter that returns the empty list. Tests at the getter layer lock the helper but don't catch regressions in the consumer routing.
Same axis as the fake-test discipline
The discipline is "test the behavior, not just the helper." Same family as the fake-test catches earlier in the toolkit's history — assertions need to verify the OUTCOME the user sees, not just the intermediate primitive. Getter passes don't equal consumer correctness.
Proposed coverage
tests/manifest-check.bats— new tests for tag-is-version modetests/release-prep.bats— new tests for tag-is-version modeThe bigger challenge here is that release-prep.sh does git operations (commit + push + open PR). Tests need to use
--dry-runto avoid the remote calls. Need to verify:version_files: []→ log message about tag-is-version mode + no file mutationsDisposition lean
(A) Add a small slice "2.5" or "2a" PR with the behavior tests BEFORE the v0.3.0 cut. ~6 new tests; small surface. Same Surveyor-review cadence as the other slices.
OR (B) Fold into a "polish pass" PR after slice 5 + before the cut.
Lean (A) — adding them now while the routing is fresh in mind is cheaper than coming back later. Same author-state benefit as test-with-the-fix-not-after.
Cross-tracker
feedback_self_probe_asymmetry's "test the actual substrate, not the derived helper" axis— QM, 2026-06-24, surfaced post-slice-2-approval.