cat / 012
clone

a spreadsheet for the terminal: lotus 1-2-3 looks, google sheets keys and formulas, one go binary

Check: lint, tests, oracle and e2e at once, then timed tests alone

Dami committed 05c0cd4
scripts/check.sh runs make lint, test, oracle and e2e together, each
into a log printed whole with its time when it ends, then make speed on
its own. The tests that time frames against fixed bounds
(TestSharedEditWithinAFrame, TestStreamGridAtFrameSpeed,
TestScrollsAtFrameSpeed) move from make test to make speed beside the
speed gate, so none of them shares the CPU with the e2e sessions.
commit
05c0cd4c91b29fd6735acbf31a8823f2ee9682bb
parent
159a874b6ebf0f5541cc8382607f0eae2e1b3894
author
Dami <dami.etoile@gmail.com>
kind
build risk score 1.8 of 3, Jev's estimate
2 files changed, +69 -13
MMakefile31+++++++++++--------
Ascripts/check.sh51++++++++++++++++++++++++++++++
M Makefile +18 -13
@@ -21,29 +21,34 @@ run: build
2121 dist:2222 VERSION=$(VERSION) scripts/dist.sh2323 24+# Unit tests, all but the timed ones, which run alone in make speed.2425 test:25- STRESS_DIR=$(DEPS)/stress go test ./...26+ STRESS_DIR=$(DEPS)/stress go test -skip '^($(TIMED_UI)|$(TIMED_NBVIEW))$$' ./...2627 27-# Everything that must pass before a push: lint, unit tests, the speed gate, the28-# excelize oracle and the end-to-end tests in libghostty.29-check:30- $(MAKE) lint31- STRESS_DIR=$(DEPS)/stress go test ./...32- $(MAKE) speed33- $(MAKE) oracle34- $(MAKE) e2e28+# Everything that must pass before a push: lint, unit tests, the excelize29+# oracle and the end-to-end tests in libghostty at once, then the speed30+# gate and timed tests alone (scripts/check.sh).31+check: $(GHOSTTY_STAMP)32+ @scripts/check.sh3533 3634 # gofmt, vet (with the stress benchmarks), staticcheck, shape limits and3735 # the docs checks, at once.3836 lint:3937 scripts/lint.sh4038 39+# Tests that time frames against fixed bounds: make test skips them and40+# make speed runs them alone, as the speed gate.41+TIMED_UI := TestSpeed|TestSharedEditWithinAFrame|TestStreamGridAtFrameSpeed42+TIMED_NBVIEW := TestScrollsAtFrameSpeed43+4144 # The speed gate: frames and recalculation on mid-sized sheets against42-# internal/ui/testdata/speed.json, in about two seconds, alone so that43-# no other package's tests share the CPU. speed-update rewrites the44-# baseline. See docs/contributing/limits.md#the-speed-gate.45+# internal/ui/testdata/speed.json, in about two seconds, and the tests46+# that time frames, alone so that no other tests share the CPU.47+# speed-update rewrites the baseline. See48+# docs/contributing/limits.md#the-speed-gate.4549 speed:46- go test ./internal/ui -run '^TestSpeed$$' -count=1 -speed50+ go test ./internal/ui -run '^($(TIMED_UI))$$' -count=1 -speed51+ go test ./internal/ui/nbview -run '^($(TIMED_NBVIEW))$$' -count=14752 4853 speed-update:4954 go test ./internal/ui -run '^TestSpeed$$' -count=1 -speed-update -v
A scripts/check.sh +51 -0