split fast dev test from the coverage gate run
`make test` is now the fast dev inner loop: no coverage, parallel (--concurrency=12), ~21s warm (down from ~36s). Coverage moves to a new `make test-coverage`, which push-check runs to feed coverage-gate. Drop the separate test-a11y pass from push-check — the coverage run already executes test/a11y. Both runs get --timeout 60s so a hung test fails fast instead of wedging the runner ~10min and stalling the gate. Measured: coverage is the floor (~36s) and concurrency-insensitive, so the gate keeps coverage without --concurrency; only the no-coverage dev path benefits from parallelism. T-192. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -110,9 +110,13 @@ t: gen-build-info ## Run one test path with tee'd output. Usage: make t T=test/p
|
||||
flutter test $(T) 2>&1 | tee test/.test-output/last.log
|
||||
|
||||
.PHONY: test
|
||||
test: gen-build-info ## Fast: analyze + format + unit + widget + golden (<60s).
|
||||
test: gen-build-info ## Fast dev loop: analyze + format + unit + widget + golden, NO coverage, parallel (~20s).
|
||||
ci/test.sh
|
||||
|
||||
.PHONY: test-coverage
|
||||
test-coverage: gen-build-info ## Same suite WITH coverage → coverage/lcov.info (for the gate / CI). Slower.
|
||||
ci/test.sh --coverage
|
||||
|
||||
.PHONY: test-core
|
||||
test-core: gen-build-info ## Core subsystem tests (IPC, PTY, git, pane registry).
|
||||
ci/test_core.sh
|
||||
@@ -133,7 +137,7 @@ test-e2e: ## End-to-end Playwright smoke.
|
||||
test-all: test-core test test-a11y test-integration test-e2e ## Everything, sequentially.
|
||||
|
||||
.PHONY: coverage-gate
|
||||
coverage-gate: ## Coverage gate — fails if total line % < pubspec.yaml `coverage_floor:` (D-66). Assumes `make test` ran first.
|
||||
coverage-gate: ## Coverage gate — fails if total line % < pubspec.yaml `coverage_floor:` (D-66). Assumes `make test-coverage` ran first.
|
||||
ci/coverage_gate.sh
|
||||
|
||||
.PHONY: changelog-gate
|
||||
@@ -302,7 +306,7 @@ decisions-validate: ## Parser dry-run over governance/{decisions,questions,rejec
|
||||
pql decisions validate
|
||||
|
||||
.PHONY: push-check
|
||||
push-check: decisions-validate test-core test test-a11y coverage-gate changelog-gate ## Pre-push gate (fast — <2 min target).
|
||||
push-check: decisions-validate test-core test-coverage coverage-gate changelog-gate ## Pre-push gate (fast — <2 min target). test-coverage already runs the a11y suite (test/a11y), so no separate test-a11y pass.
|
||||
|
||||
.PHONY: push-check-full
|
||||
push-check-full: push-check test-integration smoke-bundle ## Pre-release gate (push-check + integration + smoke; slower).
|
||||
|
||||
Reference in New Issue
Block a user