commit a85f41ec2c38eff7e64ba32c76c5a60b48274a8a (tree)
parent 10b95d89f878c8ba780f573d65604ef79d6cbd9a
Author: Andrew Kelley <andrew@ziglang.org>
Date: Thu, 18 Aug 2022 19:40:08 -0700
test-stack-traces: relax parsing rules
* accept forward and backward slashes in file paths
* strip multiple extensions; e.g. if the basename is "test.exe.obj"
then it strips to "test".
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/test/tests.zig b/test/tests.zig
@@ -923,7 +923,7 @@ pub const StackTracesContext = struct {
pos = marks[i] + delim.len;
}
// locate source basename
- pos = mem.lastIndexOfScalar(u8, line[0..marks[0]], fs.path.sep) orelse {
+ pos = mem.lastIndexOfAny(u8, line[0..marks[0]], "\\/") orelse {
// unexpected pattern: emit raw line and cont
try buf.appendSlice(line);
try buf.appendSlice("\n");
@@ -935,9 +935,9 @@ pub const StackTracesContext = struct {
try buf.appendSlice(line[pos + 1 .. marks[2] + delims[2].len]);
try buf.appendSlice(" [address]");
if (self.mode == .Debug) {
- if (mem.lastIndexOfScalar(u8, line[marks[4]..marks[5]], '.')) |idot| {
- // On certain platforms (windows) or possibly depending on how we choose to link main
- // the object file extension may be present so we simply strip any extension.
+ // On certain platforms (windows) or possibly depending on how we choose to link main
+ // the object file extension may be present so we simply strip any extension.
+ if (mem.indexOfScalar(u8, line[marks[4]..marks[5]], '.')) |idot| {
try buf.appendSlice(line[marks[3] .. marks[4] + idot]);
try buf.appendSlice(line[marks[5]..]);
} else {