check / check (push) Successful in 2m30s
backend/script/test runs go test -timeout 30s -race -cover and, if that fails, runs it again with -v and fails. The root script/test drops its one 30-second timeout around both halves: from a cold Go build cache, compiling the tests with -race used it all up. Each half keeps its own limit. The race detector needs a C compiler: the Dockerfile builder stage gains gcc and musl-dev, and script/bootstrap installs gcc, with the C library headers on apt and apk, when gcc is missing; make build still sets CGO_ENABLED=0. New tests: the health check's answer, a valid report's answer, a report file's exact lines, and the flush at the 10 MiB threshold. The handlers TestImport stub is gone. Model: opus-5-5
21 lines
606 B
Bash
Executable File
21 lines
606 B
Bash
Executable File
#!/bin/sh
|
|
# script/test: run the backend test suite with the race detector and
|
|
# coverage. Go's own -timeout bounds the tests and not their compile,
|
|
# so a cold build cache cannot fail it. The race detector needs cgo,
|
|
# and so a C compiler. If the tests fail, they run again with -v for
|
|
# the details, and the script fails even if that run passes.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
go test -timeout 30s -race -cover ./... || {
|
|
echo "--- Rerunning with -v for details ---"
|
|
go test -timeout 30s -race -v ./...
|
|
exit 1
|
|
}
|
|
}
|
|
|
|
main "$@"
|