| ... | ... | @@ -12,7 +12,7 @@ pub const std_options: std.Options = .{ |
| 12 | 12 | }; |
| 13 | 13 | |
| 14 | 14 | var log_err_count: usize = 0; |
| 15 | | var fba = std.heap.FixedBufferAllocator.init(&fba_buffer); |
| 15 | var fba: std.heap.FixedBufferAllocator = .init(&fba_buffer); |
| 16 | 16 | var fba_buffer: [8192]u8 = undefined; |
| 17 | 17 | var stdin_buffer: [4096]u8 = undefined; |
| 18 | 18 | var stdout_buffer: [4096]u8 = undefined; |
| ... | ... | @@ -129,6 +129,7 @@ fn mainServer() !void { |
| 129 | 129 | |
| 130 | 130 | .run_test => { |
| 131 | 131 | testing.allocator_instance = .{}; |
| 132 | testing.io_instance = .init(fba.allocator()); |
| 132 | 133 | log_err_count = 0; |
| 133 | 134 | const index = try server.receiveBody_u32(); |
| 134 | 135 | const test_fn = builtin.test_functions[index]; |
| ... | ... | @@ -144,6 +145,8 @@ fn mainServer() !void { |
| 144 | 145 | } |
| 145 | 146 | }, |
| 146 | 147 | }; |
| 148 | testing.io_instance.deinit(); |
| 149 | fba.reset(); |
| 147 | 150 | const leak = testing.allocator_instance.deinit() == .leak; |
| 148 | 151 | try server.serveTestResults(.{ |
| 149 | 152 | .index = index, |
| ... | ... | @@ -217,18 +220,13 @@ fn mainTerminal() void { |
| 217 | 220 | }); |
| 218 | 221 | const have_tty = std.fs.File.stderr().isTty(); |
| 219 | 222 | |
| 220 | | var async_frame_buffer: []align(builtin.target.stackAlignment()) u8 = undefined; |
| 221 | | // TODO this is on the next line (using `undefined` above) because otherwise zig incorrectly |
| 222 | | // ignores the alignment of the slice. |
| 223 | | async_frame_buffer = &[_]u8{}; |
| 224 | | |
| 225 | 223 | var leaks: usize = 0; |
| 226 | 224 | for (test_fn_list, 0..) |test_fn, i| { |
| 227 | 225 | testing.allocator_instance = .{}; |
| 226 | testing.io_instance = .init(fba.allocator()); |
| 228 | 227 | defer { |
| 229 | | if (testing.allocator_instance.deinit() == .leak) { |
| 230 | | leaks += 1; |
| 231 | | } |
| 228 | if (testing.allocator_instance.deinit() == .leak) leaks += 1; |
| 229 | testing.io_instance.deinit(); |
| 232 | 230 | } |
| 233 | 231 | testing.log_level = .warn; |
| 234 | 232 | |