From bb4ff6e27fce290c2091301f7b6e184d1b04e326 Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Mon, 22 Jun 2026 08:31:06 +0900 Subject: [PATCH] make: wire test-lang (T1) into make test + test-commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit test-lang runs each test/lang/*_test.ww @test through the cstage ww driver (the runtime value-assert leg, T1). It existed as a standalone target but was not in any aggregate gate, so the pre-push gate carried only test-lang-byteid (T2) for these families — and T2 is compile-only (-c, .s byte-id), blind to a both-stages-wrong value. Wiring T1 in gives make test and test-commit the runtime value coverage that the test/wcc .c twins currently provide, the precondition for retiring those twins. Kept out of test-unit (inner loop stays fast) and run-always in test-commit (NOT in the content-key skip set — caching a value gate reintroduces silent-skip-of-value). Isolated WW_PKGCACHE=$(OUT)/langcache so concurrent make -j cannot corrupt the default cache. --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9d85575e..e5cbf771 100644 --- a/Makefile +++ b/Makefile @@ -3659,7 +3659,7 @@ sizelint: peellint: @sh tools/peellint -test: all sizelint peellint $(TESTS) test-lang-byteid +test: all sizelint peellint $(TESTS) test-lang test-lang-byteid @WW=$(BIN)/ww BIN=$(BIN) sh test/run test-unit: all sizelint peellint $(TESTS) @@ -3683,7 +3683,7 @@ test-run: all # NOT yet wired into `make test` (fold 6, gated on the T1 corpus). test-lang: all @set -e; for f in $(wildcard test/lang/*_test.ww); do \ - echo "ww test $$f"; $(BIN)/ww test $$f; \ + echo "ww test $$f"; WW_PKGCACHE=$(OUT)/langcache $(BIN)/ww test $$f; \ done; echo "test-lang: all ok" # ---- test-lang-byteid: T2 cross-stage .s byte-id gate (fold 4) --------- @@ -3754,7 +3754,7 @@ test-lang-byteid: all # silent skip. NOT a substitute for the push bar: `make test` stays the # no-skip bootstrap gate. Cache lives in out/.testcache (gitignored, wiped # by `make clean`); a green `make test` primes it. See test/run. -test-commit: all sizelint peellint $(TESTS) +test-commit: all sizelint peellint $(TESTS) test-lang @WW=$(BIN)/ww BIN=$(BIN) COMMIT=1 sh test/run # ---- smoke: inner-loop cross-stage byte-id check on a SMALL input ------