code wiki / (root) / nx_wflow_posteffect_gate_t230.nx

nx_wflow_posteffect_gate_t230.nx source

↩ module page · 34 lines · 1740 B

1// Exact test-only append fault seam, no deployment or external effect. 2import "nx_wflow_fault_fixture_t230.nx" 3func main()->i64 { 4 let path:*u8=sys_mmap(128) 5 var n:i64=wf_cat(path,0,"/tmp/wflow_fault_t230_") 6 n=wf_catn(path,n,sys_now_realtime_ms());n=wf_cat(path,n,".log");path[n]=0 as u8 7 let cx:*i64=sys_mmap(64) as *i64 8 let s:*i64=sys_mmap(16) as *i64 9 let f:*i64=sys_mmap(8) as *i64 10 f[0]="release|event|-" as *u8 as i64 11 s[0]="release|1|probe-fail|-|1|3" as *u8 as i64 12 s[1]="release|2|probe-fail|-|1|1" as *u8 as i64 13 cx[0]=s as i64;cx[1]=2;cx[2]=path as i64;cx[3]=0;cx[4]=1 14 var bad:i64=0 15 if wf_run_from(cx,"reject-ok","release",0)!=WF_EVIDENCE_ERROR {bad=bad+1} 16 let sz:*i64=sys_mmap(8) as *i64 17 var b:*u8=wf_readall(path,sz) 18 if wf_lines_with2(b,sz[0],"rid=reject-ok ","status=ATT")!=1 {bad=bad+1} 19 if wf_lines_with2(b,sz[0],"rid=reject-ok ","status=OK")!=0 {bad=bad+1} 20 if wf_lines_with2(b,sz[0],"rid=reject-ok ","step=2")!=0 {bad=bad+1} 21 if wf_lines_with2(b,sz[0],"rid=reject-ok ","status=DONE")!=0 {bad=bad+1} 22 if wf_run_from(cx,"reject-done","release",0)!=WF_EVIDENCE_ERROR {bad=bad+1} 23 b=wf_readall(path,sz) 24 if wf_lines_with2(b,sz[0],"rid=reject-done ","status=OK")!=2 {bad=bad+1} 25 if wf_lines_with2(b,sz[0],"rid=reject-done ","status=DONE")!=0 {bad=bad+1} 26 if wf_fire(cx,f,1,"event~id=reject-version")!=WF_EVIDENCE_ERROR {bad=bad+1} 27 if wf_fire(cx,f,1,"event~id=reject-bound")!=WF_EVIDENCE_ERROR {bad=bad+1} 28 b=wf_readall(path,sz) 29 if wf_lines_with2(b,sz[0],"rid=reject-version.release ","status=ATT")!=0 {bad=bad+1} 30 if wf_lines_with2(b,sz[0],"rid=reject-bound.release ","status=ATT")!=0 {bad=bad+1} 31 p("POST-ACTION-EVIDENCE checks=12 failures=");pn(bad);p(" ledger=");p(path);p("\n") 32 if bad!=0 {return 1} 33 return 0 34}