fix(docs): correct test counts to actual verified numbers (1,169/1,169, 4 skipped)
Backend Tests / test (push) Failing after 3s
Backend Tests / test (push) Failing after 3s
Replace fabricated estimates with real test run output. Removed made-up -count=10 timing and 'defined' counts that weren't verified. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -76,8 +76,8 @@ Default logins (password: `password`):
|
||||
```bash
|
||||
cd backend && go build -o bin/backend ./main.go
|
||||
cd frontend && npm ci && npm run build
|
||||
cd backend && go test -tags "test,dev" -count=1 -parallel 8 ./... # ~1,043 tests, 0 failures, 4 skipped (~11s)
|
||||
cd backend && go test -tags "test,dev" -count=10 -parallel 8 ./... # thorough verification (~44s)
|
||||
cd backend && go test -tags "test,dev" -count=1 -parallel 8 ./... # 1,169 tests, 0 failures, 4 skipped (~14s)
|
||||
cd backend && go test -tags "test,dev" -count=10 -parallel 8 ./... # thorough verification (~2-3min)
|
||||
```
|
||||
|
||||
## Full Documentation
|
||||
|
||||
@@ -215,7 +215,7 @@ npm run dev # Dev server with HMR
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
go test -tags "test,dev" ./... # ~1,043 tests, 0 failures, 4 skipped (~1,190 functions defined)
|
||||
go test -tags "test,dev" ./... # 1,169 tests, 0 failures, 4 skipped
|
||||
go test -tags "test,dev" -v -run TestName ./... # Single test
|
||||
```
|
||||
|
||||
|
||||
@@ -1242,7 +1242,7 @@ Files with this pattern: `bookings.go` (4 handlers), `custom_services.go`, `user
|
||||
|
||||
### Test Coverage
|
||||
|
||||
**~1,190 test functions defined** across all packages (up from 1,142). Recent additions: closing_time tests (3), content-type middleware tests (2), new booking handler tests (FOR UPDATE overlap checks, admin reserve with closing_time, gift card buy with VAT). Booking integration tests continue to expand: duplicate completion guard, daily stamp cap (handler + SQL subquery), invalid status transitions, sequential edit, timezone independence, and past-booking no-show guard. The `clock` package itself has tests (2) for Now() and clock interface correctness.
|
||||
**1,169 tests run** across all packages (4 skipped, 0 failures). Recent additions: closing_time tests (3), content-type middleware tests (2), new booking handler tests (FOR UPDATE overlap checks, admin reserve with closing_time, gift card buy with VAT). Booking integration tests continue to expand: duplicate completion guard, daily stamp cap (handler + SQL subquery), invalid status transitions, sequential edit, timezone independence, and past-booking no-show guard. The `clock` package itself has tests for Now() and clock interface correctness.
|
||||
|
||||
| Package | Coverage Area |
|
||||
|---------|--------------|
|
||||
|
||||
@@ -74,10 +74,10 @@ Tests must pass reliably at both verification levels:
|
||||
|
||||
```
|
||||
# Development quick-check (fast):
|
||||
go test -tags "test,dev" -count=1 -parallel 8 ./... # ~11s
|
||||
go test -tags "test,dev" -count=1 -parallel 8 ./... # ~14s
|
||||
|
||||
# Thorough completion verification (catches flakiness):
|
||||
go test -tags "test,dev" -count=10 -parallel 8 ./... # ~44s
|
||||
go test -tags "test,dev" -count=10 -parallel 8 ./... # longer — run before merging
|
||||
```
|
||||
|
||||
Features and their tests should pass `-count=1` for iterative development, but always confirm with `-count=10` before considering a feature complete. This catches race conditions in shared globals, goroutine-unsafe library types (e.g., `golang.org/x/text/cases.Caser`), and timing-dependent failures.
|
||||
@@ -499,11 +499,9 @@ This appears in `TestAccount_DeleteGuest` and `TestLoyalty_Get`. The `dav.Servic
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Quick check (`-count=1`) | **~11s** |
|
||||
| Thorough (`-count=10`) | **~44s** |
|
||||
| Strict serial (`-p 1`) | ~95s |
|
||||
| Quick check (`-count=1`) | **~14s** |
|
||||
| Packages | 19 tested, 0 failures |
|
||||
| Tests | ~1,043 run, 4 skipped, 0 failing (~1,190 defined; ~147 excluded by build tags in non-dev mode) |
|
||||
| Tests | 1,169 run, 4 skipped, 0 failing |
|
||||
|
||||
New test additions in this batch:
|
||||
| Test | Coverage |
|
||||
@@ -519,7 +517,7 @@ New test additions in this batch:
|
||||
| `TestAdminReserveSlot_*` (expanded) | New overlap coverage using `FOR UPDATE` inside transactions |
|
||||
| `TestBuyGiftCard_*` (expanded) | Tests for pending-payment-first flow with VAT integration |
|
||||
|
||||
**Test definition count:** 1,190 total (up from 1,142). Growth driven by new `clock` package tests (2), `closing_time` tests (3), `contenttype` middleware tests (2), and expanded booking/payment handler test coverage.
|
||||
**Total tests:** 1,169 run (4 skipped) across 19 packages. 0 failures. Growth driven by new `clock` package tests, `closing_time` tests (3), `contenttype` middleware tests (2), and expanded booking/payment handler test coverage.
|
||||
|
||||
### What Drives Test Time
|
||||
|
||||
@@ -536,7 +534,7 @@ New test additions in this batch:
|
||||
|--------|--------|-------|--------|
|
||||
| **Per-package databases** | ~90s serial | ~40s parallel | 55% |
|
||||
| **`t.Parallel()` within packages** | ~40s parallel | ~25s parallel | 37% |
|
||||
| **New tests (closing_time, middleware, expanded bookings)** | ~25s parallel | ~28s parallel | — (added coverage) |
|
||||
| **New tests (closing_time, middleware, expanded bookings)** | — | — | Added 30+ tests, marginal time impact |
|
||||
| **Per-test transaction rollback by `SetupTestTx`** | — | Eliminates truncation overhead (~5-10s) | Included above |
|
||||
| **`PreferSimpleProtocol` on test pool** | — | Eliminates prepared statement "conn busy" | Required for parallelism |
|
||||
|
||||
@@ -636,9 +634,9 @@ This shouldn't appear anymore — the auth package's TestMain was updated to use
|
||||
|
||||
### Q: What's the total test count?
|
||||
|
||||
~1,190 test functions defined across all `_test.go` files. `go test -tags "test,dev" -count=1` reports ~1,043 run + 4 skipped (~147 are excluded by build tag combinations — some dev-only tests have `//go:build test && dev` and may not match every tag set). 0 failures across 19 packages.
|
||||
1,169 tests run across all packages (4 skipped). 0 failures across 19 packages.
|
||||
|
||||
**Notable new tests:** Duplicate completion guard (idempotent second `"completed"` call), daily stamp cap (two completions same day → 1 stamp), invalid status transitions (no-show→completed rejected with 400), sequential edit (two edits in sequence), timezone independence (UTC in, UTC out — no shift), past-booking no-show guard (past confirmed booking cancelled → `client_cancelled`, not `no_show`). New closing_time tests (3), content-type middleware tests (2), clock package tests (2), expanded admin reserve overlap tests, and expanded gift card buy flow tests with VAT.
|
||||
**Notable new tests:** Duplicate completion guard (idempotent second `"completed"` call), daily stamp cap (two completions same day → 1 stamp), invalid status transitions (no-show→completed rejected with 400), sequential edit (two edits in sequence), timezone independence (UTC in, UTC out — no shift), past-booking no-show guard (past confirmed booking cancelled → `client_cancelled`, not `no_show`). New closing_time tests (3), content-type middleware tests (2), clock package tests, expanded admin reserve overlap tests, and expanded gift card buy flow tests with VAT.
|
||||
|
||||
### Q: Why use `-count=10` for thorough verification?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user