From d1e46006758a82f039d23ea26030e3b685a5fa86 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Thu, 26 May 2022 16:23:52 +0200 Subject: [PATCH 1/2] test: correctly track identical error msgs in handled errors list Prior to this change, for an example compiler error test case with multiple identical errors messages such as ``` :1:2: error: foo :1:2: error: foo ``` the test harness would never increment the error index thus only marking the very first error message as handled yielding a false positive. Additionally, while here, regress `dereference_anyopaque` test case as not passing on `wasm32-wasi` target. --- src/test.zig | 2 ++ test/cases/compile_errors/dereference_anyopaque.zig | 1 + 2 files changed, 3 insertions(+) diff --git a/src/test.zig b/src/test.zig index a6537e77c7..3d1f536f2c 100644 --- a/src/test.zig +++ b/src/test.zig @@ -1574,6 +1574,8 @@ pub const TestContext = struct { for (actual_errors.list) |actual_error| { for (case_error_list) |case_msg, i| { + if (handled_errors[i]) continue; + const ex_tag: std.meta.Tag(@TypeOf(case_msg)) = case_msg; switch (actual_error) { .src => |actual_msg| { diff --git a/test/cases/compile_errors/dereference_anyopaque.zig b/test/cases/compile_errors/dereference_anyopaque.zig index 44636b0851..cef57a5189 100644 --- a/test/cases/compile_errors/dereference_anyopaque.zig +++ b/test/cases/compile_errors/dereference_anyopaque.zig @@ -42,6 +42,7 @@ pub export fn entry() void { // error // backend=llvm +// target=x86_64-linux,aarch64-linux,arm-linux,x86_64-macos,aarch64-macos // // :11:22: error: comparison of 'void' with null // :25:51: error: unable to resolve comptime value From 5ce9c878cf83b5d8ab0407b798fe4aa35768c498 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Thu, 26 May 2022 16:55:31 +0200 Subject: [PATCH 2/2] apply Vexu's suggestion to use failing_allocator for now --- test/cases/compile_errors/dereference_anyopaque.zig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/cases/compile_errors/dereference_anyopaque.zig b/test/cases/compile_errors/dereference_anyopaque.zig index cef57a5189..68be3c97ed 100644 --- a/test/cases/compile_errors/dereference_anyopaque.zig +++ b/test/cases/compile_errors/dereference_anyopaque.zig @@ -36,13 +36,12 @@ fn parseFree(comptime T: type, value: T, allocator: std.mem.Allocator) void { } pub export fn entry() void { - const allocator = std.testing.allocator_instance.allocator(); + const allocator = std.testing.failing_allocator; _ = parse(std.StringArrayHashMap(bool), allocator) catch return; } // error // backend=llvm -// target=x86_64-linux,aarch64-linux,arm-linux,x86_64-macos,aarch64-macos // // :11:22: error: comparison of 'void' with null // :25:51: error: unable to resolve comptime value