test/wcc: c6 dual-path sep==combined soak gate (#46)
Make the sep-compile == combined-compile output equivalence a standing regression test — the last criterion before M4 can delete the combined.ww embedding model. 989_c6soak_run (phase-1): Tier-A/B + same-leaf collision soak. Two real roots (utf8: encoding.utf8 dotted-path + strings; collide: strings.contains + bytes.contains) built both ways with isolated cold WW_PKGCACHE; asserts combined-run-exit == sep-run-exit on both drivers, cs==ww per-pkg .s/.wwi, and two distinct collision labels. 994_w6c_ww (phase-2): Tier-C folded into the existing w6c byte-id oracle. A sep-built w6c emits byte-identical .s to a combined-built w6c on all five bootstrap targets (w6c/wwdump/w6a/w6l/ww .combined.ww); .wwi is in the compare set. The tool binaries themselves differ by a benign constant link-layout delta — the oracle is tool OUTPUT, not tool-binary identity. Test-only; the five wwstage binary pins are unchanged.
This commit is contained in:
21
Makefile
21
Makefile
@@ -568,6 +568,7 @@ TESTS = $(BIN)/test_smoke $(BIN)/test_lex $(BIN)/test_parse $(BIN)/test_check \
|
||||
$(BIN)/test_sepcycle_dup \
|
||||
$(BIN)/test_separchive_run \
|
||||
$(BIN)/test_pkgcache_run \
|
||||
$(BIN)/test_c6soak_run \
|
||||
$(BIN)/test_floatlit_run \
|
||||
$(BIN)/test_checked_run \
|
||||
$(BIN)/test_floatarr_run \
|
||||
@@ -2918,7 +2919,14 @@ $(BIN)/test_w6l_ww: test/wcc/992_w6l_ww.c $(BIN)/w6l $(BIN)/w6l_ww \
|
||||
$(LIB)/libwwrt.a | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN)/test_w6c_ww: test/wcc/994_w6c_ww.c $(BIN)/w6c_ww $(BIN)/wwdump_ww | $(BIN)
|
||||
# Tier-C fold (#46 c6): the sep-build legs drive BOTH tool trios — the cstage
|
||||
# `ww --sep` shells out to w6c/w6a/w6l (toolpath self_dir), the wwstage
|
||||
# `ww_ww --sep` to the _ww trio — plus both drivers + libwwrt.
|
||||
$(BIN)/test_w6c_ww: test/wcc/994_w6c_ww.c $(BIN)/w6c_ww $(BIN)/wwdump_ww \
|
||||
$(BIN)/ww $(BIN)/ww_ww \
|
||||
$(BIN)/w6c $(BIN)/w6a $(BIN)/w6l \
|
||||
$(BIN)/w6a_ww $(BIN)/w6l_ww \
|
||||
$(LIB)/libwwrt.a | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN)/test_ww_ww: test/wcc/993_ww_ww.c $(BIN)/ww $(BIN)/ww_ww \
|
||||
@@ -3200,6 +3208,17 @@ $(BIN)/test_pkgcache_run: test/wcc/989_pkgcache_run.c $(BIN)/ww $(BIN)/ww_ww \
|
||||
$(BIN)/w6l $(BIN)/w6l_ww $(LIB)/libwwrt.a | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
# 989_c6soak_run — M3-tail commit-6 dual-path soak gate, phase-1 leg (#46
|
||||
# c6). Builds real lib chains (encoding.utf8 dotted + strings/bytes same-leaf
|
||||
# `contains`) BOTH combined and --sep, asserts combined==sep run-equivalence
|
||||
# (the M4 behavioral oracle, NOT binary identity), cs==ww per-pkg .s/.wwi, and
|
||||
# the §3 distinct-label non-vacuity. Needs both driver + both compiler + both
|
||||
# linker stages + libwwrt.a. (Tier-C capstone folds into 994_w6c_ww.)
|
||||
$(BIN)/test_c6soak_run: test/wcc/989_c6soak_run.c $(BIN)/ww $(BIN)/ww_ww \
|
||||
$(BIN)/w6c $(BIN)/w6c_ww $(BIN)/w6a $(BIN)/w6a_ww \
|
||||
$(BIN)/w6l $(BIN)/w6l_ww $(LIB)/libwwrt.a | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN)/test_floatlit_run: test/wcc/989_floatlit_run.c $(BIN)/ww $(BIN)/w6c \
|
||||
$(BIN)/w6c_ww $(BIN)/w6a $(BIN)/w6l $(LIB)/libwwrt.a | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
Reference in New Issue
Block a user