FAIL_ERRNO
FAIL_ERRNO("listen"); \
FAIL_ERRNO("setsockopt(" #name ")"); \
FAIL_ERRNO("send"); \
FAIL_ERRNO("recv"); \
FAIL_ERRNO("socket"); \
FAIL_ERRNO("connect");
FAIL_ERRNO("poll_connect");
FAIL_ERRNO("getsockopt(SO_DOMAIN)");
FAIL_ERRNO("getsockopt(SO_TYPE)");
FAIL_ERRNO("accept"); \
FAIL_ERRNO("bind"); \
FAIL_ERRNO("close"); \
FAIL_ERRNO("connect"); \
FAIL_ERRNO("getsockname"); \
FAIL_ERRNO("getsockopt(" #name ")"); \
FAIL_ERRNO("map_delete"); \
FAIL_ERRNO("map_lookup"); \
FAIL_ERRNO("map_update"); \
FAIL_ERRNO("prog_attach(" #type ")"); \
FAIL_ERRNO("prog_detach2(" #type ")"); \
FAIL_ERRNO("pthread_create"); \
FAIL_ERRNO("pthread_join"); \
FAIL_ERRNO("connect: expected ECONNREFUSED");
FAIL_ERRNO("connect: expected ECONNREFUSED");
FAIL_ERRNO("map_delete: expected EINVAL/ENOENT");
FAIL_ERRNO("map_delete: expected EINVAL/EINVAL");
FAIL_ERRNO("map_lookup: expected ENOENT");
FAIL_ERRNO("map_create");
FAIL_ERRNO("map_lookup: expected ENOSPC");
FAIL_ERRNO("map_update: expected EINVAL");
FAIL_ERRNO("map_update: expected EBADF");
FAIL_ERRNO("map_update");
FAIL_ERRNO("map_delete");
FAIL_ERRNO("map_update: expected EOPNOTSUPP");
FAIL_ERRNO("%s: write", log_prefix);
FAIL_ERRNO("map_update: expected success");
FAIL_ERRNO("%s: recv_timeout", log_prefix);
FAIL_ERRNO("%s: write", log_prefix);
FAIL_ERRNO("map_update: expected EOPNOTSUPP");
FAIL_ERRNO("%s: unexpected failure: retval=%zd", prefix, n);
FAIL_ERRNO("unsupported: packet missing, retval=%zd", n);
FAIL_ERRNO("send");
FAIL_ERRNO("recv_timeout()");