test: birth test/misc + port the arrglob DATAW observer; retire 689_arrglob_nodup_run

test/misc hosts the residual mixed-shape observers (divergence pins,
stamp/stderr probes, .wwi trees) on testenv, wired into test-compiler
beside the sep/xmod/asm families; its rule declares both full
per-stage toolchains plus the wwdump twins for the coming files.
The 689 port keeps the both-driver run-exit-6 backstop and the
per-stage absolute DATAW row count (linker dedup and byte-id sweeps
are both blind to a symmetric double-emit).
This commit is contained in:
2026-08-08 15:02:43 +09:00
parent bec4340c44
commit aab9ec5e5f
3 changed files with 114 additions and 178 deletions

View File

@@ -400,6 +400,15 @@ ASM_WW_TARGETS = $(ASM_WW_TESTS:%=wwtest/%)
OBJECT_WW_TESTS = test/object/elfobj_test.ww test/object/link_test.ww \
test/object/archive_test.ww test/object/asmgate_test.ww
OBJECT_WW_TARGETS = $(OBJECT_WW_TESTS:%=wwtest/%)
# Ww-native misc observers: single-file ww tests under test/misc/ on
# the test/testenv helper package, porting the residual mixed-shape C
# carriers (per-stage divergence pins, wwstage stamp-diagnostic and
# run-stderr probes, .wwi round-trip trees, tool-dump AST proofs,
# cstage-only rejects). Compiler/driver gates like test/sep: they run
# under test-compiler.
MISC_WW_TESTS = test/misc/arrglob_test.ww
MISC_WW_TARGETS = $(MISC_WW_TESTS:%=wwtest/%)
BOOTSTRAP_WRAPPER_SOURCES = test/wcc/950_selfcheck.c \
test/wcc/991_w6a_ww.c \
test/wcc/992_w6l_ww.c test/wcc/993_ww_ww.c \
@@ -486,7 +495,7 @@ test-compiler-smoke: $(WWFIXTURE_BIN) $(BIN)/w6c_ww $(BIN)/w6a_ww \
# ww-native sep observers that replaced the 989_sep* carriers.
test-compiler: $(WWFIXTURE_BIN) $(WRAPPER_TOOLS) $(COMPILER_WRAPPER_BINS) \
$(SEP_WW_TARGETS) $(XMOD_WW_TARGETS) $(ASM_WW_TARGETS) \
$(OBJECT_WW_TARGETS)
$(OBJECT_WW_TARGETS) $(MISC_WW_TARGETS)
@$(CURDIR)/$(WWFIXTURE_BIN) -j $(JOBS)
@set -e; for t in $(COMPILER_WRAPPER_BINS); do \
echo "compiler artifact $$t"; BIN=$(CURDIR)/$(BIN) $(CURDIR)/$$t; \
@@ -568,6 +577,17 @@ $(OBJECT_WW_TARGETS): wwtest/%: $(BIN)/ww $(BIN)/w6c $(BIN)/w6a \
-w $(WWBUILD)/wwtest/$(subst /,_,$*) \
-I $(CURDIR)/test $*
# The misc observers drive both driver stages end-to-end plus the
# wwdump twins, so both full per-stage toolchains are prerequisites.
$(MISC_WW_TARGETS): wwtest/%: $(BIN)/ww $(BIN)/w6c $(BIN)/w6a $(BIN)/w6l \
$(LIB)/libwwrt.a $(BIN)/ww_ww $(BIN)/w6c_ww $(BIN)/w6a_ww \
$(BIN)/w6l_ww $(BIN)/wwdump $(BIN)/wwdump_ww
@echo "ww test $*"
@mkdir -p $(WWBUILD)/wwtest/$(subst /,_,$*)
@WW_TEST_REPO=$(CURDIR) $(BIN)/ww test \
-w $(WWBUILD)/wwtest/$(subst /,_,$*) \
-I $(CURDIR)/test $*
test-lang: $(LANG_TEST_TARGETS)
test-library: $(LIBRARY_TEST_TARGETS) $(BIN)/w6c $(BIN)/w6c_ww \