diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-02-08 18:18:47 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-02-08 18:23:38 -0500 |
| commit | c2db077574be841da586fa62d67619c901dd535d (patch) | |
| tree | c8eb64846fa7ffb9027fa1ca035dd8ca5712b9d4 /std/lazy_init.zig | |
| parent | be6d022257d8d7e99bd080823d4d8f0175f320c5 (diff) | |
| download | zig-c2db077574be841da586fa62d67619c901dd535d.tar.gz zig-c2db077574be841da586fa62d67619c901dd535d.zip | |
std.debug.assert: remove special case for test builds
Previously, std.debug.assert would `@panic` in test builds,
if the assertion failed. Now, it's always `unreachable`.
This makes release mode test builds more accurately test
the actual code that will be run.
However this requires tests to call `std.testing.expect`
rather than `std.debug.assert` to make sure output is correct.
Here is the explanation of when to use either one, copied from
the assert doc comments:
Inside a test block, it is best to use the `std.testing` module
rather than assert, because assert may not detect a test failure
in ReleaseFast and ReleaseSafe mode. Outside of a test block, assert
is the correct function to use.
closes #1304
Diffstat (limited to 'std/lazy_init.zig')
| -rw-r--r-- | std/lazy_init.zig | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/std/lazy_init.zig b/std/lazy_init.zig index f08c01e874..a09168786b 100644 --- a/std/lazy_init.zig +++ b/std/lazy_init.zig @@ -1,6 +1,7 @@ const std = @import("index.zig"); const builtin = @import("builtin"); const assert = std.debug.assert; +const testing = std.testing; const AtomicRmwOp = builtin.AtomicRmwOp; const AtomicOrder = builtin.AtomicOrder; @@ -63,12 +64,12 @@ test "std.lazyInit" { global_number.resolve(); } if (global_number.get()) |x| { - assert(x.* == 1234); + testing.expect(x.* == 1234); } else { @panic("bad"); } if (global_number.get()) |x| { - assert(x.* == 1234); + testing.expect(x.* == 1234); } else { @panic("bad"); } @@ -80,6 +81,6 @@ test "std.lazyInit(void)" { if (global_void.get()) |_| @panic("bad") else { global_void.resolve(); } - assert(global_void.get() != null); - assert(global_void.get() != null); + testing.expect(global_void.get() != null); + testing.expect(global_void.get() != null); } |
