diff --git a/lib/std/testing.zig b/lib/std/testing.zig index f8155d413d..6899f3e323 100644 --- a/lib/std/testing.zig +++ b/lib/std/testing.zig @@ -8,7 +8,11 @@ pub const FailingAllocator = @import("testing/failing_allocator.zig").FailingAll /// This should only be used in temporary test programs. pub const allocator = allocator_instance.allocator(); -pub var allocator_instance = std.heap.GeneralPurposeAllocator(.{}){}; +pub var allocator_instance = b: { + if (!builtin.is_test) + @compileError("Cannot use testing allocator outside of test block"); + break :b std.heap.GeneralPurposeAllocator(.{}){}; +}; pub const failing_allocator = failing_allocator_instance.allocator(); pub var failing_allocator_instance = FailingAllocator.init(base_allocator_instance.allocator(), 0); diff --git a/test/cli.zig b/test/cli.zig index 9acbce0b19..3ba74f1ec1 100644 --- a/test/cli.zig +++ b/test/cli.zig @@ -8,7 +8,9 @@ const ChildProcess = std.ChildProcess; var a: std.mem.Allocator = undefined; pub fn main() !void { - var arena = std.heap.ArenaAllocator.init(std.testing.allocator); + var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + defer _ = gpa.deinit(); + var arena = std.heap.ArenaAllocator.init(gpa.allocator()); defer arena.deinit(); a = arena.allocator(); diff --git a/test/compare_output.zig b/test/compare_output.zig index 22407c9469..e007f198bb 100644 --- a/test/compare_output.zig +++ b/test/compare_output.zig @@ -291,7 +291,9 @@ pub fn addCases(cases: *tests.CompareOutputContext) void { \\ stdout.print("before\n", .{}) catch unreachable; \\ defer stdout.print("defer1\n", .{}) catch unreachable; \\ defer stdout.print("defer2\n", .{}) catch unreachable; - \\ var arena = @import("std").heap.ArenaAllocator.init(@import("std").testing.allocator); + \\ var gpa = @import("std").heap.GeneralPurposeAllocator(.{}){}; + \\ defer _ = gpa.deinit(); + \\ var arena = @import("std").heap.ArenaAllocator.init(gpa.allocator()); \\ defer arena.deinit(); \\ var args_it = @import("std").process.argsWithAllocator(arena.allocator()) catch unreachable; \\ if (args_it.skip() and !args_it.skip()) return; @@ -357,10 +359,11 @@ pub fn addCases(cases: *tests.CompareOutputContext) void { \\const std = @import("std"); \\const io = std.io; \\const os = std.os; - \\const allocator = std.testing.allocator; \\ \\pub fn main() !void { - \\ var arena = std.heap.ArenaAllocator.init(std.testing.allocator); + \\ var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + \\ defer _ = gpa.deinit(); + \\ var arena = std.heap.ArenaAllocator.init(gpa.allocator()); \\ defer arena.deinit(); \\ var args_it = try std.process.argsWithAllocator(arena.allocator()); \\ const stdout = io.getStdOut().writer(); @@ -397,10 +400,11 @@ pub fn addCases(cases: *tests.CompareOutputContext) void { \\const std = @import("std"); \\const io = std.io; \\const os = std.os; - \\const allocator = std.testing.allocator; \\ \\pub fn main() !void { - \\ var arena = std.heap.ArenaAllocator.init(std.testing.allocator); + \\ var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + \\ defer _ = gpa.deinit(); + \\ var arena = std.heap.ArenaAllocator.init(gpa.allocator()); \\ defer arena.deinit(); \\ var args_it = try std.process.argsWithAllocator(arena.allocator()); \\ const stdout = io.getStdOut().writer(); diff --git a/test/standalone/empty_env/main.zig b/test/standalone/empty_env/main.zig index e0c647bb2c..37f5d6e76a 100644 --- a/test/standalone/empty_env/main.zig +++ b/test/standalone/empty_env/main.zig @@ -1,6 +1,8 @@ const std = @import("std"); pub fn main() !void { - const env_map = std.process.getEnvMap(std.testing.allocator) catch @panic("unable to get env map"); + var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + defer _ = gpa.deinit(); + const env_map = std.process.getEnvMap(gpa.allocator()) catch @panic("unable to get env map"); try std.testing.expect(env_map.count() == 0); } diff --git a/test/standalone/load_dynamic_library/main.zig b/test/standalone/load_dynamic_library/main.zig index 70fc4986ac..d9c3f5529e 100644 --- a/test/standalone/load_dynamic_library/main.zig +++ b/test/standalone/load_dynamic_library/main.zig @@ -1,8 +1,10 @@ const std = @import("std"); pub fn main() !void { - const args = try std.process.argsAlloc(std.testing.allocator); - defer std.process.argsFree(std.testing.allocator, args); + var gpa = std.heap.GeneralPurposeAllocator(.{}){}; + defer _ = gpa.deinit(); + const args = try std.process.argsAlloc(gpa.allocator()); + defer std.process.argsFree(gpa.allocator(), args); const dynlib_name = args[1];