authorgravatar for benjamin.feng@glassdoor.comBenjamin Feng <benjamin.feng@glassdoor.com> 2020-01-30 00:14:17-06:00
committergravatar for benjamin.feng@glassdoor.comBenjamin Feng <benjamin.feng@glassdoor.com> 2020-01-30 00:27:44-06:00
log184128fd9e5bfcf9b9a1c1021cf1d8db03147c28
tree44f6f584c0887273eb87ee42065ee5e03986039b
parent5c8e85f3884c581b17c8df1f19852189fe7c9412

Fix testing.allocator wiring


2 files changed, 6 insertions(+), 7 deletions(-)

lib/std/special/test_runner.zig+4-6
......@@ -14,12 +14,6 @@ pub fn main() anyerror!void {
1414
1515 for (test_fn_list) |test_fn, i| {
1616 std.testing.base_allocator_instance.reset();
17 defer {
18 std.testing.allocator_instance.validate() catch |err| switch (err) {
19 error.Leak => std.debug.panic("", .{}),
20 else => std.debug.panic("error.{}", .{@errorName(err)}),
21 };
22 }
2317
2418 var test_node = root_node.start(test_fn.name, null);
2519 test_node.activate();
......@@ -30,6 +24,10 @@ pub fn main() anyerror!void {
3024 if (test_fn.func()) |_| {
3125 ok_count += 1;
3226 test_node.end();
27 std.testing.allocator_instance.validate() catch |err| switch (err) {
28 error.Leak => std.debug.panic("", .{}),
29 else => std.debug.panic("error.{}", .{@errorName(err)}),
30 };
3331 if (progress.terminal == null) std.debug.warn("OK\n", .{});
3432 } else |err| switch (err) {
3533 error.SkipZigTest => {
lib/std/testing/leak_count_allocator.zig+2-1
......@@ -23,10 +23,11 @@ pub const LeakCountAllocator = struct {
2323
2424 fn realloc(allocator: *std.mem.Allocator, old_mem: []u8, old_align: u29, new_size: usize, new_align: u29) ![]u8 {
2525 const self = @fieldParentPtr(LeakCountAllocator, "allocator", allocator);
26 var data = try self.internal_allocator.reallocFn(self.internal_allocator, old_mem, old_align, new_size, new_align);
2627 if (old_mem.len == 0) {
2728 self.count += 1;
2829 }
29 return self.internal_allocator.reallocFn(self.internal_allocator, old_mem, old_align, new_size, new_align);
30 return data;
3031 }
3132
3233 fn shrink(allocator: *std.mem.Allocator, old_mem: []u8, old_align: u29, new_size: usize, new_align: u29) []u8 {