diff --git a/test/test-delayed-accept.c b/test/test-delayed-accept.c index 6856a43e..6f2ec776 100644 --- a/test/test-delayed-accept.c +++ b/test/test-delayed-accept.c @@ -132,15 +132,20 @@ static void start_server() { static void read_cb(uv_tcp_t* tcp, ssize_t nread, uv_buf_t buf) { /* The server will not send anything, it should close gracefully. */ - ASSERT(tcp != NULL); - ASSERT(nread == -1); - ASSERT(uv_last_error().code == UV_EOF); if (buf.base) { free(buf.base); } - uv_close((uv_handle_t*)tcp, close_cb); + if (nread != -1) { + ASSERT(nread == 0); + ASSERT(uv_last_error().code == UV_EAGAIN); + } else { + ASSERT(tcp != NULL); + ASSERT(nread == -1); + ASSERT(uv_last_error().code == UV_EOF); + uv_close((uv_handle_t*)tcp, close_cb); + } } diff --git a/test/test-shutdown-eof.c b/test/test-shutdown-eof.c index a884addc..89645071 100644 --- a/test/test-shutdown-eof.c +++ b/test/test-shutdown-eof.c @@ -46,8 +46,16 @@ static uv_buf_t alloc_cb(uv_tcp_t* tcp, size_t size) { static void read_cb(uv_tcp_t* t, ssize_t nread, uv_buf_t buf) { + uv_err_t err = uv_last_error(); + ASSERT(t == &tcp); + if (nread == 0) { + ASSERT(err.code == UV_EAGAIN); + free(buf.base); + return; + } + if (!got_q) { ASSERT(nread == 1); ASSERT(!got_eof); @@ -56,7 +64,7 @@ static void read_cb(uv_tcp_t* t, ssize_t nread, uv_buf_t buf) { got_q = 1; puts("got Q"); } else { - ASSERT(uv_last_error().code == UV_EOF); + ASSERT(err.code == UV_EOF); if (buf.base) { free(buf.base); }