authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-10-09 11:11:41-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-10-29 06:20:49-07:00
log7d478114ec5ae74f977bf22050088a470f471721
tree0332e2a24af4ce692e7a17cfb141f6846666e931
parentb1733b7bcec44ddd73a210ede09c3c9eeb411d27

fix compilation errors introduced by rebasing


3 files changed, 28 insertions(+), 19 deletions(-)

lib/std/Io/Writer.zig+3-1
...@@ -2873,6 +2873,8 @@ test "allocating sendFile" {...@@ -2873,6 +2873,8 @@ test "allocating sendFile" {
2873}2873}
28742874
2875test sendFileReading {2875test sendFileReading {
2876 const io = testing.io;
2877
2876 var tmp_dir = testing.tmpDir(.{});2878 var tmp_dir = testing.tmpDir(.{});
2877 defer tmp_dir.cleanup();2879 defer tmp_dir.cleanup();
28782880
...@@ -2883,7 +2885,7 @@ test sendFileReading {...@@ -2883,7 +2885,7 @@ test sendFileReading {
2883 try file_writer.interface.writeAll("abcd");2885 try file_writer.interface.writeAll("abcd");
2884 try file_writer.interface.flush();2886 try file_writer.interface.flush();
28852887
2886 var file_reader = file_writer.moveToReader();2888 var file_reader = file_writer.moveToReader(io);
2887 try file_reader.seekTo(0);2889 try file_reader.seekTo(0);
2888 try file_reader.interface.fill(2);2890 try file_reader.interface.fill(2);
28892891
lib/std/fs/test.zig+21-18
...@@ -1460,6 +1460,8 @@ test "access file" {...@@ -1460,6 +1460,8 @@ test "access file" {
1460}1460}
14611461
1462test "sendfile" {1462test "sendfile" {
1463 const io = testing.io;
1464
1463 var tmp = tmpDir(.{});1465 var tmp = tmpDir(.{});
1464 defer tmp.cleanup();1466 defer tmp.cleanup();
14651467
...@@ -1470,21 +1472,14 @@ test "sendfile" {...@@ -1470,21 +1472,14 @@ test "sendfile" {
14701472
1471 const line1 = "line1\n";1473 const line1 = "line1\n";
1472 const line2 = "second line\n";1474 const line2 = "second line\n";
1473 var vecs = [_]posix.iovec_const{1475 var vecs = [_][]const u8{ line1, line2 };
1474 .{
1475 .base = line1,
1476 .len = line1.len,
1477 },
1478 .{
1479 .base = line2,
1480 .len = line2.len,
1481 },
1482 };
14831476
1484 var src_file = try dir.createFile("sendfile1.txt", .{ .read = true });1477 var src_file = try dir.createFile("sendfile1.txt", .{ .read = true });
1485 defer src_file.close();1478 defer src_file.close();
14861479 {
1487 try src_file.writevAll(&vecs);1480 var fw = src_file.writer(&.{});
1481 try fw.interface.writeVecAll(&vecs);
1482 }
14881483
1489 var dest_file = try dir.createFile("sendfile2.txt", .{ .read = true });1484 var dest_file = try dir.createFile("sendfile2.txt", .{ .read = true });
1490 defer dest_file.close();1485 defer dest_file.close();
...@@ -1497,7 +1492,7 @@ test "sendfile" {...@@ -1497,7 +1492,7 @@ test "sendfile" {
1497 var trailers: [2][]const u8 = .{ trailer1, trailer2 };1492 var trailers: [2][]const u8 = .{ trailer1, trailer2 };
14981493
1499 var written_buf: [100]u8 = undefined;1494 var written_buf: [100]u8 = undefined;
1500 var file_reader = src_file.reader(&.{});1495 var file_reader = src_file.reader(io, &.{});
1501 var fallback_buffer: [50]u8 = undefined;1496 var fallback_buffer: [50]u8 = undefined;
1502 var file_writer = dest_file.writer(&fallback_buffer);1497 var file_writer = dest_file.writer(&fallback_buffer);
1503 try file_writer.interface.writeVecAll(&headers);1498 try file_writer.interface.writeVecAll(&headers);
...@@ -1505,11 +1500,15 @@ test "sendfile" {...@@ -1505,11 +1500,15 @@ test "sendfile" {
1505 try testing.expectEqual(10, try file_writer.interface.sendFileAll(&file_reader, .limited(10)));1500 try testing.expectEqual(10, try file_writer.interface.sendFileAll(&file_reader, .limited(10)));
1506 try file_writer.interface.writeVecAll(&trailers);1501 try file_writer.interface.writeVecAll(&trailers);
1507 try file_writer.interface.flush();1502 try file_writer.interface.flush();
1508 const amt = try dest_file.preadAll(&written_buf, 0);1503 var fr = file_writer.moveToReader(io);
1504 try fr.seekTo(0);
1505 const amt = try fr.interface.readSliceShort(&written_buf);
1509 try testing.expectEqualStrings("header1\nsecond header\nine1\nsecontrailer1\nsecond trailer\n", written_buf[0..amt]);1506 try testing.expectEqualStrings("header1\nsecond header\nine1\nsecontrailer1\nsecond trailer\n", written_buf[0..amt]);
1510}1507}
15111508
1512test "sendfile with buffered data" {1509test "sendfile with buffered data" {
1510 const io = testing.io;
1511
1513 var tmp = tmpDir(.{});1512 var tmp = tmpDir(.{});
1514 defer tmp.cleanup();1513 defer tmp.cleanup();
15151514
...@@ -1527,7 +1526,7 @@ test "sendfile with buffered data" {...@@ -1527,7 +1526,7 @@ test "sendfile with buffered data" {
1527 defer dest_file.close();1526 defer dest_file.close();
15281527
1529 var src_buffer: [32]u8 = undefined;1528 var src_buffer: [32]u8 = undefined;
1530 var file_reader = src_file.reader(&src_buffer);1529 var file_reader = src_file.reader(io, &src_buffer);
15311530
1532 try file_reader.seekTo(0);1531 try file_reader.seekTo(0);
1533 try file_reader.interface.fill(8);1532 try file_reader.interface.fill(8);
...@@ -1538,7 +1537,9 @@ test "sendfile with buffered data" {...@@ -1538,7 +1537,9 @@ test "sendfile with buffered data" {
1538 try std.testing.expectEqual(4, try file_writer.interface.sendFileAll(&file_reader, .limited(4)));1537 try std.testing.expectEqual(4, try file_writer.interface.sendFileAll(&file_reader, .limited(4)));
15391538
1540 var written_buf: [8]u8 = undefined;1539 var written_buf: [8]u8 = undefined;
1541 const amt = try dest_file.preadAll(&written_buf, 0);1540 var fr = file_writer.moveToReader(io);
1541 try fr.seekTo(0);
1542 const amt = try fr.interface.readSliceShort(&written_buf);
15421543
1543 try std.testing.expectEqual(4, amt);1544 try std.testing.expectEqual(4, amt);
1544 try std.testing.expectEqualSlices(u8, "AAAA", written_buf[0..amt]);1545 try std.testing.expectEqualSlices(u8, "AAAA", written_buf[0..amt]);
...@@ -2250,6 +2251,8 @@ test "seekTo flushes buffered data" {...@@ -2250,6 +2251,8 @@ test "seekTo flushes buffered data" {
2250}2251}
22512252
2252test "File.Writer sendfile with buffered contents" {2253test "File.Writer sendfile with buffered contents" {
2254 const io = testing.io;
2255
2253 var tmp_dir = testing.tmpDir(.{});2256 var tmp_dir = testing.tmpDir(.{});
2254 defer tmp_dir.cleanup();2257 defer tmp_dir.cleanup();
22552258
...@@ -2261,7 +2264,7 @@ test "File.Writer sendfile with buffered contents" {...@@ -2261,7 +2264,7 @@ test "File.Writer sendfile with buffered contents" {
2261 defer out.close();2264 defer out.close();
22622265
2263 var in_buf: [2]u8 = undefined;2266 var in_buf: [2]u8 = undefined;
2264 var in_r = in.reader(&in_buf);2267 var in_r = in.reader(io, &in_buf);
2265 _ = try in_r.getSize(); // Catch seeks past end by populating size2268 _ = try in_r.getSize(); // Catch seeks past end by populating size
2266 try in_r.interface.fill(2);2269 try in_r.interface.fill(2);
22672270
...@@ -2275,7 +2278,7 @@ test "File.Writer sendfile with buffered contents" {...@@ -2275,7 +2278,7 @@ test "File.Writer sendfile with buffered contents" {
2275 var check = try tmp_dir.dir.openFile("b", .{});2278 var check = try tmp_dir.dir.openFile("b", .{});
2276 defer check.close();2279 defer check.close();
2277 var check_buf: [4]u8 = undefined;2280 var check_buf: [4]u8 = undefined;
2278 var check_r = check.reader(&check_buf);2281 var check_r = check.reader(io, &check_buf);
2279 try testing.expectEqualStrings("abcd", try check_r.interface.take(4));2282 try testing.expectEqualStrings("abcd", try check_r.interface.take(4));
2280 try testing.expectError(error.EndOfStream, check_r.interface.takeByte());2283 try testing.expectError(error.EndOfStream, check_r.interface.takeByte());
2281}2284}
lib/std/process/Child.zig+4
...@@ -572,6 +572,10 @@ fn spawnPosix(self: *ChildProcess) SpawnError!void {...@@ -572,6 +572,10 @@ fn spawnPosix(self: *ChildProcess) SpawnError!void {
572 error.BadPathName => unreachable, // Windows-only572 error.BadPathName => unreachable, // Windows-only
573 error.WouldBlock => unreachable,573 error.WouldBlock => unreachable,
574 error.NetworkNotFound => unreachable, // Windows-only574 error.NetworkNotFound => unreachable, // Windows-only
575 error.Canceled => unreachable, // temporarily in the posix error set
576 error.SharingViolation => unreachable, // Windows-only
577 error.PipeBusy => unreachable, // not a pipe
578 error.AntivirusInterference => unreachable, // Windows-only
575 else => |e| return e,579 else => |e| return e,
576 }580 }
577 else581 else