| ... | @@ -146,3 +146,17 @@ pub const PreopenList = struct { | ... | @@ -146,3 +146,17 @@ pub const PreopenList = struct { |
| 146 | return self.buffer.toOwnedSlice(); | 146 | return self.buffer.toOwnedSlice(); |
| 147 | } | 147 | } |
| 148 | }; | 148 | }; |
| | 149 | |
| | 150 | test "extracting WASI preopens" { |
| | 151 | if (@import("builtin").os.tag != .wasi) return error.SkipZigTest; |
| | 152 | |
| | 153 | var preopens = PreopenList.init(std.testing.allocator); |
| | 154 | defer preopens.deinit(); |
| | 155 | |
| | 156 | try preopens.populate(); |
| | 157 | |
| | 158 | std.testing.expectEqual(@as(usize, 1), preopens.asSlice().len); |
| | 159 | const preopen = preopens.find(".") orelse unreachable; |
| | 160 | std.testing.expect(std.mem.eql(u8, ".", preopen.@"type".Dir)); |
| | 161 | std.testing.expectEqual(@as(usize, 3), preopen.fd); |
| | 162 | } |