Add -count=1 to the canonical Go make test example (closes #44)
All checks were successful
check / check (push) Successful in 13s
All checks were successful
check / check (push) Successful in 13s
The canonical Go `test` target in `REPO_POLICIES.md` omitted `-count=1`, so Go replayed cached successful results and the target could exit 0 having executed no test. Every repo that copied it inherited the false green. Both invocations get the flag; the rerun needs it so a failure is reproduced rather than replayed.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Repository Policies
|
||||
last_modified: 2026-08-07
|
||||
last_modified: 2026-08-10
|
||||
---
|
||||
|
||||
This document covers repository structure, tooling, and workflow standards. Code
|
||||
@@ -209,11 +209,16 @@ style conventions are in separate documents:
|
||||
|
||||
```makefile
|
||||
test:
|
||||
@go test -timeout 30s -race -cover ./... || \
|
||||
@go test -count=1 -timeout 30s -race -cover ./... || \
|
||||
{ echo "--- Rerunning with -v for details ---"; \
|
||||
go test -timeout 30s -race -v ./...; exit 1; }
|
||||
go test -count=1 -timeout 30s -race -v ./...; exit 1; }
|
||||
```
|
||||
|
||||
`-count=1` is required on both invocations: it defeats Go's test _result_
|
||||
cache, so the target cannot report a pass it did not earn, and the rerun
|
||||
reproduces a failure instead of replaying it. It leaves the build cache
|
||||
alone, so it costs the runtime of the suite and no recompilation.
|
||||
|
||||
Python example:
|
||||
|
||||
```makefile
|
||||
|
||||
Reference in New Issue
Block a user