Run the tests under the race detector with make test-race (closes #18)
check / check (push) Failing after 2s

script/test-race runs go test -race in a digest-pinned Debian golang
image that has gcc, since the detector needs cgo and the build keeps it
off. The checkout is mounted read-only, the tests run as nobody so the
tests that make a file unreadable still see the read fail, and the
container is removed afterwards. It is not part of make check. The
detector found no races.

Model: opus-5-5
This commit is contained in:
2026-10-04 15:58:09 +00:00
parent 0b7078301d
commit 2439b00f44
4 changed files with 59 additions and 3 deletions
+8 -2
View File
@@ -29,6 +29,10 @@
# Completed Steps
- `make test-race` runs the test suite under the race detector in a
cgo-enabled container, outside `make check` (2026-10-04,
https://git.eeqj.de/sneak/sfdupes/issues/18)
- tests cover a missing database, `scan` keeping stdout empty, its skip
warning, the `report` and `trees` summary lines, and every subcommand
going through `runE` (2026-10-04, https://git.eeqj.de/sneak/sfdupes/issues/16)
@@ -538,5 +542,7 @@ Accepted divergences (no action):
- flat single-package layout with `.go` files in the repo root — fine
for a small single-binary tool per the Go styleguide; the tracker
audit agrees
- `go test` runs without `-race` — the repo mandates `CGO_ENABLED=0`
(pure-Go builds) and the race detector requires cgo
- `make test` runs without `-race` — the repo mandates `CGO_ENABLED=0`
(pure-Go builds) and the race detector requires cgo, so the detector
runs in a separate cgo-enabled container, `make test-race`, which is
not part of `make check`