zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 53fead580eb2abc2813d70b794239c4629324159 (tree)
parent 649da2df5234f504f2f22afe9e0b4cf7eeb9ef35
Author: Noam Preil <pleasantatk@gmail.com>
Date:   Fri, 26 Jun 2020 03:08:21 -0400

Add a `compiles` wrapper case

Diffstat:
Msrc-self-hosted/test.zig | 32++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+), 0 deletions(-)

diff --git a/src-self-hosted/test.zig b/src-self-hosted/test.zig @@ -120,6 +120,10 @@ pub const TestContext = struct { } self.updates.append(.{ .src = src, .case = .{ .Error = array } }) catch unreachable; } + + pub fn compiles(self: *Case, src: [:0]const u8) void { + self.addError(src, &[_][]const u8{}); + } }; pub fn addExe( @@ -260,6 +264,34 @@ pub const TestContext = struct { ctx.addError(name, target, .ZIR, src, expected_errors); } + pub fn addCompiles( + ctx: *TestContext, + name: []const u8, + target: std.zig.CrossTarget, + T: TestType, + src: [:0]const u8, + ) void { + ctx.addObj(name, target, T).compiles(src); + } + + pub fn compiles( + ctx: *TestContext, + name: []const u8, + target: std.zig.CrossTarget, + src: [:0]const u8, + ) void { + ctx.addCompiles(name, target, .Zig, src); + } + + pub fn compilesZIR( + ctx: *TestContext, + name: []const u8, + target: std.zig.CrossTarget, + src: [:0]const u8, + ) void { + ctx.addCompiles(name, target, .ZIR, src); + } + fn init() TestContext { const allocator = std.heap.page_allocator; return .{ .cases = std.ArrayList(Case).init(allocator) };