nx_sbr_admission_gate.nx
buildroot/runtime/nx_sbr_admission_gate.nx
about
Executes a supplied candidate runner in fresh fixtures. Never promotes or compiles real code.
Usage: nx_sbr_admission_gate <absolute-runner> <absolute-self> <existing-fixture-parent> <timeout-ms>
Fixture parent must be an absolute, non-symlink directory. Every run gets a new private subtree.
The only executable children are the supplied runner and this fixture ELF.
dependencies 4 imports · 0 importers
imports: nx_gate_verdict.nxnx_tool_run.nxnx_sha256.nxnx_build_canon_input_lib.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
| 9 | const SAG_PATH_CAP: i64 = 4096 |
| 10 | const SAG_CAPTURE_CAP: i64 = 65536 |
| 11 | const SAG_FILE_MODE: i64 = 384 |
| 12 | const SAG_DIR_MODE: i64 = 448 |
| 13 | const SAG_EINVAL: i64 = 0 - 22 |
| 14 | const SAG_SETUP_FAIL: i64 = 90 |
| 15 | const SAG_WITNESS_EXIT: i64 = 91 |
| 16 | const SAG_BYTE_BITS: i64 = 8 |
| 17 | const SAG_PTR_BYTES: i64 = 8 |
| 18 | const SAG_ARG_SLOTS: i64 = 8 |
| 19 | const SAG_DIGEST_BYTES: i64 = 32 |
| 20 | const SAG_HEX_BASE: i64 = 16 |
| 21 | const SAG_SOURCE: *u8 = "func main() -> i64 { return 0 }\n" |
| 22 | const SAG_GUARD: *u8 = "NISHI-SBR-ADMISSION-FIXTURE\n" |
| 23 | const SAG_TARGET: *u8 = "bci_target" |
| 24 | const SAG_SOURCE_PATH: *u8 = "runtime/_hdl_build/bci_target.nx" |
| 25 | const SAG_CANON: *u8 = "!_hdl_build/bci_target.nx\n" |
| 26 | const SAG_CASE_OK: i64 = 0 |
| 27 | const SAG_CASE_CONF_MISSING: i64 = 1 |
| 28 | const SAG_CASE_CONF_EMPTY: i64 = 2 |
| 29 | const SAG_CASE_CONF_COMMENTS: i64 = 3 |
| 30 | const SAG_CASE_HASH_MISSING: i64 = 4 |
| 31 | const SAG_CASE_HASH_EMPTY: i64 = 5 |
| 32 | const SAG_CASE_HASH_BAD: i64 = 6 |
| 33 | const SAG_CASE_HASH_DUP: i64 = 7 |
| 34 | const SAG_CASE_HASH_ROW_MISSING: i64 = 8 |
| 35 | const SAG_CASE_SOURCE_EMPTY: i64 = 9 |
| 36 | const SAG_CASE_UNRELATED_ZERO: i64 = 10 |
| 37 | const SAG_CASE_UNRELATED_MALFORMED: i64 = 11 |
| 39 | const SAG_FIXTURE_MANIFEST_SEC: i64 = 100 |
| 40 | const SAG_FIXTURE_SOURCE_SEC: i64 = 200 |
| 41 | const SAG_TIMESPEC_PAIR_BYTES: i64 = 32 |
functions
| 43 | func sag_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 44 | func sag_eq(a: *u8, b: *u8) -> i64 called by 1: main |
| 50 | func sag_decimal(s: *u8) -> i64 |
| 66 | func sag_join(root: *u8, relative: *u8) -> *u8 |
| 77 | func sag_write(path: *u8, bytes: *u8, n: i64) -> i64 |
| 87 | func sag_file(root: *u8, rel: *u8, value: *u8) -> i64 |
| 93 | func sag_dir(root: *u8, rel: *u8) -> i64 |
| 101 | func sag_link(root: *u8, rel: *u8, target: *u8) -> i64 |
| 109 | func sag_exists(path: *u8) -> i64 |
| 117 | func sag_safe_parent(path: *u8) -> i64 |
| 141 | func sag_guarded() -> i64 |
| 151 | func sag_admitter(invocation: *u8) -> i64 |
| 167 | func sag_compiler() -> i64 |
| 173 | func sag_manifest() -> *u8 |
| 193 | func sag_setup(root: *u8, self: *u8, mode: i64, primary: *u8, fallback: *u8, manifest: *u8) -> i64 |
| 260 | func sag_case(runroot: *u8, name: *u8, runner: *u8, self: *u8, timeout_text: *u8, mode: i64, primary: *u8, fallback: *u8, expected_rc: i64, expected_witness: i64, ctr: *i64) -> i64 |
| 299 | func main(argc: i64, argv: *i64) -> i64 |