/* 2.t - io_setup (#2) - with invalid context pointer - with maxevents <= 0 - with an already initialized ctxp */ int attempt(int n, io_context_t *ctxp, int expect) { int res; printf("expect %3d: io_setup(%5d, %p) = ", expect, n, ctxp); fflush(stdout); res = io_setup(n, ctxp); printf("%3d [%s]%s\n", res, strerror(-res), (res != expect) ? " -- FAILED" : ""); if (res != expect) return 1; return 0; } int test_main(void) { io_context_t ctx; int status = 0; ctx = NULL; status |= attempt(-1000, KERNEL_RW_POINTER, -EFAULT); status |= attempt( 1000, KERNEL_RW_POINTER, -EFAULT); status |= attempt( 0, KERNEL_RW_POINTER, -EFAULT); status |= attempt(-1000, &ctx, -EINVAL); status |= attempt( -1, &ctx, -EINVAL); status |= attempt( 0, &ctx, -EINVAL); assert(ctx == NULL); status |= attempt( 1, &ctx, 0); status |= attempt( 1, &ctx, -EINVAL); return status; }