code wiki / _hdl_build / nx_dune_page_recipe_gate_t70.nx

nx_dune_page_recipe_gate_t70.nx source

↩ module page · 43 lines · 1908 B

1import "nx_game_page_material_compose_t55.nx" 2import "nx_gate_verdict.nx" 3func dp_case(pair: *u8,expected: i64,ctr: *i64) -> i64 { 4 let path: *u8 = "/tmp/nx_dune_recipe_boundary_t70.conf" as *u8 5 let fd: i64 = sys_openat_wr(path,420) 6 if fd < 0 { return gv_check("private fixture write available" as *u8,0,ctr) } 7 let prefix: *u8 = "dune\t2\t20260728\t/tmp/dune-t70.html\tDUNE\tcontrols\t" as *u8 8 let pn: i64 = gpe_slen(prefix); let vn: i64 = gpe_slen(pair) 9 let a: i64 = sys_write(fd,prefix,pn) 10 let b: i64 = sys_write(fd,pair,vn) 11 let c: i64 = sys_write(fd,"\n" as *u8,1) 12 sys_close(fd) 13 if a != pn || b != vn || c != 1 { return gv_check("private fixture complete" as *u8,0,ctr) } 14 let rows: *i64 = sys_mmap(GPR_MAXW*8*8) as *i64 15 let result: i64 = gpe_recipes_load(path,rows) 16 gv_puts(" recipe=" as *u8); gv_puts(pair); gv_puts("\n" as *u8) 17 gv_check_eq("actual page recipe parser result",result,expected,ctr) 18 sys_munmap(rows as *u8,GPR_MAXW*8*8) 19 return result 20} 21func main() -> i64 { 22 let ctr: *i64 = gv_ctr() 23 gv_head("DUNE PAGE RECIPE / real parser and shared validator" as *u8) 24 dp_case("79:0" as *u8,1,ctr) 25 dp_case("79:268435455" as *u8,1,ctr) 26 dp_case("79:16385" as *u8,1,ctr) 27 dp_case("79:33653504" as *u8,1,ctr) 28 dp_case("79:00033653504" as *u8,1,ctr) 29 dp_case("79:268435456" as *u8,0-1,ctr) 30 dp_case("79:16384" as *u8,0-1,ctr) 31 dp_case("79:12289" as *u8,0-1,ctr) 32 dp_case("79:" as *u8,0-1,ctr) 33 dp_case("79:-1" as *u8,0-1,ctr) 34 dp_case("79:9223372036854775808" as *u8,0-1,ctr) 35 dp_case("79:18446744073743205120" as *u8,0-1,ctr) 36 dp_case("79:99999999999999999999999999999999999999999" as *u8,0-1,ctr) 37 dp_case("62:1" as *u8,0-1,ctr) 38 dp_case("69:1" as *u8,0-1,ctr) 39 dp_case("80:1" as *u8,0-1,ctr) 40 dp_case("70:1" as *u8,1,ctr) 41 dp_case("0:11,79:33653504" as *u8,1,ctr) 42 return gv_verdict("DUNE-PAGE-RECIPE" as *u8,ctr,"actual parser only; served startup and GPU acceptance separate" as *u8) 43}