Commit a81ae1223d

Benjamin Feng <benjamin.feng@glassdoor.com>
2020-02-01 04:27:59
Convert a lot of json tests to use testing.allocator
1 parent 699c50a
Changed files (2)
lib
lib/std/json/test.zig
@@ -8,19 +8,18 @@ const std = @import("../std.zig");
 fn ok(comptime s: []const u8) void {
     std.testing.expect(std.json.validate(s));
 
-    var mem_buffer: [1024 * 20]u8 = undefined;
-    const allocator = &std.heap.FixedBufferAllocator.init(&mem_buffer).allocator;
-    var p = std.json.Parser.init(allocator, false);
+    var p = std.json.Parser.init(std.testing.allocator, false);
+    defer p.deinit();
 
-    _ = p.parse(s) catch unreachable;
+    var tree = p.parse(s) catch unreachable;
+    defer tree.deinit();
 }
 
 fn err(comptime s: []const u8) void {
     std.testing.expect(!std.json.validate(s));
 
-    var mem_buffer: [1024 * 20]u8 = undefined;
-    const allocator = &std.heap.FixedBufferAllocator.init(&mem_buffer).allocator;
-    var p = std.json.Parser.init(allocator, false);
+    var p = std.json.Parser.init(std.testing.allocator, false);
+    defer p.deinit();
 
     if (p.parse(s)) |_| {
         unreachable;
@@ -30,9 +29,8 @@ fn err(comptime s: []const u8) void {
 fn utf8Error(comptime s: []const u8) void {
     std.testing.expect(!std.json.validate(s));
 
-    var mem_buffer: [1024 * 20]u8 = undefined;
-    const allocator = &std.heap.FixedBufferAllocator.init(&mem_buffer).allocator;
-    var p = std.json.Parser.init(allocator, false);
+    var p = std.json.Parser.init(std.testing.allocator, false);
+    defer p.deinit();
 
     if (p.parse(s)) |_| {
         unreachable;
@@ -44,19 +42,18 @@ fn utf8Error(comptime s: []const u8) void {
 fn any(comptime s: []const u8) void {
     _ = std.json.validate(s);
 
-    var mem_buffer: [1024 * 20]u8 = undefined;
-    const allocator = &std.heap.FixedBufferAllocator.init(&mem_buffer).allocator;
-    var p = std.json.Parser.init(allocator, false);
+    var p = std.json.Parser.init(std.testing.allocator, false);
+    defer p.deinit();
 
-    _ = p.parse(s) catch {};
+    var tree = p.parse(s) catch return;
+    defer tree.deinit();
 }
 
 fn anyStreamingErrNonStreaming(comptime s: []const u8) void {
     _ = std.json.validate(s);
 
-    var mem_buffer: [1024 * 20]u8 = undefined;
-    const allocator = &std.heap.FixedBufferAllocator.init(&mem_buffer).allocator;
-    var p = std.json.Parser.init(allocator, false);
+    var p = std.json.Parser.init(std.testing.allocator, false);
+    defer p.deinit();
 
     if (p.parse(s)) |_| {
         unreachable;
lib/std/json.zig
@@ -1495,10 +1495,7 @@ fn unescapeString(output: []u8, input: []const u8) !void {
 }
 
 test "json.parser.dynamic" {
-    var memory: [1024 * 16]u8 = undefined;
-    var buf_alloc = std.heap.FixedBufferAllocator.init(&memory);
-
-    var p = Parser.init(&buf_alloc.allocator, false);
+    var p = Parser.init(testing.allocator, false);
     defer p.deinit();
 
     const s =
@@ -1588,10 +1585,10 @@ test "write json then parse it" {
 
     try jw.endObject();
 
-    var mem_buffer: [1024 * 20]u8 = undefined;
-    const allocator = &std.heap.FixedBufferAllocator.init(&mem_buffer).allocator;
-    var parser = Parser.init(allocator, false);
-    const tree = try parser.parse(slice_out_stream.getWritten());
+    var parser = Parser.init(testing.allocator, false);
+    defer parser.deinit();
+    var tree = try parser.parse(slice_out_stream.getWritten());
+    defer tree.deinit();
 
     testing.expect(tree.root.Object.get("f").?.value.Bool == false);
     testing.expect(tree.root.Object.get("t").?.value.Bool == true);