nx_beach_facing_policy_gate_t108.nx source
↩ module page · 33 lines · 3873 B
1import "nx_game_page_material_compose_t55.nx"
2import "nx_gate_verdict.nx"
3func main()->i64 {
4 let c:*i64=gv_ctr();let v:*i64=sys_mmap(24) as *i64
5 gv_check("reordered valid policy" as *u8,gpe_facing_parse("{\"gain_q12_per_tick\":205,\"version\":1,\"radius_q8\":819}" as *u8,53,v)==0,c)
6 gv_check("minimum positive policy" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":1,\"gain_q12_per_tick\":1}" as *u8,49,v)==0,c)
7 gv_check("maximum native policy" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":2147483647,\"gain_q12_per_tick\":12868}" as *u8,62,v)==0,c)
8 gv_check("empty refused" as *u8,gpe_facing_parse("" as *u8,0,v)==-1,c)
9 gv_check("missing field refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819}" as *u8,29,v)==-1,c)
10 gv_check("truncated refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819,\"gain_q12_per_tick\":205" as *u8,52,v)==-1,c)
11 gv_check("duplicate key refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819,\"radius_q8\":205}" as *u8,45,v)==-1,c)
12 gv_check("unknown key refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819,\"extra\":205}" as *u8,41,v)==-1,c)
13 gv_check("trailing document refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819,\"gain_q12_per_tick\":205}{}" as *u8,55,v)==-1,c)
14 gv_check("unsupported version refused" as *u8,gpe_facing_parse("{\"version\":2,\"radius_q8\":819,\"gain_q12_per_tick\":205}" as *u8,53,v)==-1,c)
15 gv_check("fraction refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819.5,\"gain_q12_per_tick\":205}" as *u8,55,v)==-1,c)
16 gv_check("negative refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":-1,\"gain_q12_per_tick\":205}" as *u8,52,v)==-1,c)
17 gv_check("overflow refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":999999999999999999999999,\"gain_q12_per_tick\":205}" as *u8,74,v)==-1,c)
18 gv_check("zero gain refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819,\"gain_q12_per_tick\":0}" as *u8,51,v)==-1,c)
19 gv_check("excess gain refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819,\"gain_q12_per_tick\":12869}" as *u8,55,v)==-1,c)
20 gv_check("trailing comma refused" as *u8,gpe_facing_parse("{\"version\":1,\"radius_q8\":819,\"gain_q12_per_tick\":205,}" as *u8,54,v)==-1,c)
21 let box:*i64=sys_mmap(8) as *i64;let raw:*u8=sys_read_file("/volume1/homes/elderwesto/nishihost/knowledge/facing.conf" as *u8,box)
22 gv_check("actual policy file accepted",gpe_facing_parse(raw,box[0],v)==0&&v[0]==1&&v[1]==819&&v[2]==205,c)
23 let out:*u8=sys_mmap(8192);let n:i64=gpe_facing_policy(out,0)
24 gv_check("actual policy emits native configuration",n>0&&n<8192&&out[0]==(119 as u8),c)
25 let twin:*u8="\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x03\x65\x6e\x76\x06\x6d\x65\x6d\x6f\x72\x79\x02\x03\x01\x02\x00\x01\x00" as *u8
26 gv_check("shared derived identity exact",gpe_mt_declare(twin,29,0 as *u8,1,2)==1&&gpa_same(gpe_mt_sha,64,"7841969ab82bf8aadb39929c1df25b1baf6a200c7f7656ec61c03a867995b9ed",64)==1&&gpe_mt_bytes==29&&gpa_same(gpe_mt_url,gpe_slen(gpe_mt_url),"/releases/craft-mt-7841969ab82bf8aadb39929c1df25b1baf6a200c7f7656ec61c03a867995b9ed.wasm",88)==1,c)
27 gv_check("shared explicit URL retains computed identity",gpe_mt_declare(twin,29,"/world/shared.wasm",1,2)==1&&gpa_same(gpe_mt_url,gpe_slen(gpe_mt_url),"/world/shared.wasm",18)==1&&gpe_mt_bytes==29,c)
28 gv_check("shared invalid limits clear old tuple",gpe_mt_declare(twin,29,0 as *u8,2,1)==0&&gpe_mt_pages==0&&gpe_mt_bytes==0&&(gpe_mt_sha as i64)==0&&(gpe_mt_url as i64)==0,c)
29 gv_check("shared missing bytes refused",gpe_mt_declare(0 as *u8,29,0 as *u8,1,2)==0,c)
30 gv_check("shared URL injection refused",gpe_mt_declare(twin,29,"bad\".wasm",1,2)==0,c)
31 sys_write(1,out,n)
32 return gv_verdict("BEACH-FACING-POLICY",c,"Native parser and emitted policy only; actual compiled simulation/render qualification pending")
33}