code wiki / _hdl_build / nx_board_gate.nx

nx_board_gate.nx source

↩ module page · 65 lines · 2871 B

1// nx_board_gate.nx -- proves the board base scaffold. Dogfoods gv_ (gate base) AND nx_estr (emit base) -- 2// a base-class organ proven via two OTHER base classes = the composition working. license_tier: ORIGINAL 3import "nx_board.nx" 4import "nx_gate_verdict.nx" 5const K_MAGIC_8192: i64 = 8192 6const K_MAGIC_8000: i64 = 8000 7 8// substring present? 9func bg_has(buf: *u8, n: i64, needle: *u8) -> i64 { 10 let m: i64 = es_len(needle) 11 if m == 0 { return 1 } 12 var i: i64 = 0 13 while i + m <= n { 14 var k: i64 = 0 15 while k < m { if buf[i + k] != needle[k] { k = m + 9 } else { k = k + 1 } } 16 if k == m { return 1 } 17 i = i + 1 18 } 19 return 0 20} 21 22func main() -> i64 { 23 let ctr: *i64 = gv_ctr() 24 gv_head("nx_board -- shared base for the _board family (HTML scaffold + JSON envelope + atomic publish)" as *u8) 25 let b: *u8 = sys_mmap(K_MAGIC_8192) 26 27 // T1 HTML page scaffold well-formed 28 var o: i64 = bd_page_open(b, 0, "Demo" as *u8) 29 o = bd_h(b, o, 2, "Hello" as *u8) 30 o = bd_page_close(b, o) 31 b[o] = 0 as u8 32 var t1: i64 = 0 33 if bg_has(b, o, "<!doctype html>" as *u8) == 1 { if bg_has(b, o, "<h2>Hello</h2>" as *u8) == 1 { if bg_has(b, o, "</body></html>" as *u8) == 1 { t1 = 1 } } } 34 gv_check("T1 bd_page_open/bd_h/bd_page_close emit well-formed HTML (doctype + <h2>Hello</h2> + close)" as *u8, t1, ctr) 35 36 // T2 JSON envelope + kv 37 o = bd_json_open(b, 0, "demo" as *u8, "Board" as *u8) 38 o = bd_json_kvn(b, o, "count" as *u8, 42) 39 b[o] = 125 as u8; o = o + 1 40 b[o] = 0 as u8 41 var t2: i64 = 0 42 if bg_has(b, o, "{\"v\":1,\"domain\":\"demo\"" as *u8) == 1 { if bg_has(b, o, ",\"count\":42}" as *u8) == 1 { t2 = 1 } } 43 gv_check("T2 bd_json_open + bd_json_kvn emit a valid envelope ({v,domain,title} + ,count:42})" as *u8, t2, ctr) 44 45 // T3 atomic publish round-trips + no .tmp residue 46 let path: *u8 = "/tmp/nx_board_t.html\x00" as *u8 47 bd_write_atomic(path, b, o) 48 let rb: *u8 = sys_mmap(K_MAGIC_8192) 49 let fd: i64 = sys_openat_rd(path) 50 var t3: i64 = 0 51 if fd >= 0 { 52 let rn: i64 = sys_read(fd, rb, K_MAGIC_8000) 53 sys_close(fd) 54 if rn == o { var same: i64 = 1; var i: i64 = 0; while i < o { if rb[i] != b[i] { same = 0; i = o } else { i = i + 1 } } t3 = same } 55 } 56 gv_check("T3 bd_write_atomic writes the exact bytes (tmp+rename round-trip)" as *u8, t3, ctr) 57 58 // T4 anti-vacuity: a page WITHOUT the content must NOT falsely match (bg_has really discriminates) 59 var t4: i64 = 0 60 if bg_has(b, o, "NEVER_PRESENT_MARKER" as *u8) == 0 { t4 = 1 } 61 gv_check("T4 anti-vacuity: the substring check rejects an absent marker (not vacuously true)" as *u8, t4, ctr) 62 63 let rc: i64 = gv_verdict("NX-BOARD-GATE" as *u8, ctr, "board base scaffold proven -- composes nx_estr; the _board family consolidation target" as *u8) 64 return rc 65}