ATF_TC_BODY(aio_unix_socketpair_test, tc) { struct aio_unix_socketpair_arg arg; struct aio_context ac; int sockets[2]; ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_MSG(socketpair(PF_UNIX, SOCK_STREAM, 0, sockets) != -1, "socketpair failed: %s", strerror(errno)); arg.asa_sockets[0] = sockets[0]; arg.asa_sockets[1] = sockets[1]; aio_context_init(&ac, sockets[0], sockets[1], UNIX_SOCKETPAIR_LEN, UNIX_SOCKETPAIR_TIMEOUT, aio_unix_socketpair_cleanup, &arg); aio_write_test(&ac); aio_read_test(&ac); aio_unix_socketpair_cleanup(&arg); }
static int aio_unix_socketpair_test(void) { struct aio_unix_socketpair_arg arg; struct aio_context ac; int sockets[2]; if (socketpair(PF_UNIX, SOCK_STREAM, 0, sockets) < 0) errx(-1, "FAIL: aio_socketpair_test: socketpair: %s", strerror(errno)); arg.asa_sockets[0] = sockets[0]; arg.asa_sockets[1] = sockets[1]; aio_context_init(&ac, "aio_unix_socketpair_test", sockets[0], sockets[1], UNIX_SOCKETPAIR_LEN, UNIX_SOCKETPAIR_TIMEOUT, aio_unix_socketpair_cleanup, &arg); aio_write_test(&ac); aio_read_test(&ac); aio_unix_socketpair_cleanup(&arg); fprintf(stderr, "PASS: aio_unix_socketpair_test\n"); }