authorgravatar for igor.anic@gmail.comIgor Anić <igor.anic@gmail.com> 2024-03-31 23:51:40+02:00
committergravatar for igor.anic@gmail.comIgor Anić <igor.anic@gmail.com> 2024-03-31 23:51:40+02:00
log631c28c9e3814de45b1a55b0d475d41623981dae
treedb495c0befff4a76794cfcc7d5d2bcaf5bddbe8f
parenta6ed3e6d29b0e2cedfc20048b014cff4e0ae4eaa

io_uring: add failing test

For issue: #19451

1 files changed, 22 insertions(+), 0 deletions(-)

lib/std/os/linux/IoUring.zig+22
......@@ -4230,3 +4230,25 @@ fn expect_buf_grp_cqe(
42304230
42314231 return cqe;
42324232}
4233
4234test "failing test for issue 19451" {
4235 var ring = try IoUring.init(2, 0);
4236 defer ring.deinit();
4237
4238 try testing.expectEqual(2, ring.sq.sqes.len);
4239 try testing.expectEqual(4, ring.cq.cqes.len);
4240
4241 for (0..4) |i| {
4242 const sqe = try ring.get_sqe();
4243 sqe.prep_timeout(&.{ .tv_sec = 0, .tv_nsec = 10000 }, 0, 0);
4244 sqe.user_data = i;
4245 _ = try ring.submit();
4246 }
4247
4248 var cqe_count: u32 = 0;
4249 while (cqe_count < 4) {
4250 var cqes: [8]linux.io_uring_cqe = undefined;
4251 cqe_count += try ring.copy_cqes(&cqes, 4 - cqe_count);
4252 }
4253 try testing.expectEqual(4, cqe_count);
4254}