On Mon, 2022-11-07 at 20:04 +0700, Ammar Faizi wrote: > On 11/7/22 7:35 PM, Dylan Yudaken wrote: > > +static int test_defer_taskrun(void) > > +{ > > + struct io_uring_sqe *sqe; > > + struct io_uring ring; > > + int ret, fds[2]; > > + char buff = 'x'; > > + > > + ret = io_uring_queue_init(8, &ring, > > + IORING_SETUP_DEFER_TASKRUN | > > IORING_SETUP_SINGLE_ISSUER); > > + if (ret) > > + return T_EXIT_SKIP; > > You return T_EXIT_SKIP from test_defer_taskrun(). But the > call site is: > > > + if (t_probe_defer_taskrun()) { > > + ret = test_defer_taskrun(); > > + if (ret) { > > + fprintf(stderr, "test_defer failed\n"); > > + return T_EXIT_FAIL; > > + } > > + } > > T_EXIT_SKIP is 77. So the block inside the "if" is taken. > End result you get T_EXIT_FAIL. > > T_EXIT_SKIP in your code doesn't really mean skip. > Ah yes - I added the probe and then forgot to take out the skip. Thanks for spotting. Dylan