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:
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) };