authorgravatar for joran@ronomon.comJoran Dirk Greef <joran@ronomon.com> 2020-09-20 18:45:44+02:00
committergravatar for joran@ronomon.comJoran Dirk Greef <joran@ronomon.com> 2020-09-20 18:45:44+02:00
log77903f8d4ec229acfa67f8b55ad0bfb8cd9d111e
treeff2817b26b59b37e656e00371358757a22454ba7
parente51728a1b4b68cbfbd5aae47330a7a43563fce0e

Test structs and offsets


1 files changed, 12 insertions(+), 10 deletions(-)

lib/std/os/linux/io_uring.zig+12-10
...@@ -13,16 +13,6 @@ const testing = std.testing;...@@ -13,16 +13,6 @@ const testing = std.testing;
13const io_uring_params = linux.io_uring_params;13const io_uring_params = linux.io_uring_params;
14const io_uring_sqe = linux.io_uring_sqe;14const io_uring_sqe = linux.io_uring_sqe;
15const io_uring_cqe = linux.io_uring_cqe;15const io_uring_cqe = linux.io_uring_cqe;
16
17comptime {
18 assert(@sizeOf(io_uring_params) == 120);
19 assert(@sizeOf(io_uring_sqe) == 64);
20 assert(@sizeOf(io_uring_cqe) == 16);
21
22 assert(linux.IORING_OFF_SQ_RING == 0);
23 assert(linux.IORING_OFF_CQ_RING == 0x8000000);
24 assert(linux.IORING_OFF_SQES == 0x10000000);
25}
2616
27pub const IO_Uring = struct {17pub const IO_Uring = struct {
28 fd: os.fd_t = -1,18 fd: os.fd_t = -1,
...@@ -678,6 +668,18 @@ pub const CompletionQueue = struct {...@@ -678,6 +668,18 @@ pub const CompletionQueue = struct {
678 }668 }
679};669};
680670
671test "structs and offsets" {
672 if (builtin.os.tag != .linux) return error.SkipZigTest;
673
674 testing.expectEqual(@as(usize, 120), @sizeOf(io_uring_params));
675 testing.expectEqual(@as(usize, 64), @sizeOf(io_uring_sqe));
676 testing.expectEqual(@as(usize, 16), @sizeOf(io_uring_cqe));
677
678 testing.expectEqual(0, linux.IORING_OFF_SQ_RING);
679 testing.expectEqual(0x8000000, linux.IORING_OFF_CQ_RING);
680 testing.expectEqual(0x10000000, linux.IORING_OFF_SQES);
681}
682
681test "queue_nop" {683test "queue_nop" {
682 if (builtin.os.tag != .linux) return error.SkipZigTest;684 if (builtin.os.tag != .linux) return error.SkipZigTest;
683685