nx_hex_dump_kat_test.nx source
↩ module page · 32 lines · 906 B
1// nx_hex_dump_kat_test.nx -- visual KAT for the bits-up hex dump
2// primitive. Dumps "Hello, World!" + a 32-byte all-zero buffer +
3// a partial-tail buffer to stdout via fd 1. Operator visually
4// inspects format (expected: xxd-compatible).
5//
6// expect_exit: 0.
7// license_tier: ORIGINAL
8
9import "nx_syscalls.nx"
10import "nx_hex_dump.nx"
11
12func main() -> i64 {
13 let s: *u8 = "Hello, World!\n"
14 let lbl1: *u8 = "[hello]"
15 nx_hex_dump_to_fd(1, lbl1, 7, s, 14)
16
17 // 32-byte sequential pattern
18 let pat: *u8 = sys_mmap(32)
19 var i: i64 = 0
20 while i < 32 { pat[i] = i as u8; i = i + 1 }
21 let lbl2: *u8 = "[pattern]"
22 nx_hex_dump_to_fd(1, lbl2, 9, pat, 32)
23
24 // 23-byte partial line
25 let pt: *u8 = sys_mmap(32)
26 i = 0
27 while i < 23 { pt[i] = (0x41 + i) as u8; i = i + 1 } // A..W
28 let lbl3: *u8 = "[partial]"
29 nx_hex_dump_to_fd(1, lbl3, 9, pt, 23)
30
31 return 0
32}