authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-20 14:38:01-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-09-20 14:38:01-07:00
log3cc0fc601af62adebf6b9f3bb1a241fa8a501d0b
tree6c41ff198df050118ff189a0197e40e2751028d6
parent0c1fbc4ea6ff5c74b83d3959eac0b355570bd439

std.json: delete test tightly coupled to ArrayList growth

This test works by assuming that std.ArrayList will grow with a specific capacity increasing pattern, which is an invalid assumption. Delete the offending test.

2 files changed, 1 insertions(+), 28 deletions(-)

lib/std/json/scanner_test.zig-27
...@@ -431,33 +431,6 @@ test "skipValue" {...@@ -431,33 +431,6 @@ test "skipValue" {
431 try std.testing.expectError(error.SyntaxError, testSkipValue("[102, 111, 111}"));431 try std.testing.expectError(error.SyntaxError, testSkipValue("[102, 111, 111}"));
432}432}
433433
434fn testEnsureStackCapacity(do_ensure: bool) !void {
435 var fail_alloc = std.testing.FailingAllocator.init(std.testing.allocator, .{ .fail_index = 1 });
436 const failing_allocator = fail_alloc.allocator();
437
438 const nestings = 2049; // intentionally not a power of 2.
439 var input_string: std.ArrayListUnmanaged(u8) = .empty;
440 try input_string.appendNTimes(std.testing.allocator, '[', nestings);
441 try input_string.appendNTimes(std.testing.allocator, ']', nestings);
442 defer input_string.deinit(std.testing.allocator);
443
444 var scanner = Scanner.initCompleteInput(failing_allocator, input_string.items);
445 defer scanner.deinit();
446
447 if (do_ensure) {
448 try scanner.ensureTotalStackCapacity(nestings);
449 }
450
451 try scanner.skipValue();
452 try std.testing.expectEqual(Token.end_of_document, try scanner.next());
453}
454test "ensureTotalStackCapacity" {
455 // Once to demonstrate failure.
456 try std.testing.expectError(error.OutOfMemory, testEnsureStackCapacity(false));
457 // Then to demonstrate it works.
458 try testEnsureStackCapacity(true);
459}
460
461fn testDiagnosticsFromSource(expected_error: ?anyerror, line: u64, col: u64, byte_offset: u64, source: anytype) !void {434fn testDiagnosticsFromSource(expected_error: ?anyerror, line: u64, col: u64, byte_offset: u64, source: anytype) !void {
462 var diagnostics = Diagnostics{};435 var diagnostics = Diagnostics{};
463 source.enableDiagnostics(&diagnostics);436 source.enableDiagnostics(&diagnostics);
lib/std/json/static_test.zig+1-1
...@@ -914,7 +914,7 @@ test "parse at comptime" {...@@ -914,7 +914,7 @@ test "parse at comptime" {
914 uptime: u64,914 uptime: u64,
915 };915 };
916 const config = comptime x: {916 const config = comptime x: {
917 var buf: [256]u8 = undefined;917 var buf: [300]u8 = undefined;
918 var fba = std.heap.FixedBufferAllocator.init(&buf);918 var fba = std.heap.FixedBufferAllocator.init(&buf);
919 const res = parseFromSliceLeaky(Config, fba.allocator(), doc, .{});919 const res = parseFromSliceLeaky(Config, fba.allocator(), doc, .{});
920 // Assert no error can occur since we are920 // Assert no error can occur since we are