Skip live network feed test under -short for deterministic make check (closes #2)
TestRouteWatchLiveFeed streams the live RIPE RIS feed for a few seconds, so the default test run depended on the network and tripped the race detector. It now skips under testing.Short(), and script/test passes -short in both go test lines, so make check runs offline and gives the same result every time. The README says how to run the live test on demand. No non-test code changed. The race itself is not fixed: the test reads the peeringHandler field of RouteWatch while Run is still setting it. Nothing outside the test reads that field concurrently. Model: opus-4-8 (implementation, review); fable-5-1 (summary)
This commit was merged in pull request #4.
This commit is contained in:
@@ -204,7 +204,9 @@ them. We provide:
|
||||
- `script/projectname` — print the project name (used for the Docker
|
||||
image tag)
|
||||
- `script/test` — run the test suite
|
||||
(`go test -timeout 30s -race -cover ./...`, verbose rerun on failure)
|
||||
(`go test -short -timeout 30s -race -cover ./...`, verbose rerun on
|
||||
failure). The `-short` flag skips the live-network integration test so the
|
||||
default run is deterministic and offline.
|
||||
- `script/lint` — run `go vet ./...` and `golangci-lint run`
|
||||
- `script/fmt` — format all code (writes)
|
||||
- `script/fmt-check` — check formatting (read-only)
|
||||
@@ -218,6 +220,11 @@ them. We provide:
|
||||
- `script/install-precommit` — install the git pre-commit hook that
|
||||
runs `script/precommit`
|
||||
|
||||
The live-network integration test `TestRouteWatchLiveFeed` streams the RIPE
|
||||
RIS feed for a few seconds and is skipped in short mode. To run it on demand,
|
||||
invoke `go test` directly without `-short`:
|
||||
`go test -run TestRouteWatchLiveFeed ./internal/routewatch/`.
|
||||
|
||||
## License
|
||||
|
||||
See LICENSE file.
|
||||
|
||||
Reference in New Issue
Block a user