test: re-home 738_module_decl into UNIT_SOURCES
Go does not distinguish bootstrap observers from unit tests: an in-process test is a unit test. 738 is pure parsefile calls (arena + lexinit + parserinit, AST assertions, zero subprocess or artifact claims) — the 200_parse class, misfiled among the residuals. The fleet partition now reads six units / six bootstrap / three platform and the residual class is empty; COMPILER_WRAPPER_SOURCES drops it by the existing filter-out. Doc roster updated (also refreshes the corpus prose to the current 1745/3490 pin and retires the stale 794-era paragraph).
This commit is contained in:
3
Makefile
3
Makefile
@@ -343,7 +343,8 @@ $(BIN) $(LIB) $(OBJ)/wcc $(OBJ)/ww $(OBJ)/wwdump $(OBJ)/w6c $(OBJ)/w6a $(OBJ)/w6
|
|||||||
# the registration, so adding a case never requires a TESTS edit and a second
|
# the registration, so adding a case never requires a TESTS edit and a second
|
||||||
# per-case Make rule.
|
# per-case Make rule.
|
||||||
UNIT_SOURCES = test/wcc/000_smoke.c test/wcc/100_lex.c \
|
UNIT_SOURCES = test/wcc/000_smoke.c test/wcc/100_lex.c \
|
||||||
test/wcc/200_parse.c test/wcc/300_check.c test/wcc/400_w6c.c
|
test/wcc/200_parse.c test/wcc/300_check.c test/wcc/400_w6c.c \
|
||||||
|
test/wcc/738_module_decl.c
|
||||||
# Ww-native byte/artifact observers: single-file ww tests under
|
# Ww-native byte/artifact observers: single-file ww tests under
|
||||||
# test/byteid/ on the test/testenv helper package (asm-pattern/symbol
|
# test/byteid/ on the test/testenv helper package (asm-pattern/symbol
|
||||||
# windows, .wwi round-trips, inline sources with no corpus twin, the
|
# windows, .wwi round-trips, inline sources with no corpus twin, the
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ categories out of the ordinary developer target.
|
|||||||
|
|
||||||
| Category | Owner |
|
| Category | Owner |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| Arena, lexer, parser, checker, narrow codegen | Five in-process C unit binaries |
|
| Arena, lexer, parser, checker, module-decl parse, narrow codegen | Six in-process C unit binaries |
|
||||||
| Compile success/rejection, stage-routed diagnostics, and runtime exit | `test/wcc/data/*/case.ww`, executed by `wwfixture` |
|
| Compile success/rejection, stage-routed diagnostics, and runtime exit | `test/wcc/data/*/case.ww`, executed by `wwfixture` |
|
||||||
| Package semantics | `test/package` and the native package-test coordinator |
|
| Package semantics | `test/package` and the native package-test coordinator |
|
||||||
| Language behavior | `test/lang/*_test.ww` through the language `@test` runtime |
|
| Language behavior | `test/lang/*_test.ww` through the language `@test` runtime |
|
||||||
@@ -32,20 +32,20 @@ categories out of the ordinary developer target.
|
|||||||
| Fixed point and self-host | `test-bootstrap` |
|
| Fixed point and self-host | `test-bootstrap` |
|
||||||
| Host linker/platform behavior | `test-platform` |
|
| Host linker/platform behavior | `test-platform` |
|
||||||
|
|
||||||
The live declarative compiler corpus has 1,726 fixtures and 3,452 C/WW cells:
|
The live declarative compiler corpus has 1,745 fixtures and 3,490 C/WW cells:
|
||||||
343 expected rejections, 19 compile-only successes, 209 exit-zero
|
346 expected rejections, 21 compile-only successes, 209 exit-zero
|
||||||
programs, and 1,155 explicit-exit programs.
|
programs, and 1,169 explicit-exit programs.
|
||||||
|
|
||||||
16 native C carriers remain. They are partitioned exactly once as five
|
15 native C carriers remain. They are partitioned exactly once into
|
||||||
in-process units, six bootstrap gates, one platform gate
|
the two terminal classes: six in-process units (`738_module_decl`
|
||||||
(`996_dyn_ww`), and four residual survivors, each held by a named
|
re-homed from the residuals — Go does not distinguish "bootstrap
|
||||||
terminal reason: `738_module_decl` (in-process parsefile calls — a
|
observers" from unit tests, and its parsefile-call shape is exactly
|
||||||
C-bootstrap observer misfiled among the residuals; freezes with the
|
the `200_parse` class), six bootstrap gates, and three platform-claim
|
||||||
units at the selfhost flip), `810_dyn` and `989_dynentry_run` (host
|
carriers (`996_dyn_ww` under `test-platform`; `810_dyn` and
|
||||||
loader/glibc claims — platform class), and `794_xmod_ident_prefer`
|
`989_dynentry_run` hold host loader/glibc claims and run with
|
||||||
(pins the OPEN wwstage bare-leaf fn-shadow cgen bug, a #55 sibling;
|
`test-compiler`). The residual class is EMPTY: `794_xmod_ident_prefer`
|
||||||
its cstage-run + wwstage-build-accept assertion set is not
|
— the last bug-pinned survivor — retired with its #55-sibling cgen
|
||||||
fixture-expressible while the bug lives — it retires with the fix).
|
fix (its assertions migrated to `test/xmod/collide_test.ww`).
|
||||||
|
|
||||||
The 2026-08-08 residual drain retired the other 107: 5 deleted against
|
The 2026-08-08 residual drain retired the other 107: 5 deleted against
|
||||||
verified owners, 196 rows migrated into corpus fixtures (700_e2e's 136,
|
verified owners, 196 rows migrated into corpus fixtures (700_e2e's 136,
|
||||||
@@ -71,7 +71,7 @@ The declarative corpus and the native `@test` owners are the permanent
|
|||||||
test surface — the `go/test/` analogy. The native C carrier fleet is the
|
test surface — the `go/test/` analogy. The native C carrier fleet is the
|
||||||
pre-Go-1.5 artifact and shrinks toward exactly two terminal classes:
|
pre-Go-1.5 artifact and shrinks toward exactly two terminal classes:
|
||||||
|
|
||||||
1. **C-bootstrap observers.** The five in-process units watch the C
|
1. **C-bootstrap observers.** The six in-process units watch the C
|
||||||
frontend from inside its own process and are irreplaceable while
|
frontend from inside its own process and are irreplaceable while
|
||||||
`cmd/` is the live frontend. The six bootstrap gates are the same
|
`cmd/` is the live frontend. The six bootstrap gates are the same
|
||||||
class's proof column: they compare the wwstage tools against the C
|
class's proof column: they compare the wwstage tools against the C
|
||||||
@@ -97,7 +97,7 @@ outright; git history is the archive.
|
|||||||
|
|
||||||
| Target | Composition |
|
| Target | Composition |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `test` | Five in-process units plus one compile-only C/WW compiler-fixture smoke case |
|
| `test` | Six in-process units plus one compile-only C/WW compiler-fixture smoke case |
|
||||||
| `test-compiler` | Complete fixture corpus plus residual compiler/integration carriers |
|
| `test-compiler` | Complete fixture corpus plus residual compiler/integration carriers |
|
||||||
| `test-package` | Package planning, grouping, routing, and package runtime only |
|
| `test-package` | Package planning, grouping, routing, and package runtime only |
|
||||||
| `test-lang` | Language-owned `@test` behavior |
|
| `test-lang` | Language-owned `@test` behavior |
|
||||||
@@ -181,7 +181,7 @@ those observations about their coordinator. `test/wwfixture/process/main.ww`
|
|||||||
owns the lower-level `os.exec` primitives, not the CLI policy layered over
|
owns the lower-level `os.exec` primitives, not the CLI policy layered over
|
||||||
them, so it is complementary rather than a duplicate owner.
|
them, so it is complementary rather than a duplicate owner.
|
||||||
|
|
||||||
The five unit sources have zero active `system`, `popen`, `fork`, or `exec`
|
The six unit sources have zero active `system`, `popen`, `fork`, or `exec`
|
||||||
calls. Before direct conversion they contained two `popen` call sites and a full
|
calls. Before direct conversion they contained two `popen` call sites and a full
|
||||||
`test-unit` run launched one `ww -V` plus twelve `w6c` processes. `400_w6c` now
|
`test-unit` run launched one `ww -V` plus twelve `w6c` processes. `400_w6c` now
|
||||||
checks the same twelve assembly fragments in process, grouped under ten unique
|
checks the same twelve assembly fragments in process, grouped under ten unique
|
||||||
|
|||||||
Reference in New Issue
Block a user