Create leak_count_allocator

This commit is contained in:
Benjamin Feng
2020-01-29 13:18:04 -06:00
parent 4d134a01f5
commit aa9caf5064
22 changed files with 206 additions and 135 deletions

View File

@@ -239,7 +239,7 @@ fn greaterThan(a: u32, b: u32) bool {
const PQ = PriorityQueue(u32);
test "std.PriorityQueue: add and remove min heap" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
try queue.add(54);
@@ -257,7 +257,7 @@ test "std.PriorityQueue: add and remove min heap" {
}
test "std.PriorityQueue: add and remove same min heap" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
try queue.add(1);
@@ -275,14 +275,14 @@ test "std.PriorityQueue: add and remove same min heap" {
}
test "std.PriorityQueue: removeOrNull on empty" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
expect(queue.removeOrNull() == null);
}
test "std.PriorityQueue: edge case 3 elements" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
try queue.add(9);
@@ -294,7 +294,7 @@ test "std.PriorityQueue: edge case 3 elements" {
}
test "std.PriorityQueue: peek" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
expect(queue.peek() == null);
@@ -306,7 +306,7 @@ test "std.PriorityQueue: peek" {
}
test "std.PriorityQueue: sift up with odd indices" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
for (items) |e| {
@@ -320,7 +320,7 @@ test "std.PriorityQueue: sift up with odd indices" {
}
test "std.PriorityQueue: addSlice" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
try queue.addSlice(items[0..]);
@@ -333,8 +333,8 @@ test "std.PriorityQueue: addSlice" {
test "std.PriorityQueue: fromOwnedSlice" {
const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
const heap_items = try std.mem.dupe(testing.allocator, u32, items[0..]);
var queue = PQ.fromOwnedSlice(testing.allocator, lessThan, heap_items[0..]);
const heap_items = try std.mem.dupe(testing.leak_count_allocator, u32, items[0..]);
var queue = PQ.fromOwnedSlice(testing.leak_count_allocator, lessThan, heap_items[0..]);
defer queue.deinit();
const sorted_items = [_]u32{ 1, 2, 5, 6, 7, 7, 11, 12, 13, 14, 15, 15, 16, 21, 22, 24, 24, 25 };
@@ -344,7 +344,7 @@ test "std.PriorityQueue: fromOwnedSlice" {
}
test "std.PriorityQueue: add and remove max heap" {
var queue = PQ.init(testing.allocator, greaterThan);
var queue = PQ.init(testing.leak_count_allocator, greaterThan);
defer queue.deinit();
try queue.add(54);
@@ -362,7 +362,7 @@ test "std.PriorityQueue: add and remove max heap" {
}
test "std.PriorityQueue: add and remove same max heap" {
var queue = PQ.init(testing.allocator, greaterThan);
var queue = PQ.init(testing.leak_count_allocator, greaterThan);
defer queue.deinit();
try queue.add(1);
@@ -380,8 +380,8 @@ test "std.PriorityQueue: add and remove same max heap" {
}
test "std.PriorityQueue: iterator" {
var queue = PQ.init(testing.allocator, lessThan);
var map = std.AutoHashMap(u32, void).init(testing.allocator);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
var map = std.AutoHashMap(u32, void).init(testing.leak_count_allocator);
defer {
queue.deinit();
map.deinit();
@@ -402,7 +402,7 @@ test "std.PriorityQueue: iterator" {
}
test "std.PriorityQueue: remove at index" {
var queue = PQ.init(testing.allocator, lessThan);
var queue = PQ.init(testing.leak_count_allocator, lessThan);
defer queue.deinit();
try queue.add(3);