diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-02-12 21:13:07 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-02-12 21:13:07 -0700 |
| commit | c349191b75811f8a21e26f8b175483449fae1638 (patch) | |
| tree | 70e4b8e77f3b7746110b7ed0a1b391c189b3f81d /test/behavior/error.zig | |
| parent | a005ac9d3c884c6254074ec150fe536881fe31b5 (diff) | |
| download | zig-c349191b75811f8a21e26f8b175483449fae1638.tar.gz zig-c349191b75811f8a21e26f8b175483449fae1638.zip | |
organize behavior tests
moving towards disabling failing tests on an individual basis
Diffstat (limited to 'test/behavior/error.zig')
| -rw-r--r-- | test/behavior/error.zig | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/behavior/error.zig b/test/behavior/error.zig index d58ad6ccb5..2e243d1d23 100644 --- a/test/behavior/error.zig +++ b/test/behavior/error.zig @@ -478,3 +478,29 @@ test "error union comptime caching" { S.quux(@as(anyerror!void, {})); S.quux(@as(anyerror!void, {})); } + +test "@errorName" { + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + + try expect(mem.eql(u8, @errorName(error.AnError), "AnError")); + try expect(mem.eql(u8, @errorName(error.ALongerErrorName), "ALongerErrorName")); + try expect(mem.eql(u8, @errorName(gimmeItBroke()), "ItBroke")); +} +fn gimmeItBroke() anyerror { + return error.ItBroke; +} + +test "@errorName sentinel length matches slice length" { + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + + const name = testBuiltinErrorName(error.FooBar); + const length: usize = 6; + try expect(length == std.mem.indexOfSentinel(u8, 0, name.ptr)); + try expect(length == name.len); +} + +pub fn testBuiltinErrorName(err: anyerror) [:0]const u8 { + return @errorName(err); +} |
