aboutsummaryrefslogtreecommitdiff
path: root/lib/std/testing.zig
diff options
context:
space:
mode:
authorAli Chraghi <63465728+alichraghi@users.noreply.github.com>2022-05-26 14:19:05 +0430
committerVeikka Tuominen <git@vexu.eu>2022-07-24 11:57:00 +0300
commit0b4a3ec9501b31e7b31e81b83e5974e6c6d72757 (patch)
treee4b0db268956d0de37bb50c639f465942783abb3 /lib/std/testing.zig
parentdea437edfb124b8a4cf4f2e09330ef4282991cc9 (diff)
downloadzig-0b4a3ec9501b31e7b31e81b83e5974e6c6d72757.tar.gz
zig-0b4a3ec9501b31e7b31e81b83e5974e6c6d72757.zip
std: compile error on invalid testing allocator usage
Diffstat (limited to 'lib/std/testing.zig')
-rw-r--r--lib/std/testing.zig6
1 files changed, 5 insertions, 1 deletions
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);