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}