Run one test and audit the repo without retyping either (V-653)
Two commands replace work that 66 sessions of transcripts show being redone by hand. `make t` replaces the CGO preamble, pasted 391 times across past sessions and documented in CLAUDE.md as the way to do it. It also sets MAVEN_ONNX_LIB, which that recipe did not: the four TestONNX* measurements self-skip without it and the run still prints "ok", so every targeted eval done the old way reported the hash ratchet while reading as a real embedder score. -race keeps it honest against `make test`, -count=1 keeps a stale cache from passing as a result. `make audit` replaces the inventory sweep. The four longest sessions spent 93 greps rebuilding it before their first edit. Runs in 0.75s. Its stub search is narrower than the sweeps were, on purpose. "not wired" is this repo's word for a nil dependency and matched ~30 comments describing working code; "placeholder" names real identifiers and matched 16 more; internal/ipc/unimplemented.go is the deliberate Unimplemented*Server pattern, not 60 gaps. A gap report that reports the architecture back at you is one nobody reads twice.
This commit is contained in:
@@ -58,16 +58,27 @@ make build-web # single daemon (pure-Go ones: web/waked/poll/caldav build w
|
||||
make test # go test -race across ./internal/... ./cmd/... with CGO env set
|
||||
```
|
||||
|
||||
Run a single test (must carry the CGO env for packages that touch STT/TTS/voice):
|
||||
Run one package or one test with `make t`. **Do not hand-write the CGO preamble.**
|
||||
Past sessions pasted it about 390 times. That is where the shell-quoting failures
|
||||
came from. This box runs zsh, so an unquoted `-run Test*` or `--include=*.go`
|
||||
dies on "no matches found" before `go` is ever reached.
|
||||
|
||||
```sh
|
||||
CGO_CFLAGS="-I$(pwd)/deps/include -I$(pwd)/deps/whisper.cpp/ggml/include" \
|
||||
CGO_LDFLAGS="-L$(pwd)/deps/lib -Wl,-rpath,$(pwd)/deps/lib" \
|
||||
LD_LIBRARY_PATH="$(pwd)/deps/lib" \
|
||||
deps/go/go/bin/go test -run TestName ./internal/router/
|
||||
make t PKG=./internal/router/
|
||||
make t PKG=./cmd/mavend/ RUN=TestSimulator
|
||||
make t PKG=./internal/router/eval/ RUN='TestONNX' V=1 # V=1 for -v, RACE=0 to drop -race
|
||||
```
|
||||
|
||||
Pure-Go packages (`router`, `memory`, `mavweb`, …) run under a plain `go test ./pkg/`.
|
||||
`t` carries `-race`, so a green `make t` cannot turn red under `make test`. It carries
|
||||
`-count=1`, so a cached PASS from before your edit is never mistaken for a result.
|
||||
|
||||
It also sets `MAVEN_ONNX_LIB`, which the hand-written recipe did not. The four
|
||||
`TestONNX*` measurements self-skip when that variable is unset. The run still prints
|
||||
`ok`. So every targeted eval done the old way reported the hash ratchet while reading
|
||||
as a real embedder score.
|
||||
|
||||
Pure-Go packages (`router`, `memory`, `mavweb`, …) also run under a plain `go test ./pkg/`,
|
||||
but `make t` works everywhere and is one thing to remember.
|
||||
|
||||
## The daemons (`cmd/`)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user