code wiki / (root) / nx_ioae_gate_test_20260907.nx

nx_ioae_gate_test_20260907.nx source

↩ module page · 157 lines · 15179 B

1// LOCAL native gate: deterministic record tests + actual admission bodies with explicit fixture boundaries. 2import "nx_ioae_wiring_test_20260907.nx" 3import "nx_gate_verdict.nx" 4import "nx_build_canon_input_lib.nx" 5const IG_PATH: i64 = 8192 6const IG_EINVAL: i64 = 0-22 7const EFG_DIR_MODE: i64 = 448 8const EFG_PARENT_MAX: i64 = 160 9const EFG_SETUP: i64 = 90 10func ig_len(p: *u8) -> i64 { var n: i64 = 0; while p[n] != (0 as u8) { n = n + 1 } return n } 11func ig_parent(path: *u8) -> i64 { 12 let n: i64 = ig_len(path) 13 if n <= 1 { return 0 } 14 if n >= IG_PATH { return 0 } 15 if path[0] != (BCI_SLASH as u8) { return 0 } 16 if bci_relative_path(path, 1, n-1, IG_PATH-2) != 1 { return 0 } 17 let part: *u8 = sys_mmap(IG_PATH) 18 let probe: *u8 = sys_mmap(IG_PATH) 19 var i: i64 = 0 20 while i <= n { 21 var edge: i64 = 0 22 if i == n { edge = 1 } else { if i > 0 { if path[i] == (BCI_SLASH as u8) { edge = 1 } } } 23 if edge == 1 { 24 part[i] = 0 as u8 25 if sys_readlinkat(part, probe, IG_PATH) != IG_EINVAL { return 0 } 26 } 27 if i < n { part[i] = path[i] } 28 i = i + 1 29 } 30 return 1 31} 32func eg_case(label: *u8, record: *u8, expected: i64, c: *i64) -> i64 { 33 let out: *i64 = sys_mmap(IOAE_BYTES) as *i64 34 let rc: i64 = ioae_select(record,ioa_slen(record),8,10,9,1001,900,out) 35 gv_check_eq(label,rc,expected,c) 36 var selected: i64 = 9 37 if expected == IOAE_CONFIRMED { selected = 4 } 38 gv_check_eq("case preserves fallback or selects verified level",out[IOAE_SELECTED],selected,c) 39 sys_munmap(out as *u8,IOAE_BYTES); return 0 40} 41func main(argc: i64, argv: *i64) -> i64 { 42 if argc != 2 { sys_exit(EFG_SETUP); return EFG_SETUP } 43 let parent: *u8 = argv[1] as *u8 44 if ig_len(parent) > EFG_PARENT_MAX { sys_exit(EFG_SETUP); return EFG_SETUP } 45 if ig_parent(parent) != 1 { sys_exit(EFG_SETUP); return EFG_SETUP } 46 let root: *u8 = sys_mmap(IOAE_PATH_CAP) 47 var p: i64 = ioae_join(parent,"/nishi-ioae-fixture-" as *u8,root) 48 if p < 0 { sys_exit(EFG_SETUP); return EFG_SETUP } 49 let clock: *i64 = sys_mmap(16) as *i64 50 if sys_clock_gettime_real(clock) != 0 { sys_exit(EFG_SETUP); return EFG_SETUP } 51 p = nxi_buf(root,p,clock[0]); root[p] = 45 as u8; p = p+1 52 p = nxi_buf(root,p,clock[1]); root[p] = 0 as u8 53 if sys_mkdir(root,EFG_DIR_MODE) != 0 { sys_exit(EFG_SETUP); return EFG_SETUP } 54 sys_write(1,root,p); sys_write(1,"\n" as *u8,1) 55 if sys_chdir(root) != 0 { sys_exit(EFG_SETUP); return EFG_SETUP } 56 57 let c: *i64 = gv_ctr() 58 let out: *i64 = sys_mmap(IOAE_BYTES) as *i64 59 let h: *i64 = sys_mmap(32) as *i64 60 gv_head("SHARED ADMISSION EVIDENCE AND WIRING" as *u8) 61 eg_case("valid complete record" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_CONFIRMED,c) 62 eg_case("empty" as *u8,"" as *u8,IOAE_INVALID,c) 63 eg_case("missing final newline" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm" as *u8,IOAE_INVALID,c) 64 eg_case("missing ts" as *u8,"ncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 65 eg_case("duplicate ts" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nts=1000\n" as *u8,IOAE_INVALID,c) 66 eg_case("missing ncpu" as *u8,"ts=1000\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 67 eg_case("duplicate ncpu" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nncpu=8\n" as *u8,IOAE_INVALID,c) 68 eg_case("missing blocked_confirmed" as *u8,"ts=1000\nncpu=8\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 69 eg_case("duplicate blocked_confirmed" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nblocked_confirmed=4\n" as *u8,IOAE_INVALID,c) 70 eg_case("missing bar" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 71 eg_case("duplicate bar" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nbar=8\n" as *u8,IOAE_INVALID,c) 72 eg_case("missing confirm_samples" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 73 eg_case("duplicate confirm_samples" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nconfirm_samples=5\n" as *u8,IOAE_INVALID,c) 74 eg_case("missing confirm_requested" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 75 eg_case("duplicate confirm_requested" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nconfirm_requested=5\n" as *u8,IOAE_INVALID,c) 76 eg_case("missing confirm_gap_ms" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 77 eg_case("duplicate confirm_gap_ms" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nconfirm_gap_ms=3000\n" as *u8,IOAE_INVALID,c) 78 eg_case("missing span_ms" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 79 eg_case("duplicate span_ms" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nspan_ms=12000\n" as *u8,IOAE_INVALID,c) 80 eg_case("missing producer" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\n" as *u8,IOAE_INVALID,c) 81 eg_case("duplicate producer" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 82 eg_case("invalid level '-1'" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=-1\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 83 eg_case("invalid level '+4'" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=+4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 84 eg_case("invalid level '4junk'" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4junk\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 85 eg_case("invalid level ' 4'" as *u8,"ts=1000\nncpu=8\nblocked_confirmed= 4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 86 eg_case("invalid level '9223372036854775808'" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=9223372036854775808\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 87 eg_case("invalid level ''" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 88 eg_case("wrong producer" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=other\n" as *u8,IOAE_INVALID,c) 89 eg_case("cpu mismatch" as *u8,"ts=1000\nncpu=9\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 90 eg_case("bar mismatch" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=9\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 91 eg_case("zero samples" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=0\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 92 eg_case("too many requested" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=16\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 93 eg_case("samples exceeds requested" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=4\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 94 eg_case("span mismatch" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=11000\nproducer=nx_ioconfirm\n" as *u8,IOAE_INVALID,c) 95 eg_case("future timestamp" as *u8,"ts=1002\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_FUTURE,c) 96 eg_case("duplicate conflicting level" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\nblocked_confirmed=0\n" as *u8,IOAE_INVALID,c) 97 eg_case("partial sample provenance" as *u8,"ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=7\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8,IOAE_CONFIRMED,c) 98 eg_case("CRLF accepted" as *u8,"ts=1000\r\nncpu=8\r\nblocked_confirmed=4\r\nbar=8\r\nconfirm_samples=5\r\nconfirm_requested=5\r\nconfirm_gap_ms=3000\r\nspan_ms=12000\r\nproducer=nx_ioconfirm\r\n" as *u8,IOAE_CONFIRMED,c) 99 let good: *u8 = "ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=5\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8 100 let partial: *u8 = "ts=1000\nncpu=8\nblocked_confirmed=4\nbar=8\nconfirm_samples=5\nconfirm_requested=7\nconfirm_gap_ms=3000\nspan_ms=12000\nproducer=nx_ioconfirm\n" as *u8 101 gv_check_eq("age boundary accepted",ioae_select(good,ioa_slen(good),8,10,9,1900,900,out),IOAE_CONFIRMED,c) 102 ioae_select(partial,ioa_slen(partial),8,10,9,1001,900,out) 103 let source: *u8 = ioae_source_evidence(out) 104 gv_check_eq("partial receipt explicitly labeled",ioae_eqspan(source,0,ioa_slen(source),"confirmed-partial-samples" as *u8),1,c) 105 gv_check_eq("OFF wrapper never dereferences root",ioae_measure_selected(0 as *u8,0,8,10,10,out),IOAE_OFF,c) 106 gv_check_eq("age beyond boundary stale",ioae_select(good,ioa_slen(good),8,10,9,1901,900,out),IOAE_STALE,c) 107 gv_check_eq("stale keeps build median fallback",out[IOAE_SELECTED],9,c) 108 gv_check_eq("OFF ignores valid record",ioae_select(good,ioa_slen(good),8,10,10,1001,0,out),IOAE_OFF,c) 109 gv_check_eq("OFF keeps instant",out[IOAE_SELECTED],10,c) 110 gv_check_eq("sensor unknown cannot be rescued",ioae_select(good,ioa_slen(good),8,0-1,4,1001,900,out),IOAE_SENSOR,c) 111 gv_check_eq("sensor unknown retains unknown",out[IOAE_SELECTED],0-1,c) 112 gv_check_eq("absent typed read",ioae_select(0 as *u8,IOAE_READ_ABSENT,8,10,9,1001,900,out),IOAE_ABSENT,c) 113 gv_check_eq("read failure typed",ioae_select(0 as *u8,IOAE_READ_IO,8,10,9,1001,900,out),IOAE_IO,c) 114 gv_check_eq("cap full typed",ioae_select(0 as *u8,IOAE_READ_FULL,8,10,9,1001,900,out),IOAE_INVALID,c) 115 gv_check_eq("full length rejected before dereference",ioae_select(0 as *u8,IOAE_CAP,8,10,9,1001,900,out),IOAE_INVALID,c) 116 gv_check_eq("invalid policy",ioae_select(good,ioa_slen(good),8,10,9,1001,0-1,out),IOAE_POLICY,c) 117 gv_check_eq("missing policy key OFF",ioae_policy_record("floor_mb=512\n" as *u8,13),0,c) 118 let policy: *u8 = "confirm_max_age_s=900\n" as *u8 119 gv_check_eq("same age policy",ioae_policy_record(policy,ioa_slen(policy)),900,c) 120 let dup_policy: *u8 = "confirm_max_age_s=900\nconfirm_max_age_s=900\n" as *u8 121 gv_check_eq("duplicate policy invalid",ioae_policy_record(dup_policy,ioa_slen(dup_policy)),0-1,c) 122 ioae_select(good,ioa_slen(good),8,10,10,1001,900,out) 123 let budget: i64 = ioa_spawn_budget(8,out[IOAE_SELECTED],1,1) 124 gv_check_eq("selected4 spawn budget3",budget,3,c) 125 gv_check_eq("actual hio entry uses selected budget",hio_admit_budget(budget,h),HIO_ADMIT,c) 126 gv_check_eq("same budget reaches hio output",h[HIO_O_STORM],budget,c) 127 gv_check_eq("hio took no second pressure sample",eg_instant_calls,0,c) 128 gv_check_eq("config parent root",eg_path_ok,1,c) 129 gv_check_eq("lease parent root",eg_root_ok,1,c) 130 gv_check_eq("one pool acquisition",eg_pool_calls,1,c) 131 gv_check_eq("selected4 build IO admits",ba_verdict(1024,512,100,800,1,8,4,8),0,c) 132 gv_check_eq("cutoff7 publisher refuses",ioa_spawn_budget(8,7,1,1),0,c) 133 gv_check_eq("cutoff7 build admits",ba_verdict(1024,512,100,800,1,8,7,8),0,c) 134 gv_check_eq("cutoff8 build queues",ba_verdict(1024,512,100,800,1,8,8,8),BA_EXIT_QUEUE,c) 135 gv_check_eq("memory deny unchanged",ba_verdict(10,512,100,800,1,8,4,8),BA_EXIT_DENY,c) 136 gv_check_eq("zero budget before lease",hio_admit_budget(0,h),HIO_DEFER,c) 137 gv_check_eq("zero budget acquired no lease",eg_pool_calls,1,c) 138 gv_check_eq("unknown budget stays unknown",hio_admit_budget(0-1,h),HIO_UNOBSERVABLE,c) 139 gv_check_eq("unknown budget acquired no lease",eg_pool_calls,1,c) 140 eg_pool_result = HIO_POOL_NONE 141 gv_check_eq("pool exhaustion still defers",hio_admit_budget(3,h),HIO_DEFER,c) 142 eg_root_mode = 0 143 gv_check_eq("missing root unknown",hio_admit_budget(3,h),HIO_UNOBSERVABLE,c) 144 gv_check_eq("missing root retains selected budget",h[HIO_O_STORM],3,c) 145 eg_root_mode = 1 146 var repeat: i64 = 0 147 while repeat < 100 { 148 hio_admit_budget(repeat%3,h) 149 repeat = repeat+1 150 } 151 gv_check_eq("repeated entry workspace fully released",eg_live_work,0,c) 152 gv_check_eq("entry allocation release balance",eg_allocations,eg_releases,c) 153 gv_check_eq("correct pointer and successful actual unmap",eg_lifecycle_error,0,c) 154 gv_check_eq("no later hidden pressure sample",eg_instant_calls,0,c) 155 let rc: i64 = gv_verdict("SHARED-IO-EVIDENCE",c,"record and actual admission body fixtures only; no real pool, publication or performance claim" as *u8) 156 sys_exit(rc); return rc 157}