test: port 989_lib_byteid to ww; birth test/testenv + test/byteid
test/testenv (package testenv) is the shared plumbing for ww-native test drivers — subprocess launch with captured output, file IO, string search, byte-sorted directory listing, scratch ownership — lifted from the proven package_test.ww idiom; a utility, not a framework. test/byteid/libbyteid_test.ww carries every assertion of the retired C carrier: the 44-entry roster (fixtures + sentinel-guarded import probes + the zero-dep root-only build), both-stage sep builds with the resolved-unit proof, per-package .s concat compare with the empty-concat guard, the ID/DIVERGE/WWREJECT pin discipline, and the lib/ corpus completeness scan (negative-verified against a planted un-enrolled module). Concat order strengthened from shell-glob to explicit byte-lexicographic. The roster fills by cursor-driven field writes because append() rejects struct-call-result sources (#34). Byteid carriers 11 -> 10; docs counts move; test-byteid runs the ww test via the wwtest/ pattern with WW_TEST_REPO.
This commit is contained in:
@@ -36,8 +36,8 @@ The live declarative compiler corpus has 1,495 fixtures and 2,990 C/WW cells:
|
||||
338 expected rejections (314 shared and 24 stage-specific), 17 compile-only
|
||||
successes, 198 exit-zero programs, and 942 explicit-exit programs.
|
||||
|
||||
134 native C carriers remain. They are partitioned exactly once as five
|
||||
in-process units, 11 byte/artifact gates, six bootstrap gates, one platform
|
||||
133 native C carriers remain. They are partitioned exactly once as five
|
||||
in-process units, 10 byte/artifact gates, six bootstrap gates, one platform
|
||||
gate, and 111 residual compiler, package-layout, ABI, diagnostic-observer,
|
||||
driver, linker, or FFI gates. Rows migrated to fixtures or native `@test`
|
||||
owners were removed from those carriers; there is no compatibility execution
|
||||
@@ -46,11 +46,15 @@ was a cstage-vs-wwstage `.s` byte-compare of sources now living in the
|
||||
corpus were retired into the blanket `test-data-byteid` comparator (the
|
||||
last 13 had their remaining inline sources added as fixtures first); the
|
||||
survivors observe something the blanket cannot: assembly patterns, symbol
|
||||
tables, `.wwi` round-trips, or the wwstage-driver leg. Wwstage-driver-leg byte identity (`ww_ww` versus `ww`
|
||||
over the emitted `.s` set) has one owner, `989_lib_byteid`, whose unit
|
||||
sweep spans lib test fixtures, import probes, and a zero-dep root-only
|
||||
build; the former 815/940/951 driver-parity carriers were folded into it,
|
||||
their content identity already owned by their corpus twins.
|
||||
tables, `.wwi` round-trips, or the wwstage-driver leg. Wwstage-driver-leg
|
||||
byte identity (`ww_ww` versus `ww` over the emitted `.s` set) has one
|
||||
owner, now ww-native: `test/byteid/libbyteid_test.ww` on the
|
||||
`test/testenv` helper package, whose unit sweep spans the 44-entry lib
|
||||
roster (test fixtures, sentinel-guarded import probes, a zero-dep
|
||||
root-only build) plus the lib/ completeness scan; the former 815/940/951
|
||||
driver-parity carriers were folded into it, their content identity
|
||||
already owned by their corpus twins, and the native `989_lib_byteid.c`
|
||||
carrier retired with the port.
|
||||
|
||||
## Carrier endgame
|
||||
|
||||
|
||||
Reference in New Issue
Block a user