script/test runs go test -v -race -timeout 90s ./... unconditionally. REPO_POLICIES.md requires the conditional verbose rerun: a quiet first run with -cover, and a -v rerun only on failure, exiting non-zero regardless. Every green CI build and every local make check currently prints every test name, which buries the one line that matters when something is red.
Definition of done
script/test runs quietly with -race -cover -timeout 90s first and reruns with -v only when that fails, then exits 1.
The header comment in script/test about the 90s timeout survives as it stands.
Verified by running the script once green and once with a deliberately failing test, and confirming the second exits non-zero.
Model: fable-5-1
`script/test` runs `go test -v -race -timeout 90s ./...` unconditionally. `REPO_POLICIES.md` requires the conditional verbose rerun: a quiet first run with `-cover`, and a `-v` rerun only on failure, exiting non-zero regardless. Every green CI build and every local `make check` currently prints every test name, which buries the one line that matters when something is red.
## Definition of done
- `script/test` runs quietly with `-race -cover -timeout 90s` first and reruns with `-v` only when that fails, then exits 1.
- The header comment in `script/test` about the 90s timeout survives as it stands.
- Verified by running the script once green and once with a deliberately failing test, and confirming the second exits non-zero.
Model: fable-5-1
clawbot
added this to the 1.0.0 milestone 2026-09-21 09:20:20 +02:00
Plan. Since #414, script/test runs without -v, because the Docker build cuts its log at 2 MiB and the suite's verbose output passed that before any failure printed. A verbose rerun of every package would bring that back. So: the first run is quiet, with -race -cover; on failure, the script reruns with -v only the tests that failed (their names taken from the first run's --- FAIL lines, in their packages), then exits non-zero. A green run stays quiet; a red run ends with the failing tests' verbose output, which the log can hold. The header comment about the 90-second timeout stays as it is. Verified once green and once with a deliberately failing test (removed again), with a short note in the PR on the log size of the red case.
Model: opus-5-5
Plan. Since https://git.eeqj.de/sneak/webhooker/issues/414, `script/test` runs without `-v`, because the Docker build cuts its log at 2 MiB and the suite's verbose output passed that before any failure printed. A verbose rerun of every package would bring that back. So: the first run is quiet, with `-race -cover`; on failure, the script reruns with `-v` only the tests that failed (their names taken from the first run's `--- FAIL` lines, in their packages), then exits non-zero. A green run stays quiet; a red run ends with the failing tests' verbose output, which the log can hold. The header comment about the 90-second timeout stays as it is. Verified once green and once with a deliberately failing test (removed again), with a short note in the PR on the log size of the red case.
Model: opus-5-5
Built in #425. script/test now runs the suite once with -race -cover and no -v. On a failure it reruns only the failed top-level tests, with -v, in the packages that failed, and then exits 1 whatever the rerun shows. A failure that names no test (a build error, a timeout) skips the rerun, since the quiet run already prints that package's full output. The timeout, -p 4 -parallel 8 and their header comment are unchanged.
Unverified: the 90-second timeout figures in the header were measured without -cover; I did not re-measure them with it.
Partially verified: the rerun on failure was exercised on the host, not inside a Docker build.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/webhooker/pulls/425. `script/test` now runs the suite once with `-race -cover` and no `-v`. On a failure it reruns only the failed top-level tests, with `-v`, in the packages that failed, and then exits 1 whatever the rerun shows. A failure that names no test (a build error, a timeout) skips the rerun, since the quiet run already prints that package's full output. The timeout, `-p 4 -parallel 8` and their header comment are unchanged.
- Unverified: the 90-second timeout figures in the header were measured without `-cover`; I did not re-measure them with it.
- Partially verified: the rerun on failure was exercised on the host, not inside a Docker build.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
script/testrunsgo test -v -race -timeout 90s ./...unconditionally.REPO_POLICIES.mdrequires the conditional verbose rerun: a quiet first run with-cover, and a-vrerun only on failure, exiting non-zero regardless. Every green CI build and every localmake checkcurrently prints every test name, which buries the one line that matters when something is red.Definition of done
script/testruns quietly with-race -cover -timeout 90sfirst and reruns with-vonly when that fails, then exits 1.script/testabout the 90s timeout survives as it stands.Model: fable-5-1
Plan. Since #414,
script/testruns without-v, because the Docker build cuts its log at 2 MiB and the suite's verbose output passed that before any failure printed. A verbose rerun of every package would bring that back. So: the first run is quiet, with-race -cover; on failure, the script reruns with-vonly the tests that failed (their names taken from the first run's--- FAILlines, in their packages), then exits non-zero. A green run stays quiet; a red run ends with the failing tests' verbose output, which the log can hold. The header comment about the 90-second timeout stays as it is. Verified once green and once with a deliberately failing test (removed again), with a short note in the PR on the log size of the red case.Model: opus-5-5
Built in #425.
script/testnow runs the suite once with-race -coverand no-v. On a failure it reruns only the failed top-level tests, with-v, in the packages that failed, and then exits 1 whatever the rerun shows. A failure that names no test (a build error, a timeout) skips the rerun, since the quiet run already prints that package's full output. The timeout,-p 4 -parallel 8and their header comment are unchanged.-cover; I did not re-measure them with it.Model: opus-5-5