code wiki / (root) / nx_selected_edge_canonical_cli_gate_t139.nx

nx_selected_edge_canonical_cli_gate_t139.nx source

↩ module page · 32 lines · 3925 B

1import "nx_comparestale_lib.nx" 2import "nx_tool_run.nx" 3import "nx_gate_verdict.nx" 4const CC_OUTPUT: i64=CD_SCHEMA_FIELDS*(CD_HASH_CHARS+CD_JSON_INTEGER_CHARS)*CD_JSON_ESCAPE_EXPANSION+4*SYS_PATH_MAX*CD_JSON_ESCAPE_EXPANSION 5func cc_run(exe: *u8,cwd: *u8,av: *i64,expected: i64,needle: *u8,ctr: *i64,label: *u8) -> i64 { 6 let output: *u8=sys_mmap_shared(CC_OUTPUT);let length: *i64=sys_mmap_shared(16) as *i64 7 let rc: i64=tr_run_capture_cwd(exe,av,output,CC_OUTPUT-1,length,120000,cwd) 8 gv_puts("CANONICAL-CLI ");gv_puts(label);gv_puts(" exit=");gv_num(rc);gv_puts(" bytes=");gv_num(length[0]);gv_puts("\n");sys_write(1,output,length[0]);gv_puts("\n") 9 gv_check(label,rc==expected&&length[0]<CC_OUTPUT-1&&tr_contains(output,length[0],needle)==1,ctr) 10 sys_munmap(output,CC_OUTPUT);sys_munmap(length as *u8,16);return rc 11} 12func cc_pin(path: *u8,sha: *u8,ctr: *i64) -> i64 { 13 let c: *CsDependencyFile=sys_mmap_shared(CD_FILE_BYTES) as *CsDependencyFile;let h: *u8=sys_mmap_shared(65);cd_file_init(c,h);cd_scan(path,"",c) 14 let ok: i64=cd_equal(cd_file_state(c,sha),"IDENTITY_MATCH");gv_need(path,ok,ctr);sys_munmap(h,65);sys_munmap(c as *u8,CD_FILE_BYTES);return ok 15} 16func main() -> i64 { 17 let ctr: *i64=gv_ctr();let checker: *u8="/volume1/homes/elderwesto/nishihost/buildroot/_build/nx_comparestale.sov.elf";let publisher: *u8="/volume1/homes/elderwesto/nishihost/buildroot/_build/nx_site_publish.sov.elf" 18 if cc_pin(checker,"0a53e72c174d2ebdfa57721887762909a5bf9cc7bbc8473b760f3f359450f025",ctr)==0{return 1} 19 if cc_pin(publisher,"ba0a75176b7d989e7bc202e2ead0d8a82e861b8d718d50852c11b4b7aa57b444",ctr)==0{return 1} 20 let av: *i64=sys_mmap_shared(11*8) as *i64 21 av[0]=checker as i64;av[1]="dependency-check" as *u8 as i64;av[2]="/tmp/beach-eye-owner-t138.html" as *u8 as i64;av[3]="051ff05545af7defb278c8fe433d9c49ede2e884f8afc2db7d0222ca9af8a5dd" as *u8 as i64 22 av[4]="../sites/nishifamily/releases/craft-mt-0e25f0dea9d0764db5a90c82363f41369c235187ec3e478c70d89a831d2a5e76.wasm" as *u8 as i64;av[5]="0e25f0dea9d0764db5a90c82363f41369c235187ec3e478c70d89a831d2a5e76" as *u8 as i64;av[6]="/releases/craft-mt-0e25f0dea9d0764db5a90c82363f41369c235187ec3e478c70d89a831d2a5e76.wasm" as *u8 as i64;av[7]=0 23 cc_run(checker,".",av,0,"\"identity_and_literal_matches\":1",ctr,"checker-real-positive") 24 av[4]="/tmp/nx_site_publish_edge_canonical_t139_run1/missing" as *u8 as i64;cc_run(checker,".",av,1,"\"state\":\"MISSING\"",ctr,"checker-real-negative") 25 av[1]="knowledge/compare/" as *u8 as i64;av[2]="../sites/nishifamily/compare/" as *u8 as i64;av[3]=0;cc_run(checker,".",av,0,"COMPARESTALE fresh=113 stale=0 unpublished=1 nostamp=0",ctr,"checker-legacy-population") 26 let fixture: *u8="/tmp/nx_site_publish_edge_canonical_t139_run1" 27 av[0]=publisher as i64;av[1]="publish-guarded-edge" as *u8 as i64;av[2]="edge-source.html" as *u8 as i64;av[3]="gatesite" as *u8 as i64;av[4]="releases/edge.html" as *u8 as i64;av[5]="37cd33317ea72ab76e9e6fbf4588f5fcc33ca91d0409700425f171cc040e6a12" as *u8 as i64;av[6]="absent" as *u8 as i64;av[7]="49" as *u8 as i64;av[8]="releases/registered.html" as *u8 as i64;av[9]="52c123d327f66e17c132f51c832d69c12e1041a433586d8ce834a73b0062b4e7" as *u8 as i64;av[10]=0 28 cc_run(publisher,fixture,av,0,"NX-PUBLISH UNCHANGED bytes=49",ctr,"publisher-selected-edge-retry") 29 av[9]="1a97a7a5d5f1e0480de24c6e14d4fba1bfd41a9ad2c3095af7447dec0e8312c0" as *u8 as i64;cc_run(publisher,fixture,av,8,"selected-dependency-registration",ctr,"publisher-selected-edge-negative") 30 av[1]="stage" as *u8 as i64;av[2]="v1.html" as *u8 as i64;av[4]="releases/registered.html" as *u8 as i64;av[5]="52c123d327f66e17c132f51c832d69c12e1041a433586d8ce834a73b0062b4e7" as *u8 as i64;av[6]=0;cc_run(publisher,fixture,av,0,"NX-PUBLISH UNCHANGED bytes=12",ctr,"publisher-legacy-stage-retry") 31 return gv_verdict("CANONICAL-SELECTED-EDGE-CLI",ctr,"Both exact canonical build artifacts executed; private fixture only; full chain unknown.") 32}