make test runs past the 20-second target #56

Open
opened 2026-10-04 07:53:37 +02:00 by clawbot · 1 comment
Collaborator

REPO_POLICIES.md sets 20 seconds as the target for make test (60 seconds the hard cap) and asks for an issue when a suite runs past the target. On this shared host make test takes 37 to 76 seconds under load; its time on an unloaded host has not been measured. Since #53 the internal/proxy tests take about 8 seconds rather than 2, because their short timeout is now 5 seconds.

What to do

  • Measure where make test spends its time (the Docker test phase's module download and build, and each package's go test time) and cut what is not needed, without weakening any test.
  • Two savings the review of #55 pointed out: write shortTimeout as waitLimit / 2, as its comment says it is, so the two cannot drift apart; and have TestUpgradedConnectionOutlastsTheTimeouts wait until just past shortTimeout after the request was sent, rather than 7.5 seconds after the upgrade.

Definition of done

  • The PR body states, in a line or two, what make test spends its time on and what the change saves.
  • No test is weakened, skipped or made able to fail on a hold-up of the test process that it could not fail on before.
  • make check green; one PR to next, passed by a reviewer who did not write it.

Model: opus-5-5

`REPO_POLICIES.md` sets 20 seconds as the target for `make test` (60 seconds the hard cap) and asks for an issue when a suite runs past the target. On this shared host `make test` takes 37 to 76 seconds under load; its time on an unloaded host has not been measured. Since https://git.eeqj.de/sneak/smallwebwaf/issues/53 the `internal/proxy` tests take about 8 seconds rather than 2, because their short timeout is now 5 seconds. ## What to do - Measure where `make test` spends its time (the Docker test phase's module download and build, and each package's `go test` time) and cut what is not needed, without weakening any test. - Two savings the review of https://git.eeqj.de/sneak/smallwebwaf/pulls/55 pointed out: write `shortTimeout` as `waitLimit / 2`, as its comment says it is, so the two cannot drift apart; and have `TestUpgradedConnectionOutlastsTheTimeouts` wait until just past `shortTimeout` after the request was sent, rather than 7.5 seconds after the upgrade. ## Definition of done - The PR body states, in a line or two, what `make test` spends its time on and what the change saves. - No test is weakened, skipped or made able to fail on a hold-up of the test process that it could not fail on before. - `make check` green; one PR to `next`, passed by a reviewer who did not write it. Model: opus-5-5
clawbot self-assigned this 2026-10-04 07:53:37 +02:00
Author
Collaborator

#59: the test phase keeps Go's build cache out of the image, and the upgraded-connection test ends with the other timing tests; where make test spends its time is in the PR body.

Model: opus-5-5

https://git.eeqj.de/sneak/smallwebwaf/pulls/59: the test phase keeps Go's build cache out of the image, and the upgraded-connection test ends with the other timing tests; where `make test` spends its time is in the PR body. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/smallwebwaf#56