summaryrefslogtreecommitdiff
path: root/deps/uv/test
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2013-03-29 16:10:56 +0100
committerBen Noordhuis <info@bnoordhuis.nl>2013-03-29 16:10:56 +0100
commit87f9ece334953bcf0f2d07811728df72cb572ea3 (patch)
tree495dcec91865d6feef451631b2d82f9d547e82fa /deps/uv/test
parent74ef94907277d8aa29d23cef29aee25161960376 (diff)
downloadnode-new-87f9ece334953bcf0f2d07811728df72cb572ea3.tar.gz
deps: upgrade libuv to c43e851
Diffstat (limited to 'deps/uv/test')
-rw-r--r--deps/uv/test/test-getaddrinfo.c29
-rw-r--r--deps/uv/test/test-list.h2
-rw-r--r--deps/uv/test/test-threadpool-cancel.c4
3 files changed, 34 insertions, 1 deletions
diff --git a/deps/uv/test/test-getaddrinfo.c b/deps/uv/test/test-getaddrinfo.c
index dd022072ab..b515c8a02e 100644
--- a/deps/uv/test/test-getaddrinfo.c
+++ b/deps/uv/test/test-getaddrinfo.c
@@ -33,6 +33,18 @@ static int getaddrinfo_cbs = 0;
static uv_getaddrinfo_t* getaddrinfo_handle;
static uv_getaddrinfo_t getaddrinfo_handles[CONCURRENT_COUNT];
static int callback_counts[CONCURRENT_COUNT];
+static int fail_cb_called;
+
+
+static void getaddrinfo_fail_cb(uv_getaddrinfo_t* req,
+ int status,
+ struct addrinfo* res) {
+ ASSERT(fail_cb_called == 0);
+ ASSERT(status == -1);
+ ASSERT(res == NULL);
+ uv_freeaddrinfo(res); /* Should not crash. */
+ fail_cb_called++;
+}
static void getaddrinfo_basic_cb(uv_getaddrinfo_t* handle,
@@ -68,6 +80,23 @@ static void getaddrinfo_cuncurrent_cb(uv_getaddrinfo_t* handle,
}
+TEST_IMPL(getaddrinfo_fail) {
+ uv_getaddrinfo_t req;
+
+ ASSERT(0 == uv_getaddrinfo(uv_default_loop(),
+ &req,
+ getaddrinfo_fail_cb,
+ "xyzzy.xyzzy.xyzzy",
+ NULL,
+ NULL));
+ ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT));
+ ASSERT(fail_cb_called == 1);
+
+ MAKE_VALGRIND_HAPPY();
+ return 0;
+}
+
+
TEST_IMPL(getaddrinfo_basic) {
int r;
getaddrinfo_handle = (uv_getaddrinfo_t*)malloc(sizeof(uv_getaddrinfo_t));
diff --git a/deps/uv/test/test-list.h b/deps/uv/test/test-list.h
index 016f627110..30a2a0a28f 100644
--- a/deps/uv/test/test-list.h
+++ b/deps/uv/test/test-list.h
@@ -136,6 +136,7 @@ TEST_DECLARE (process_title)
TEST_DECLARE (cwd_and_chdir)
TEST_DECLARE (get_memory)
TEST_DECLARE (hrtime)
+TEST_DECLARE (getaddrinfo_fail)
TEST_DECLARE (getaddrinfo_basic)
TEST_DECLARE (getaddrinfo_concurrent)
TEST_DECLARE (getsockname_tcp)
@@ -398,6 +399,7 @@ TASK_LIST_START
TEST_ENTRY (hrtime)
+ TEST_ENTRY (getaddrinfo_fail)
TEST_ENTRY (getaddrinfo_basic)
TEST_ENTRY (getaddrinfo_concurrent)
diff --git a/deps/uv/test/test-threadpool-cancel.c b/deps/uv/test/test-threadpool-cancel.c
index f000c1a86b..0a21357b9a 100644
--- a/deps/uv/test/test-threadpool-cancel.c
+++ b/deps/uv/test/test-threadpool-cancel.c
@@ -121,7 +121,9 @@ static void getaddrinfo_cb(uv_getaddrinfo_t* req,
int status,
struct addrinfo* res) {
ASSERT(UV_ECANCELED == uv_last_error(req->loop).code);
- ASSERT(UV_ECANCELED == status);
+ ASSERT(status == -1);
+ ASSERT(res == NULL);
+ uv_freeaddrinfo(res); /* Should not crash. */
getaddrinfo_cb_called++;
}