Commit 53fead580e
Changed files (1)
src-self-hosted
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) };