forked from heavy-duty/ceremony
test(labels): assert each guard row alone, not bundled with its sibling
The D3 guard loop passed the action path and its test path to derives in one call. derive_labels emits scope:guards when either matches, so any one of the six rows could be deleted with the case still green — three assertions standing in for six rows. Split into one assertion per path. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
5356702817
commit
abe31a6d4a
1 changed files with 8 additions and 2 deletions
|
|
@ -148,10 +148,16 @@ EOF
|
|||
check "derive: RELEASES.md is scope:docs" 0 "[scope:docs]" derives 'RELEASES.md'
|
||||
check "derive: TRIAGE.md is scope:docs" 0 "[scope:docs]" derives 'TRIAGE.md'
|
||||
|
||||
# D3: three guard actions and their tests were in no block at all
|
||||
# D3: three guard actions and their tests were in no block at all. Each of
|
||||
# the six paths is asserted ALONE, never bundled with its sibling: a set
|
||||
# holding both the action and its test derives scope:guards when either row
|
||||
# matches, so one row could be deleted with the case still green — the six
|
||||
# rows have to be six assertions to be six protections (#300 round).
|
||||
for guard in changelog-assembled docs-sync runner-isolated; do
|
||||
check "derive: actions/$guard is scope:guards" 0 "[scope:guards]" \
|
||||
derives "$(files "actions/$guard/$guard.sh" "test/$guard.test.sh")"
|
||||
derives "actions/$guard/$guard.sh"
|
||||
check "derive: $guard's test is scope:guards" 0 "[scope:guards]" \
|
||||
derives "test/$guard.test.sh"
|
||||
done
|
||||
|
||||
# D4: lib/ is genuinely mixed, so the shared files wear both labels rather
|
||||
|
|
|
|||
Loading…
Reference in a new issue