diff --git a/lib/std/fs/test.zig b/lib/std/fs/test.zig index 7354b91c702a025438d1892e60c7fcb13247907b..77b16c1164164238c9b4eb1128d0e7e4f7d674b5 100644 --- a/lib/std/fs/test.zig +++ b/lib/std/fs/test.zig @@ -1851,23 +1851,24 @@ test "selective walker, skip entries that start with ." { var num_walked: usize = 0; while (try walker.next()) |entry| { if (entry.basename[0] == '.') continue; + testing.expect(expected_basenames.has(entry.basename)) catch |err| { + std.debug.print("found unexpected basename: {f}\n", .{std.ascii.hexEscape(entry.basename, .lower)}); + return err; + }; + testing.expect(expected_paths.has(entry.path)) catch |err| { + std.debug.print("found unexpected path: {f}\n", .{std.ascii.hexEscape(entry.path, .lower)}); + return err; + }; + + testing.expectEqual(expected_paths.get(entry.path).?, walker.depth()) catch |err| { + std.debug.print("path reported unexpected depth: {f}, {d}, expected {d}\n", .{ std.ascii.hexEscape(entry.path, .lower), walker.depth(), expected_paths.get(entry.path).? }); + return err; + }; + if (entry.kind == .directory) { try walker.enter(entry); } - testing.expect(expected_basenames.has(entry.basename)) catch |err| { - std.debug.print("found unexpected basename: {f}\n", .{std.ascii.hexEscape(entry.basename, .lower)}); - return err; - }; - testing.expect(expected_paths.has(entry.path)) catch |err| { - std.debug.print("found unexpected path: {f}\n", .{std.ascii.hexEscape(entry.path, .lower)}); - return err; - }; - - testing.expectEqual(expected_paths.get(entry.path).?, walker.depth()) catch |err| { - std.debug.print("path reported unexpected depth: {f}, {d}", .{ std.ascii.hexEscape(entry.path, .lower), walker.depth() }); - return err; - }; // make sure that the entry.dir is the containing dir var entry_dir = try entry.dir.openDir(entry.basename, .{}); defer entry_dir.close();