Skip to content

Commit 02107a7

Browse files
committed
io-uring-test: Expect cqueue::Entry::result() to be Result<u32>
1 parent 37780fa commit 02107a7

File tree

14 files changed

+319
-223
lines changed

14 files changed

+319
-223
lines changed

io-uring-test/src/tests/cancel.rs

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@ pub fn test_async_cancel_user_data<S: squeue::EntryMarker, C: cqueue::EntryMarke
4646
assert_eq!(cqes[0].user_data(), 2003);
4747
assert_eq!(cqes[1].user_data(), 2004);
4848

49-
assert_eq!(cqes[0].result(), -libc::ECANCELED); // -ECANCELED
50-
assert_eq!(cqes[1].result(), 0); // the number of requests cancelled
49+
assert_eq!(
50+
cqes[0].result().unwrap_err().raw_os_error().unwrap(),
51+
libc::ECANCELED
52+
); // -ECANCELED
53+
assert_eq!(cqes[1].result().unwrap(), 0); // the number of requests cancelled
5154

5255
Ok(())
5356
}
@@ -96,9 +99,15 @@ pub fn test_async_cancel_user_data_all<S: squeue::EntryMarker, C: cqueue::EntryM
9699
assert_eq!(cqes[1].user_data(), 2003);
97100
assert_eq!(cqes[2].user_data(), 2004);
98101

99-
assert_eq!(cqes[0].result(), -libc::ECANCELED); // -ECANCELED
100-
assert_eq!(cqes[1].result(), -libc::ECANCELED); // -ECANCELED
101-
assert_eq!(cqes[2].result(), 2); // the number of requests cancelled
102+
assert_eq!(
103+
cqes[0].result().unwrap_err().raw_os_error().unwrap(),
104+
libc::ECANCELED
105+
); // -ECANCELED
106+
assert_eq!(
107+
cqes[1].result().unwrap_err().raw_os_error().unwrap(),
108+
libc::ECANCELED
109+
); // -ECANCELED
110+
assert_eq!(cqes[2].result().unwrap(), 2); // the number of requests cancelled
102111

103112
Ok(())
104113
}
@@ -147,9 +156,15 @@ pub fn test_async_cancel_any<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
147156
assert_eq!(cqes[1].user_data(), 2004);
148157
assert_eq!(cqes[2].user_data(), 2005);
149158

150-
assert_eq!(cqes[0].result(), -libc::ECANCELED); // -ECANCELED
151-
assert_eq!(cqes[1].result(), -libc::ECANCELED);
152-
assert_eq!(cqes[2].result(), 2); // the number of requests cancelled
159+
assert_eq!(
160+
cqes[0].result().unwrap_err().raw_os_error().unwrap(),
161+
libc::ECANCELED
162+
); // -ECANCELED
163+
assert_eq!(
164+
cqes[1].result().unwrap_err().raw_os_error().unwrap(),
165+
libc::ECANCELED
166+
);
167+
assert_eq!(cqes[2].result().unwrap(), 2); // the number of requests cancelled
153168

154169
Ok(())
155170
}
@@ -196,8 +211,11 @@ pub fn test_async_cancel_fd<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
196211
assert_eq!(cqes[0].user_data(), 2003);
197212
assert_eq!(cqes[1].user_data(), 2004);
198213

199-
assert_eq!(cqes[0].result(), -libc::ECANCELED); // -ECANCELED
200-
assert_eq!(cqes[1].result(), 0);
214+
assert_eq!(
215+
cqes[0].result().unwrap_err().raw_os_error().unwrap(),
216+
libc::ECANCELED
217+
); // -ECANCELED
218+
assert_eq!(cqes[1].result().unwrap(), 0);
201219

202220
Ok(())
203221
}
@@ -247,9 +265,15 @@ pub fn test_async_cancel_fd_all<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
247265
assert_eq!(cqes[1].user_data(), 2004);
248266
assert_eq!(cqes[2].user_data(), 2005);
249267

250-
assert_eq!(cqes[0].result(), -libc::ECANCELED); // -ECANCELED
251-
assert_eq!(cqes[1].result(), -libc::ECANCELED);
252-
assert_eq!(cqes[2].result(), 2); // the number of requests cancelled
268+
assert_eq!(
269+
cqes[0].result().unwrap_err().raw_os_error().unwrap(),
270+
libc::ECANCELED
271+
); // -ECANCELED
272+
assert_eq!(
273+
cqes[1].result().unwrap_err().raw_os_error().unwrap(),
274+
libc::ECANCELED
275+
);
276+
assert_eq!(cqes[2].result().unwrap(), 2); // the number of requests cancelled
253277

254278
Ok(())
255279
}

io-uring-test/src/tests/epoll.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ pub fn test_ready<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
6161
.next()
6262
.unwrap();
6363
assert_eq!(cqe.user_data(), REQ_TYPE_EPOLL_WAIT);
64-
assert_eq!(cqe.result(), 2);
64+
assert_eq!(cqe.result().unwrap(), 2);
6565

6666
// read
6767

@@ -114,8 +114,8 @@ pub fn test_not_ready<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
114114
ring.submit_and_wait(1)?;
115115
for cqe in ring.completion().map(Into::<cqueue::Entry>::into).take(1) {
116116
assert_eq!(cqe.user_data(), REQ_TYPE_EPOLL_WAIT);
117-
assert!(0 <= cqe.result() && cqe.result() <= 2);
118-
nr = cqe.result();
117+
assert!(cqe.result().unwrap() <= 2);
118+
nr = cqe.result().unwrap();
119119
}
120120

121121
// read
@@ -186,7 +186,7 @@ pub fn test_delete<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
186186
for cqe in ring.completion().map(Into::<cqueue::Entry>::into).take(1) {
187187
assert_eq!(cqe.user_data(), REQ_TYPE_EPOLL_WAIT);
188188
// check for only one event
189-
assert!(cqe.result() == 1);
189+
assert_eq!(cqe.result().unwrap(), 1);
190190
}
191191

192192
// check that both writes still happened
@@ -261,9 +261,9 @@ pub fn test_remove<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
261261
ring.submit_and_wait(1)?;
262262
for cqe in ring.completion().map(Into::<cqueue::Entry>::into).take(1) {
263263
assert_eq!(cqe.user_data(), REQ_TYPE_EPOLL_WAIT);
264-
let err = cqe.result();
264+
let err = cqe.result().unwrap_err().raw_os_error().unwrap();
265265
// check that we got the expected errors
266-
assert!([-::libc::EAGAIN, -::libc::EBADF].contains(&err));
266+
assert!([libc::EAGAIN, libc::EBADF].contains(&err));
267267
}
268268

269269
Ok(())
@@ -342,8 +342,7 @@ pub fn test_race<S: squeue::EntryMarker, C: cqueue::EntryMarker>(
342342
.map(Into::<cqueue::Entry>::into)
343343
.unwrap();
344344
assert_eq!(cqe.user_data(), REQ_TYPE_EPOLL_WAIT);
345-
assert!(cqe.result() >= 0);
346-
let nr = cqe.result();
345+
let nr = cqe.result().unwrap();
347346

348347
// process the events
349348
prune_read(&mut readers, &events, nr as _)?;

0 commit comments

Comments
 (0)