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.
99 lines
1.7 KiB
Plaintext
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";
|
|
};
|