test: ww-stage asserttyped gap-corpus probe (901)
The wwstage checker's asserttyped pass currently only WARNS on nil-typed nodes (a check-bail-discipline regression). Before re-arming it to a bail, this probe pins the warn set so the re-arm is verifiable — the live ww-driver suite is blind to it (the stdlib _run tests use the cstage ww driver, no asserttyped; 990 feeds only -t/-a). 901 runs the ww-stage checker (wwdump_ww -c) over the gap-bearing combined.ww fixtures and asserts the asserttyped warn count per fixture against a manifest: checked 0 (closed-root sentinel), smoke 3 (fn-ptr field call), utf8 8 (abort intrinsic), fnmatch 2 + random 16 (module-leaf==type/fn collision). Each subsequent stamping fold drives a count to 0 and edits its manifest line; the bail is safe to arm when all reach 0. A new nil-gap or a regressed class fails loud (mutation-tested both directions). Test-infra only — no compiler change.
This commit is contained in:
6
Makefile
6
Makefile
@@ -365,7 +365,8 @@ TESTS = $(BIN)/test_smoke $(BIN)/test_lex $(BIN)/test_parse $(BIN)/test_check \
|
||||
$(BIN)/test_opaque_guards \
|
||||
$(BIN)/test_opaque_assign_cast_run \
|
||||
$(BIN)/test_sort_run \
|
||||
$(BIN)/test_bufio_run $(BIN)/test_random_run
|
||||
$(BIN)/test_bufio_run $(BIN)/test_random_run \
|
||||
$(BIN)/test_asserttyped_gap
|
||||
|
||||
$(BIN)/test_smoke: test/wcc/000_smoke.c $(LIB)/libwcc.a | $(BIN)
|
||||
$(CC) $(CFLAGS) $(INCS) -o $@ $< -L$(LIB) -lwcc
|
||||
@@ -992,6 +993,9 @@ $(BIN)/test_self_rebuild: test/wcc/995_self_rebuild.c $(BIN)/ww_ww \
|
||||
$(BIN)/test_selfcheck: test/wcc/950_selfcheck.c $(BIN)/wwdump_ww | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN)/test_asserttyped_gap: test/wcc/901_asserttyped_gap.c $(BIN)/wwdump_ww | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN)/test_dyn_ww: test/wcc/996_dyn_ww.c $(BIN)/ww $(BIN)/w6l $(BIN)/w6l_ww \
|
||||
$(LIB)/libwwrt.a | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
Reference in New Issue
Block a user