authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-12-19 11:36:02-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-12-23 22:15:11-08:00
logd060cb8cd640c05fbf07ab9452d52d67c0548e92
tree1ed33a1085355611ebcc2fa2cdbe0e7fccc2f331
parent002d444964869a5fd4d588d45c46f3acfa16cf5d

std: fix test "max file name component lengths"


1 files changed, 30 insertions(+), 8 deletions(-)

lib/std/fs/test.zig+30-8
...@@ -1376,24 +1376,46 @@ fn testFilenameLimits(io: Io, iterable_dir: Dir, maxed_filename: []const u8, max...@@ -1376,24 +1376,46 @@ fn testFilenameLimits(io: Io, iterable_dir: Dir, maxed_filename: []const u8, max
1376 var reader_buf: [Dir.Reader.min_buffer_len]u8 align(@alignOf(usize)) = undefined;1376 var reader_buf: [Dir.Reader.min_buffer_len]u8 align(@alignOf(usize)) = undefined;
1377 var reader: Dir.Reader = .init(iterable_dir, &reader_buf);1377 var reader: Dir.Reader = .init(iterable_dir, &reader_buf);
13781378
1379 var count: usize = 0;1379 var file_count: usize = 0;
1380 var dir_count: usize = 0;
1380 while (try reader.next(io)) |entry| {1381 while (try reader.next(io)) |entry| {
1381 try expectEqualStrings(maxed_filename, entry.name);1382 switch (entry.kind) {
1382 count += 1;1383 .file => {
1384 try expectEqualStrings(maxed_filename, entry.name);
1385 file_count += 1;
1386 },
1387 .directory => {
1388 try expectEqualStrings(maxed_dirname, entry.name);
1389 dir_count += 1;
1390 },
1391 else => return error.TestFailed,
1392 }
1383 }1393 }
1384 try expectEqual(@as(usize, 2), count);1394 try expectEqual(@as(usize, 1), file_count);
1395 try expectEqual(@as(usize, 1), dir_count);
1385 }1396 }
1386 // High level walk API1397 // High level walk API
1387 {1398 {
1388 var walker = try iterable_dir.walk(testing.allocator);1399 var walker = try iterable_dir.walk(testing.allocator);
1389 defer walker.deinit();1400 defer walker.deinit();
13901401
1391 var count: usize = 0;1402 var file_count: usize = 0;
1403 var dir_count: usize = 0;
1392 while (try walker.next(io)) |entry| {1404 while (try walker.next(io)) |entry| {
1393 try expectEqualStrings(maxed_filename, entry.basename);1405 switch (entry.kind) {
1394 count += 1;1406 .file => {
1407 try expectEqualStrings(maxed_filename, entry.basename);
1408 file_count += 1;
1409 },
1410 .directory => {
1411 try expectEqualStrings(maxed_dirname, entry.basename);
1412 dir_count += 1;
1413 },
1414 else => return error.TestFailed,
1415 }
1395 }1416 }
1396 try expectEqual(@as(usize, 3), count);1417 try expectEqual(@as(usize, 2), file_count);
1418 try expectEqual(@as(usize, 1), dir_count);
1397 }1419 }
13981420
1399 // ensure that we can delete the tree1421 // ensure that we can delete the tree