mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
42 lines
924 B
Raku
42 lines
924 B
Raku
/* 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;
|
|
}
|
|
|