Files
ww/internal/wwfixture/types.ww
Hojun-Cho 934f19f884 test: own the 926/929/671 run legs as corpus fixtures
The three carriers retired this session moved their compile/byte-id/
asm-marker legs to test/asm/tagsret_test.ww, test/asm/memarg_test.ww,
and test/misc/packedwwi_test.ww, and audit-assigned their run-exit
legs to corpus fixtures that were never created. Create them, sources
byte-faithful to the carriers' row tables; every fixture also rides
the corpus byte-id sweep, which stayed green (no new DATABYTEID pin).

926_tagged_sret_run.c run rows (all exit 0):
  wide_lit_roundtrip          -> r926_sret_wide_lit_roundtrip
  wide_local_roundtrip        -> r926_sret_wide_local_roundtrip
  wide_assign_receive         -> r926_sret_wide_assign_receive
  wide_match_scrutinee        -> r926_sret_wide_match_scrutinee
  wide_forward_exact          -> r926_sret_wide_forward_exact
  wide_str_error_variant      -> r926_sret_wide_str_error_variant
  wide_multicall              -> r926_sret_wide_multicall
  wide_bare_return_void       -> r926_sret_wide_bare_return_void
  wide_s4_repro               -> r926_sret_wide_s4_repro
  errno_shaped_tail_read      -> r926_sret_errno_shaped_tail_read
  boundary_s3_register        -> r926_sret_boundary_s3_register
  boundary_str_nomem_register -> r926_sret_boundary_str_nomem_register
  wide_discard_stmt           -> r926_sret_wide_discard_stmt
(the seven buildfail rows stay with r926_sret_reject_*.)

929_tagged_memarg_run.c run rows (exit 0 unless noted):
  mem56_ident_allvariants  -> r929_memarg_mem56_ident_allvariants
  mem64_ident_lateword     -> r929_memarg_mem64_ident_lateword
  mem56_widen_concrete     -> r929_memarg_mem56_widen_concrete
  mem56_subset_remap       -> r929_memarg_mem56_subset_remap
  mem56_srcshapes          -> r929_memarg_mem56_srcshapes
  mem56_mixed_orders       -> r929_memarg_mem56_mixed_orders
  mem56_call_in_loop       -> r929_memarg_mem56_call_in_loop
  mem56_twomem             -> r929_memarg_mem56_twomem
  mem56_inst_shape         -> r929_memarg_mem56_inst_shape
  mem56_elem_source        -> r929_memarg_mem56_elem_source
  mem56_elem_deref_spine   -> r929_memarg_mem56_elem_deref_spine
  mem56_elem_nested_spine  -> r929_memarg_mem56_elem_nested_spine
  mem56_elem_mixed_regs    -> r929_memarg_mem56_elem_mixed_regs
  mem56_elem_callidx_twomem -> r929_memarg_mem56_elem_callidx_twomem
  mem56_elem_global_slice  -> r929_memarg_mem56_elem_global_slice
  boundary48_register      -> r929_memarg_boundary48_register
  global_uninit_memarg_src -> r929_memarg_global_uninit_memarg_src (91)
  memarg_idcast_peeled     -> r929_memarg_idcast_peeled
(the four buildfail rows stay with r929_memarg_reject_*.)

671_struct_packed.c value rows (exit = layout value):
  unpacked_size    -> r671_unpacked_size (16)
  packed_size      -> r671_packed_size (9)
  packed_off_b     -> r671_packed_off_b (1)
  unpacked_off_b   -> r671_unpacked_off_b (8)
  packed_align     -> r671_packed_align (8)
  packed5_size     -> r671_packed5_size (5)
  packed5_off_b    -> r671_packed5_off_b (1)
  p3_packed_size   -> r671_p3_packed_size (4)
  p3_packed_off_c  -> r671_p3_packed_off_c (3)
  p3_unpacked_size -> r671_p3_unpacked_size (6)
  field_roundtrip  -> r671_field_roundtrip (6)
  arr_stride_size  -> r671_arr_stride_size (15)
  arr_stride_run   -> r671_arr_stride_run (33)
  byval_arg        -> r671_byval_arg (107)
  frame_offset     -> r671_frame_offset (20)
Owner-cited, no fixture: wwi_roundtrip needs a real multi-file -I
tree (a single-file two-package form emits no .wwi), owned by
test/misc/packedwwi_test.ww wwiroundtrip (exit 91 on both drivers);
identity_reject is stage-asymmetric, owned there as identityreject.

Pins: corpuscount 1680 -> 1726, runexitcount 1109 -> 1155,
nativecount 3360 -> 3452, corpushash refreshed.
2026-08-08 15:14:25 +09:00

99 lines
1.7 KiB
Plaintext

package wwfixture;
def protocolversion: i32 = 1;
def corpuscount: i32 = 1726;
def errorcount: i32 = 343;
def compilecount: i32 = 19;
def runcount: i32 = 209;
def runexitcount: i32 = 1155;
def nativecount: i32 = 3452;
def corpushash: str = "870ba4f5140ef331e9effb7cf21fcebe69b5f29d1177cf158e6a1b6db71e9d28";
type directive = enum i32 {
ERROR = 0,
RUN = 1,
RUNEXIT = 2,
COMPILE = 3,
};
type stage = enum i32 {
C = 0,
WW = 1,
};
type phase = enum i32 {
COMPILE = 0,
BUILD = 1,
RUN = 2,
};
type verdict = enum i32 {
PASS = 0,
FAIL = 1,
ERROR = 2,
};
type termination = enum i32 {
EXIT = 0,
SIGNAL = 1,
TIMEOUT = 2,
SETUP = 3,
};
type fixture = struct {
name: str,
id: str,
source: str,
directive: directive,
diagnostic: str,
wwdiagnostic: str,
exitcode: i32,
};
type corpus = struct {
root: str,
fixtures: []fixture,
};
type identity = struct {
ordinal: i32,
fixtureindex: i32,
stage: stage,
};
type cellresult = struct {
ordinal: i32,
id: str,
stage: stage,
phase: phase,
verdict: verdict,
termination: termination,
code: i32,
durationns: i64,
capture: str,
};
fn stageword(s: stage) str = {
if (s == stage.C) { return "c"; };
return "ww";
};
fn phaseword(p: phase) str = {
if (p == phase.COMPILE) { return "compile"; };
if (p == phase.BUILD) { return "build"; };
return "run";
};
fn verdictword(v: verdict) str = {
if (v == verdict.PASS) { return "pass"; };
if (v == verdict.FAIL) { return "fail"; };
return "error";
};
fn terminationword(t: termination) str = {
if (t == termination.EXIT) { return "exit"; };
if (t == termination.SIGNAL) { return "signal"; };
if (t == termination.TIMEOUT) { return "timeout"; };
return "setup";
};