code wiki / _hdl_build / nx_treepack_overwrite_gate.nx
nx_treepack_overwrite_gate.nx
buildroot/runtime/_hdl_build/nx_treepack_overwrite_gate.nx
about
nx_treepack_overwrite_gate.nx -- regression gate for the seq142/seq124 STALE-SOURCE root: nx_treepack unpack
must OVERWRITE existing destination files even when the existing file denies O_TRUNC (mixed-ownership /
read-only buildroot survivors), by unlink-then-recreate; and must FAIL LOUD (nonzero exit + named path) when
even that is impossible. Runs the REAL /tmp/nx_treepack.sov.elf as a child -- gates the shipped binary, not a
reimplementation. T1 fresh round-trip / T2 plain overwrite / T3 read-only-file overwrite (THE stale-source
repro) / T4 unwritable-dir = loud failure, old bytes intact.
license_tier: ORIGINAL expect_exit: 0
dependencies 1 imports · 0 importers
imports: nx_syscalls.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 10 | func g_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 11 | func g_pn(v: i64) -> i64 { let b: *u8=sys_mmap(32) as *u8; var x: i64=v; var ng: i64=0; if x<0{ng=1;x=0-x} var i: i64=31; if x==0{b[i]=48 as u8;i=i-1} while x>0{b[i]=(48+x%10) as u8;x=x/10;i=i-1} if ng==1{b[i]=45 as u8;i=i-1} sys_write(1,(b as i64+i+1) as *u8,31-i); return 0 } |
| 12 | func g_chmod(path: *u8, mode: i64) -> i64 { return sys_fchmodat(path, mode) } |
| 13 | func g_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } |
| 14 | func g_wfile(path: *u8, content: *u8) -> i64 |
| 22 | func g_expect(path: *u8, want: *u8) -> i64 |
| 33 | func g_run(a1: *u8, a2: *u8, a3: *u8) -> i64 |
| 49 | func g_run_in(dir: *u8, a1: *u8, a2: *u8, a3: *u8) -> i64 |
| 66 | func main() -> i64 |