diff --git a/test/test-tcp-close-while-connecting.c b/test/test-tcp-close-while-connecting.c index d19dcbfee..4a4196cf1 100644 --- a/test/test-tcp-close-while-connecting.c +++ b/test/test-tcp-close-while-connecting.c @@ -60,12 +60,16 @@ TEST_IMPL(tcp_close_while_connecting) { uv_connect_t connect_req; struct sockaddr_in addr; uv_loop_t* loop; + int r; addr = uv_ip4_addr("1.2.3.4", TEST_PORT); loop = uv_default_loop(); ASSERT(0 == uv_tcp_init(loop, &tcp_handle)); - ASSERT(0 == uv_tcp_connect(&connect_req, &tcp_handle, addr, connect_cb)); + r = uv_tcp_connect(&connect_req, &tcp_handle, addr, connect_cb); + if (r == -1 && uv_last_error(uv_default_loop()).code == UV_ENETUNREACH) + RETURN_SKIP("Network unreachable."); + ASSERT(r == 0); ASSERT(0 == uv_timer_init(loop, &timer1_handle)); ASSERT(0 == uv_timer_start(&timer1_handle, timer1_cb, 50, 0)); ASSERT(0 == uv_timer_init(loop, &timer2_handle)); diff --git a/test/test-tcp-connect-timeout.c b/test/test-tcp-connect-timeout.c index 0569b6b0f..33992024a 100644 --- a/test/test-tcp-connect-timeout.c +++ b/test/test-tcp-connect-timeout.c @@ -76,6 +76,8 @@ TEST_IMPL(tcp_connect_timeout) { ASSERT(r == 0); r = uv_tcp_connect(&connect_req, &conn, addr, connect_cb); + if (r == -1 && uv_last_error(uv_default_loop()).code == UV_ENETUNREACH) + RETURN_SKIP("Network unreachable."); ASSERT(r == 0); r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); diff --git a/test/test-udp-multicast-join.c b/test/test-udp-multicast-join.c index 83ec46b8d..3134d3eee 100644 --- a/test/test-udp-multicast-join.c +++ b/test/test-udp-multicast-join.c @@ -113,6 +113,8 @@ TEST_IMPL(udp_multicast_join) { /* join the multicast channel */ r = uv_udp_set_membership(&client, "239.255.0.1", NULL, UV_JOIN_GROUP); + if (r == -1 && uv_last_error(uv_default_loop()).code == UV_ENODEV) + RETURN_SKIP("No multicast support."); ASSERT(r == 0); r = uv_udp_recv_start(&client, alloc_cb, cl_recv_cb); diff --git a/test/test-udp-multicast-ttl.c b/test/test-udp-multicast-ttl.c index 6d3698367..c9d24597c 100644 --- a/test/test-udp-multicast-ttl.c +++ b/test/test-udp-multicast-ttl.c @@ -44,7 +44,11 @@ static void close_cb(uv_handle_t* handle) { static void sv_send_cb(uv_udp_send_t* req, int status) { ASSERT(req != NULL); - ASSERT(status == 0); + if (status == -1) { + ASSERT(uv_last_error(uv_default_loop()).code == UV_ENETUNREACH); + } else { + ASSERT(status == 0); + } CHECK_HANDLE(req->handle); sv_send_cb_called++;