From af15cbe6e936f8e3974af5b97133bd76a7545485 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Wed, 22 Jun 2011 14:04:06 +0200 Subject: [PATCH] Handle EAGAIN in some of the read_cb tests --- test/test-delayed-accept.c | 13 +++++++++---- test/test-shutdown-eof.c | 10 +++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) 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); }