Each engine now refuses the other's volume at mount(): the exFAT engine rejects a FAT boot sector (a non-zero byte where exFAT keeps MustBeZero), and the FAT engine rejects an exFAT one (MustBeZero reads as a zero bytes-per-sector), each mounting its own as a control. The two engines can never claim the same medium. exfat-test is the mount round-trip client, cloned from fat-test: it waits for /volumes/exfat-e0fa0001, reads the seeded HELLO.TXT, then exercises mkdir + write + rename + read-back + remove through the VFS and reports "exfat-test: ok". It ships as a lazy fixture in test builds (the exfat-volume QEMU case, step 8, drives it). build + zig build test + bounds green.
15 lines
583 B
Zig
15 lines
583 B
Zig
.{
|
|
.name = .exfat_test,
|
|
.version = "0.0.0",
|
|
.fingerprint = 0x77b19e3f7ee43ce3, // Changing this has security and trust implications.
|
|
.minimum_zig_version = "0.16.0",
|
|
.dependencies = .{
|
|
// build-support supplies the shared recipe; kernel is implicit in
|
|
// every binary (the root shim + link script live there). The rest
|
|
// are exactly the homes of this binary's declared imports.
|
|
.@"build-support" = .{ .path = "../../../../build-support" },
|
|
.kernel = .{ .path = "../../../../library/kernel" },
|
|
},
|
|
.paths = .{""},
|
|
}
|