test: add tests for epoll_wait() failure modes
This commit is contained in:
parent
a2f6609d57
commit
af9a6eb40f
@ -58,7 +58,49 @@ int main(void) {
|
|||||||
|
|
||||||
{
|
{
|
||||||
/* Test epoll_wait() errors. */
|
/* Test epoll_wait() errors. */
|
||||||
/* TODO. */
|
HANDLE valid_ephnd;
|
||||||
|
struct epoll_event evs[1];
|
||||||
|
int r;
|
||||||
|
|
||||||
|
valid_ephnd = epoll_create1(0);
|
||||||
|
check(valid_ephnd != NULL);
|
||||||
|
|
||||||
|
/* Invalid `ephnd` */
|
||||||
|
r = epoll_wait(NULL, evs, 1, 0);
|
||||||
|
check_error(r == -1, EBADF, ERROR_INVALID_HANDLE);
|
||||||
|
r = epoll_wait(INVALID_HANDLE_VALUE, evs, 1, 0);
|
||||||
|
check_error(r == -1, EBADF, ERROR_INVALID_HANDLE);
|
||||||
|
r = epoll_wait(bad_value, evs, 1, 0);
|
||||||
|
check_error(r == -1, EBADF, ERROR_INVALID_HANDLE);
|
||||||
|
r = epoll_wait(bad_type, evs, 1, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
|
||||||
|
/* Zero `maxevents` */
|
||||||
|
r = epoll_wait(valid_ephnd, evs, 0, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(NULL, evs, 0, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(INVALID_HANDLE_VALUE, evs, 0, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(bad_value, evs, 0, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(bad_type, evs, 0, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
|
||||||
|
/* Negative `maxevents` */
|
||||||
|
r = epoll_wait(valid_ephnd, evs, -1, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(NULL, evs, -1, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(INVALID_HANDLE_VALUE, evs, -1, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(bad_value, evs, -1, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
r = epoll_wait(bad_type, evs, -1, 0);
|
||||||
|
check_error(r == -1, EINVAL, ERROR_INVALID_PARAMETER);
|
||||||
|
|
||||||
|
r = epoll_close(valid_ephnd);
|
||||||
|
check(r == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
CloseHandle(bad_type);
|
CloseHandle(bad_type);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user