From 89563f07e3956a44e37eb59e618d926bd401055c Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Tue, 24 Oct 2023 22:04:50 +0200 Subject: [PATCH] build: match and ignore /?/ in expected compile errors --- lib/std/Build/Step/Compile.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig index fa5d66780e..752e403ca9 100644 --- a/lib/std/Build/Step/Compile.zig +++ b/lib/std/Build/Step/Compile.zig @@ -2410,6 +2410,19 @@ fn checkCompileErrors(self: *Compile) !void { continue; } } + // We scan for /?/ in expected line and if there is a match, we match everything + // up to and after /?/. + const expect_line_trim = mem.trim(u8, expect_line, " "); + if (mem.indexOf(u8, expect_line_trim, "/?/")) |exp_index| { + const actual_line_trim = mem.trim(u8, actual_line, " "); + const exp_lhs = expect_line_trim[0..exp_index]; + const exp_rhs = expect_line_trim[exp_index + "/?/".len ..]; + if (mem.startsWith(u8, actual_line_trim, exp_lhs) and mem.endsWith(u8, actual_line_trim, exp_rhs)) { + try expected_generated.appendSlice(actual_line); + try expected_generated.append('\n'); + continue; + } + } try expected_generated.appendSlice(expect_line); try expected_generated.append('\n'); }