diff options
Diffstat (limited to 'vere')
-rw-r--r-- | vere/build.zig | 5 | ||||
-rw-r--r-- | vere/pkg/vere/test_slots.c | 30 |
2 files changed, 35 insertions, 0 deletions
diff --git a/vere/build.zig b/vere/build.zig index e2a7590..eaf3b48 100644 --- a/vere/build.zig +++ b/vere/build.zig @@ -648,6 +648,11 @@ fn buildBinary( .deps = vere_test_deps, }, .{ + .name = "slots-test", + .file = "pkg/vere/test_slots.c", + .deps = vere_test_deps, + }, + .{ .name = "newt-test", .file = "pkg/vere/newt_tests.c", .deps = vere_test_deps, diff --git a/vere/pkg/vere/test_slots.c b/vere/pkg/vere/test_slots.c new file mode 100644 index 0000000..7f7ab2f --- /dev/null +++ b/vere/pkg/vere/test_slots.c @@ -0,0 +1,30 @@ +/// Test slot extraction + +#include "noun.h" +#include "vere.h" + +int main(int argc, char* argv[]) +{ + u3C.wag_w |= u3o_hashless; + u3m_boot_lite(1 << 28); + + printf("Loading ivory.pill...\n"); + u3_noun ivory_jammed = u3m_file("/home/y/code/urbit/vere/ocaml/ivory.pill"); + u3_noun pil = u3ke_cue(ivory_jammed); + + printf("Pill mug: 0x%x\n", u3r_mug(pil)); + + // Extract core (tail of pill) + u3_noun core = u3t(pil); + printf("Core mug: 0x%x\n", u3r_mug(core)); + + // Extract slot 2 (head) + u3_noun slot2 = u3r_at(2, core); + printf("Slot 2 (head) mug: 0x%x\n", u3r_mug(slot2)); + + // Extract slot 3 (tail) + u3_noun slot3 = u3r_at(3, core); + printf("Slot 3 (tail) mug: 0x%x\n", u3r_mug(slot3)); + + return 0; +} |