Goal
Make every release test command fail closed.
Problem
A caller could set GO_TEST=true and replace the test command. Review also found that a caller could set MAKE=true and skip recursive CI targets. The release command could then report success without running all tests.
Scope
- Use literal internal testcheck commands in release entry points.
- Do not use a replaceable test runner or recursive Make in release entry points.
- Cover the complete dry-run plans for ci, external, and external-tagged.
- Keep all required commands in order under parallel Make.
- Keep the nonzero test-count check.
Acceptance
GO_TEST=true does not change a release command plan.
MAKE=true does not change a release command plan.
- ci, external, and external-tagged keep all required commands in order.
- Parallel Make does not change the command order.
- A zero-test target still fails.
make ci and make external pass.
References
- Makefile
- design/testing.md
- design/release.md
- research/release-0.1.0-issue-111-mutation.md
Goal
Make every release test command fail closed.
Problem
A caller could set
GO_TEST=trueand replace the test command. Review also found that a caller could setMAKE=trueand skip recursive CI targets. The release command could then report success without running all tests.Scope
Acceptance
GO_TEST=truedoes not change a release command plan.MAKE=truedoes not change a release command plan.make ciandmake externalpass.References