mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
test harness improvements
* `-Dskip-compile-errors` is removed; `-Dskip-stage1` is added. * Use `std.testing.allocator` instead of a new instance of GPA. - Fix the memory leaks this revealed. * Show the file name when it is not parsed correctly such as when the manifest is missing. - Better error messages when test files are not parsed correctly. * Ignore unknown files such as swap files. * Move logic from declarative file to the test harness implementation. * Move stage1 tests to stage2 tests where appropriate.
This commit is contained in:
@@ -3,44 +3,6 @@ const builtin = @import("builtin");
|
||||
const TestContext = @import("../src/test.zig").TestContext;
|
||||
|
||||
pub fn addCases(ctx: *TestContext) !void {
|
||||
var parent_dir = try std.fs.cwd().openDir(std.fs.path.dirname(@src().file).?, .{ .no_follow = true });
|
||||
defer parent_dir.close();
|
||||
|
||||
var compile_errors_dir = try parent_dir.openDir("compile_errors", .{ .no_follow = true });
|
||||
defer compile_errors_dir.close();
|
||||
|
||||
{
|
||||
var stage2_dir = try compile_errors_dir.openDir("stage2", .{ .iterate = true, .no_follow = true });
|
||||
defer stage2_dir.close();
|
||||
|
||||
// TODO make this false once the bug is solved that it triggers
|
||||
const one_test_case_per_file = true;
|
||||
try ctx.addErrorCasesFromDir("stage2", stage2_dir, .stage2, .Obj, false, one_test_case_per_file);
|
||||
}
|
||||
|
||||
{
|
||||
var stage1_dir = try compile_errors_dir.openDir("stage1", .{ .no_follow = true });
|
||||
defer stage1_dir.close();
|
||||
{
|
||||
const one_test_case_per_file = true;
|
||||
|
||||
var obj_dir = try stage1_dir.openDir("obj", .{ .iterate = true, .no_follow = true });
|
||||
defer obj_dir.close();
|
||||
|
||||
try ctx.addErrorCasesFromDir("stage1", obj_dir, .stage1, .Obj, false, one_test_case_per_file);
|
||||
|
||||
var exe_dir = try stage1_dir.openDir("exe", .{ .iterate = true, .no_follow = true });
|
||||
defer exe_dir.close();
|
||||
|
||||
try ctx.addErrorCasesFromDir("stage1", exe_dir, .stage1, .Exe, false, one_test_case_per_file);
|
||||
|
||||
var test_dir = try stage1_dir.openDir("test", .{ .iterate = true, .no_follow = true });
|
||||
defer test_dir.close();
|
||||
|
||||
try ctx.addErrorCasesFromDir("stage1", test_dir, .stage1, .Exe, true, one_test_case_per_file);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
const case = ctx.obj("callconv(.Interrupt) on unsupported platform", .{
|
||||
.cpu_arch = .aarch64,
|
||||
|
||||
Reference in New Issue
Block a user