test/wcc/data: pin the drained divergences at runtime

The four graduated pin families byte-compared under test-data-byteid
but their original fixtures masked the miscompiles at runtime (lone
frame slot, dead code path, pointer accident). Add the discriminating
programs as run fixtures: adjacent-element clobber for the 2-byte
deref store, second-variant match dispatch for fn-type dedup, payload
integrity across the tagged widen of a padded struct, and base64
clear() actually zeroing its buffers. Corpus pins move to 1,229
fixtures / 137 run / 766 run-exit / 2,458 cells with the new identity
hash; the data-byteid floor moves to 915.
This commit is contained in:
2026-08-07 23:55:01 +09:00
parent 0b1cc5ef7c
commit 8a9be47f65
7 changed files with 94 additions and 9 deletions

View File

@@ -577,7 +577,7 @@ test-lang-byteid: $(BIN)/ww $(BIN)/w6c $(BIN)/w6c_ww
# .s and their both-stage reject parity is owned by the fixture corpus.
DATABYTEID_DIR = $(OUT)/databyteid
DATABYTEID_FILES = $(wildcard test/wcc/data/*/case.ww)
DATABYTEID_EXPECTED_MIN = 911
DATABYTEID_EXPECTED_MIN = 915
# Known cs!=ww divergences (loud over blind, the 989_lib_byteid DIVERGE
# discipline): each entry must still build on both stages AND still differ.
# When a compiler fix lands the entry fails demanding graduation out of