test/lang: absorb retired-carrier coverage

local_zeroinit_test.ww takes the 840/944 zero-init seam (dirty-frame
prime and probe share one @test because the runtime forks per test);
alias_cgen_b6, alloc_nested_field, array_static_init, and
strarray_static gain the rows their retired wrappers held; the
remaining files re-point reject-row citations at the r788_* and
stage-matrix fixtures.
This commit is contained in:
2026-08-07 23:02:56 +09:00
parent a95a7a316b
commit 1a57de6ffe
8 changed files with 247 additions and 18 deletions

View File

@@ -7,7 +7,8 @@
// .len-only check would miss a wrong/swapped element relocation. The empty-slot
// and `...` repeat-suffix rows pin that an empty element doesn't shift the
// following element's reloc and that the repeat-fill row's DATAR resolves to the
// last explicit element.
// last explicit element. The under-length row separately pins that omitted
// elements have zero-length headers rather than replaying the last string.
package strarray_static_test;
@@ -16,6 +17,7 @@ let TPTR: [3]str = ["A", "B", "C"];
let TVAR: [3]str = ["xx", "yyy", "z"];
let TEMP: [2]str = ["", "Z"];
let TREP: [3]str = ["X", "Y"...];
let TTAIL: [4]str = ["ab", "cde"];
@test fn strtab_len() void = {
assert((TLEN[0].len + TLEN[1].len + TLEN[2].len): i32 == 6);
@@ -42,3 +44,10 @@ let TREP: [3]str = ["X", "Y"...];
let p: *u8 = TREP[2].ptr;
assert((*p): i32 == 89);
};
@test fn strtab_zero_tail() void = {
assert(TTAIL[0].len == 2);
assert(TTAIL[1].len == 3);
assert(TTAIL[2].len == 0);
assert(TTAIL[3].len == 0);
};