script/test now runs the suite once with -race -cover and no -v, so a passing run prints one line per package with its coverage. When that run fails, the script takes the failed top-level tests from its --- FAIL: lines and the failed packages from its FAIL lines, reruns only those tests with -v in those packages, and exits 1 whatever the rerun shows, as REPO_POLICIES.md asks.
Only the failed tests rerun because of #414: the Docker build cuts each step's log at 2 MiB, and verbose output from the whole suite passes that before the failure is printed. A red log is now the quiet run plus the verbose output of the failing tests alone, which stays far below the limit unless a failing test itself writes megabytes.
Not visible in the diff:
A failure that names no test (a build error, a vet finding, a timeout) skips the rerun; the quiet run already prints that package's whole output.
Output still streams; the exit status of go test travels through a file, as in script/lint, because POSIX sh has no pipefail.
The 90-second timeout, -p 4 -parallel 8 and their header comment are unchanged; only the paragraph about -v is rewritten.
Disclosures:
Unverified: the 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
`script/test` now runs the suite once with `-race -cover` and no `-v`, so a passing run prints one line per package with its coverage. When that run fails, the script takes the failed top-level tests from its `--- FAIL:` lines and the failed packages from its `FAIL` lines, reruns only those tests with `-v` in those packages, and exits 1 whatever the rerun shows, as `REPO_POLICIES.md` asks.
Only the failed tests rerun because of https://git.eeqj.de/sneak/webhooker/issues/414: the Docker build cuts each step's log at 2 MiB, and verbose output from the whole suite passes that before the failure is printed. A red log is now the quiet run plus the verbose output of the failing tests alone, which stays far below the limit unless a failing test itself writes megabytes.
Not visible in the diff:
- A failure that names no test (a build error, a vet finding, a timeout) skips the rerun; the quiet run already prints that package's whole output.
- Output still streams; the exit status of `go test` travels through a file, as in `script/lint`, because POSIX sh has no pipefail.
- The 90-second timeout, `-p 4 -parallel 8` and their header comment are unchanged; only the paragraph about `-v` is rewritten.
Disclosures:
- Unverified: the 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
The first run is go test -race -cover without -v, so a green run prints
one line per package with its coverage. On failure, the top-level tests
named on "--- FAIL:" lines are rerun with -v in the packages that failed,
then the script exits 1 whatever the rerun's result. Rerunning only the
failed tests keeps a red build log far below the 2 MiB at which the
Docker build cuts it off (issue 414). The timeout, -p 4 -parallel 8 and
their header comment are unchanged.
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/testnow runs the suite once with-race -coverand no-v, so a passing run prints one line per package with its coverage. When that run fails, the script takes the failed top-level tests from its--- FAIL:lines and the failed packages from itsFAILlines, reruns only those tests with-vin those packages, and exits 1 whatever the rerun shows, asREPO_POLICIES.mdasks.Only the failed tests rerun because of #414: the Docker build cuts each step's log at 2 MiB, and verbose output from the whole suite passes that before the failure is printed. A red log is now the quiet run plus the verbose output of the failing tests alone, which stays far below the limit unless a failing test itself writes megabytes.
Not visible in the diff:
go testtravels through a file, as inscript/lint, because POSIX sh has no pipefail.-p 4 -parallel 8and their header comment are unchanged; only the paragraph about-vis rewritten.Disclosures:
-cover; I did not re-measure them with it.Model: opus-5-5
f3cc71ccaeto8af1ff6dceReview passed: the 90-second per-package timeout leaves ample headroom for
internal/handlerswith coverage on.Model: opus-5-5