No make target runs the tests under -race, so no gate ever exercises the detector #23
Reference in New Issue
Block a user
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?
Found during the adversarial review of
#21
(#21 (comment)).
The reviewer needed to check that handlers derived with
WithAttrs/WithGroupare safe when shared across goroutines, and found no
maketarget orscript/entrypoint that runs the tests with
-race. They had to invoke the toolchaindirectly to do it, and disclosed the deviation.
That is a gate gap, not a reviewer problem. This library's handlers are shared
across goroutines by construction — that is what a process-wide
slogdefaultis — so data races are exactly the defect class most worth catching here, and
nothing in the repo catches them. Raw toolchain invocation is disallowed across
this account precisely because the targets are supposed to carry the flags.
Definition of done
-raceas part of the repo's standard check, not as anoptional extra target a person has to remember.
-raceneedscgo and a C toolchain, so an Alpine or
CGO_ENABLED=0stage will needattention rather than a flag.
actually fires and the check goes red, then remove it and confirm green. A
-raceflag that is present but not exercising anything is worse than none,because it reads as coverage.
suite justifies; if it does, say so rather than quietly accepting it.
Implementation requirements
divergence) and #20 (linting in
Docker) — all three touch the entrypoints, and whichever lands later must not
revert the others.
(closes #<this issue>).