authorgravatar for vincent@rischmann.frVincent Rischmann <vincent@rischmann.fr> 2021-12-31 20:57:49+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-01-12 11:52:11-07:00
logeee395287f701b32e222c396ba4ae2615b23c4bb
tree313b0910d6564474635f80b3f7eed970b35eeb28
parent419499b2528c04457c04f38fcedb48c6d5881323

io_uring: fix version check in tests

For renameat, unlinkat, mkdirat, symlinkat and linkat the error code differs between kernel 5.4 which returns EBADF and kernel 5.10 which returns EINVAL. Fixes #10466

1 files changed, 5 insertions(+), 5 deletions(-)

lib/std/os/linux/io_uring.zig+5-5
......@@ -2471,7 +2471,7 @@ test "renameat" {
24712471 switch (cqe.err()) {
24722472 .SUCCESS => {},
24732473 // This kernel's io_uring does not yet implement renameat (kernel version < 5.11)
2474 .INVAL => return error.SkipZigTest,
2474 .BADF, .INVAL => return error.SkipZigTest,
24752475 else => |errno| std.debug.panic("unhandled errno: {}", .{errno}),
24762476 }
24772477 try testing.expectEqual(linux.io_uring_cqe{
......@@ -2533,7 +2533,7 @@ test "unlinkat" {
25332533 switch (cqe.err()) {
25342534 .SUCCESS => {},
25352535 // This kernel's io_uring does not yet implement unlinkat (kernel version < 5.11)
2536 .INVAL => return error.SkipZigTest,
2536 .BADF, .INVAL => return error.SkipZigTest,
25372537 else => |errno| std.debug.panic("unhandled errno: {}", .{errno}),
25382538 }
25392539 try testing.expectEqual(linux.io_uring_cqe{
......@@ -2579,7 +2579,7 @@ test "mkdirat" {
25792579 switch (cqe.err()) {
25802580 .SUCCESS => {},
25812581 // This kernel's io_uring does not yet implement mkdirat (kernel version < 5.15)
2582 .INVAL => return error.SkipZigTest,
2582 .BADF, .INVAL => return error.SkipZigTest,
25832583 else => |errno| std.debug.panic("unhandled errno: {}", .{errno}),
25842584 }
25852585 try testing.expectEqual(linux.io_uring_cqe{
......@@ -2628,7 +2628,7 @@ test "symlinkat" {
26282628 switch (cqe.err()) {
26292629 .SUCCESS => {},
26302630 // This kernel's io_uring does not yet implement symlinkat (kernel version < 5.15)
2631 .INVAL => return error.SkipZigTest,
2631 .BADF, .INVAL => return error.SkipZigTest,
26322632 else => |errno| std.debug.panic("unhandled errno: {}", .{errno}),
26332633 }
26342634 try testing.expectEqual(linux.io_uring_cqe{
......@@ -2683,7 +2683,7 @@ test "linkat" {
26832683 switch (cqe.err()) {
26842684 .SUCCESS => {},
26852685 // This kernel's io_uring does not yet implement linkat (kernel version < 5.15)
2686 .INVAL => return error.SkipZigTest,
2686 .BADF, .INVAL => return error.SkipZigTest,
26872687 else => |errno| std.debug.panic("unhandled errno: {}", .{errno}),
26882688 }
26892689 try testing.expectEqual(linux.io_uring_cqe{