nx_mvault_layout_gate.nx source
↩ module page · 56 lines · 2209 B
1// nx_mvault_layout_gate.nx -- proves the DSM on-disk path derivation:
2// <root>/<class>/<type>/<shard>/<cid16>_<source>.<ext>, self-describing,
3// bounded fan-out (2-hex shard). run-exit == 0 means GREEN.
4
5import "nx_syscalls.nx"
6import "nx_mvault_ingest.nx"
7import "nx_mvault_layout.nx"
8
9func streq(a: *u8, b: *u8) -> i64 {
10 var i: i64 = 0
11 while 1 == 1 {
12 if a[i] != b[i] { return 0 }
13 if a[i] == (0 as u8) { return 1 }
14 i = i + 1
15 }
16 return 0
17}
18
19func main(argc: i64, argv: *i64) -> i64 {
20 var fails: i64 = 0
21 let root: *u8 = "/volume1/vault" as *u8
22
23 // real tumblr video
24 let cid1: *u8 = "nxc1-ab12cd34ef5678900123456789abcdef0123456789abcdef0123456789abcdef" as *u8
25 let src1: *u8 = "tumblr" as *u8
26 let ext1: *u8 = "mp4" as *u8
27 let out1: *u8 = sys_mmap(512)
28 mv_disk_path(out1, root, MV_CLASS_REAL, MV_TYPE_VIDEO, cid1, src1, ext1)
29 let exp1: *u8 = "/volume1/vault/real/video/ab/ab12cd34ef567890_tumblr.mp4" as *u8
30 if streq(out1, exp1) != 1 { fails = fails + 1 }
31
32 // gen 3D model (gen/real orthogonal; distinct type folder)
33 let cid2: *u8 = "nxc1-ff001122334455660123456789abcdef0123456789abcdef0123456789abcdef" as *u8
34 let src2: *u8 = "sovereign" as *u8
35 let ext2: *u8 = "glb" as *u8
36 let out2: *u8 = sys_mmap(512)
37 mv_disk_path(out2, root, MV_CLASS_GEN, MV_TYPE_MODEL3D, cid2, src2, ext2)
38 let exp2: *u8 = "/volume1/vault/gen/model3d/ff/ff00112233445566_sovereign.glb" as *u8
39 if streq(out2, exp2) != 1 { fails = fails + 1 }
40
41 // real downloaded image (a tumblr JPEG lands beside videos-by-type, split)
42 let cid3: *u8 = "nxc1-0099aabbccddeeff0123456789abcdef0123456789abcdef0123456789abcdef" as *u8
43 let src3: *u8 = "reddit" as *u8
44 let ext3: *u8 = "jpg" as *u8
45 let out3: *u8 = sys_mmap(512)
46 mv_disk_path(out3, root, MV_CLASS_REAL, MV_TYPE_IMAGE, cid3, src3, ext3)
47 let exp3: *u8 = "/volume1/vault/real/image/00/0099aabbccddeeff_reddit.jpg" as *u8
48 if streq(out3, exp3) != 1 { fails = fails + 1 }
49
50 if fails == 0 {
51 sys_write(1, "MVAULT-LAYOUT-GATE GREEN dsm-path\n" as *u8, 34)
52 return 0
53 }
54 sys_write(1, "MVAULT-LAYOUT-GATE RED\n" as *u8, 23)
55 return 1
56}