Keep make test under 2 GB of memory (closes #344)
check / check (push) Successful in 3m31s

Every test that starts a database hashed the bootstrap admin password
with Argon2id at 64 MB, which under -race holds about 150 MB per hash,
across dozens of parallel tests. HashPassword now hashes at 1 MB when
testing.Testing() reports a test binary, so every test package gets
the lower cost and a binary built by go build never does. One test
still hashes and verifies through HashPassword at the shipped
parameters, which are unchanged.

script/test also runs at most four packages and eight parallel tests
at once: unbounded, a many-core host linked and ran every test binary
together.

Model: opus-5-5
This commit is contained in:
2026-10-01 23:22:59 +00:00
parent 1cafaeb953
commit 508f246b5b
5 changed files with 74 additions and 3 deletions
+1 -1
View File
@@ -140,7 +140,7 @@ func (n *noopEvictor) EvictWebhook(string) {}
// and the database, exactly as internal/handlers builds them.
//
// One application per test function, not per case: every start that
// finds no account seeds one at 64 MB of Argon2id, and this package's
// finds no account seeds one with an Argon2id hash, and this package's
// budget is not the place to spend that repeatedly.
func newServerApp(
t *testing.T, dir string,