From 631c28c9e3814de45b1a55b0d475d41623981dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Anic=CC=81?= Date: Sun, 31 Mar 2024 23:51:40 +0200 Subject: [PATCH] io_uring: add failing test For issue: #19451 --- lib/std/os/linux/IoUring.zig | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/std/os/linux/IoUring.zig b/lib/std/os/linux/IoUring.zig index 0e3c4ce338..7c8eeae7b2 100644 --- a/lib/std/os/linux/IoUring.zig +++ b/lib/std/os/linux/IoUring.zig @@ -4230,3 +4230,25 @@ fn expect_buf_grp_cqe( return cqe; } + +test "failing test for issue 19451" { + var ring = try IoUring.init(2, 0); + defer ring.deinit(); + + try testing.expectEqual(2, ring.sq.sqes.len); + try testing.expectEqual(4, ring.cq.cqes.len); + + for (0..4) |i| { + const sqe = try ring.get_sqe(); + sqe.prep_timeout(&.{ .tv_sec = 0, .tv_nsec = 10000 }, 0, 0); + sqe.user_data = i; + _ = try ring.submit(); + } + + var cqe_count: u32 = 0; + while (cqe_count < 4) { + var cqes: [8]linux.io_uring_cqe = undefined; + cqe_count += try ring.copy_cqes(&cqes, 4 - cqe_count); + } + try testing.expectEqual(4, cqe_count); +}