summaryrefslogtreecommitdiff
path: root/deps/uv/test
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-10-19 16:46:32 -0500
committercjihrig <cjihrig@gmail.com>2019-10-20 10:13:31 -0500
commit7d433a936bce26707f7a10bb56b121fe0dfb0a66 (patch)
treeee46549068d0ba1c62b2cca0a9036182d70e0682 /deps/uv/test
parent0822bfaa9f52aea289abd0e15a90b0df2e12f7e1 (diff)
downloadandroid-node-v8-7d433a936bce26707f7a10bb56b121fe0dfb0a66.tar.gz
android-node-v8-7d433a936bce26707f7a10bb56b121fe0dfb0a66.tar.bz2
android-node-v8-7d433a936bce26707f7a10bb56b121fe0dfb0a66.zip
deps: upgrade to libuv 1.33.1
Notable changes: - uv_random() has been added. - More work to read those pesky Windows environment variables. - Several build fixes for Tier 3 platforms (Android, NetBSD, OpenBSD, Haiku). - Stop using fsevents to watch files (using kqueue again). PR-URL: https://github.com/nodejs/node/pull/29996 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Diffstat (limited to 'deps/uv/test')
-rw-r--r--deps/uv/test/test-env-vars.c8
-rw-r--r--deps/uv/test/test-fs-copyfile.c2
-rw-r--r--deps/uv/test/test-fs-event.c72
-rw-r--r--deps/uv/test/test-fs-readdir.c2
-rw-r--r--deps/uv/test/test-ip4-addr.c4
-rw-r--r--deps/uv/test/test-ip6-addr.c9
-rw-r--r--deps/uv/test/test-list.h8
-rw-r--r--deps/uv/test/test-process-title-threadsafe.c6
-rw-r--r--deps/uv/test/test-random.c94
-rw-r--r--deps/uv/test/test-threadpool-cancel.c41
-rw-r--r--deps/uv/test/test-udp-multicast-join.c2
-rw-r--r--deps/uv/test/test-udp-multicast-join6.c4
-rw-r--r--deps/uv/test/test.gyp4
13 files changed, 226 insertions, 30 deletions
diff --git a/deps/uv/test/test-env-vars.c b/deps/uv/test/test-env-vars.c
index 3814699356..3c9de95b10 100644
--- a/deps/uv/test/test-env-vars.c
+++ b/deps/uv/test/test-env-vars.c
@@ -30,7 +30,7 @@ TEST_IMPL(env_vars) {
const char* name2 = "UV_TEST_FOO2";
char buf[BUF_SIZE];
size_t size;
- int i, r, envcount, found;
+ int i, r, envcount, found, found_win_special;
uv_env_item_t* envitems;
/* Reject invalid inputs when setting an environment variable */
@@ -108,6 +108,7 @@ TEST_IMPL(env_vars) {
ASSERT(envcount > 0);
found = 0;
+ found_win_special = 0;
for (i = 0; i < envcount; i++) {
/* printf("Env: %s = %s\n", envitems[i].name, envitems[i].value); */
@@ -117,10 +118,15 @@ TEST_IMPL(env_vars) {
} else if (strcmp(envitems[i].name, name2) == 0) {
found++;
ASSERT(strlen(envitems[i].value) == 0);
+ } else if (envitems[i].name[0] == '=') {
+ found_win_special++;
}
}
ASSERT(found == 2);
+#ifdef _WIN32
+ ASSERT(found_win_special > 0);
+#endif
uv_os_free_environ(envitems, envcount);
diff --git a/deps/uv/test/test-fs-copyfile.c b/deps/uv/test/test-fs-copyfile.c
index def3d967e7..c3e698e585 100644
--- a/deps/uv/test/test-fs-copyfile.c
+++ b/deps/uv/test/test-fs-copyfile.c
@@ -188,7 +188,7 @@ TEST_IMPL(fs_copyfile) {
unlink(dst);
r = uv_fs_copyfile(NULL, &req, fixture, dst, UV_FS_COPYFILE_FICLONE_FORCE,
NULL);
- ASSERT(r == 0 || r == UV_ENOSYS || r == UV_ENOTSUP);
+ ASSERT(r <= 0);
if (r == 0)
handle_result(&req);
diff --git a/deps/uv/test/test-fs-event.c b/deps/uv/test/test-fs-event.c
index ea34bd63a7..e694d258ea 100644
--- a/deps/uv/test/test-fs-event.c
+++ b/deps/uv/test/test-fs-event.c
@@ -25,6 +25,10 @@
#include <string.h>
#include <fcntl.h>
+#if defined(__APPLE__) && !TARGET_OS_IPHONE
+# include <AvailabilityMacros.h>
+#endif
+
#ifndef HAVE_KQUEUE
# if defined(__APPLE__) || \
defined(__DragonFly__) || \
@@ -47,6 +51,7 @@ static const char file_prefix[] = "fsevent-";
static const int fs_event_file_count = 16;
#if defined(__APPLE__) || defined(_WIN32)
static const char file_prefix_in_subdir[] = "subdir";
+static int fs_multievent_cb_called;
#endif
static uv_timer_t timer;
static int timer_cb_called;
@@ -280,7 +285,7 @@ static void fs_event_cb_dir_multi_file_in_subdir(uv_fs_event_t* handle,
if (filename && strcmp(filename, file_prefix_in_subdir) == 0)
return;
#endif
- fs_event_cb_called++;
+ fs_multievent_cb_called++;
ASSERT(handle == &fs_event);
ASSERT(status == 0);
ASSERT(events == UV_CHANGE || events == UV_RENAME);
@@ -298,7 +303,7 @@ static void fs_event_cb_dir_multi_file_in_subdir(uv_fs_event_t* handle,
if (fs_event_created + fs_event_removed == fs_event_file_count) {
/* Once we've processed all create events, delete all files */
ASSERT(0 == uv_timer_start(&timer, fs_event_unlink_files_in_subdir, 1, 0));
- } else if (fs_event_cb_called == 2 * fs_event_file_count) {
+ } else if (fs_multievent_cb_called == 2 * fs_event_file_count) {
/* Once we've processed all create and delete events, stop watching */
uv_close((uv_handle_t*) &timer, close_cb);
uv_close((uv_handle_t*) handle, close_cb);
@@ -393,6 +398,21 @@ static void timer_cb_watch_twice(uv_timer_t* handle) {
uv_close((uv_handle_t*) handle, NULL);
}
+static void fs_event_cb_close(uv_fs_event_t* handle,
+ const char* filename,
+ int events,
+ int status) {
+ ASSERT(status == 0);
+
+ ASSERT(fs_event_cb_called < 3);
+ ++fs_event_cb_called;
+
+ if (fs_event_cb_called == 3) {
+ uv_close((uv_handle_t*) handle, close_cb);
+ }
+}
+
+
TEST_IMPL(fs_event_watch_dir) {
#if defined(NO_FS_EVENTS)
RETURN_SKIP(NO_FS_EVENTS);
@@ -434,10 +454,12 @@ TEST_IMPL(fs_event_watch_dir) {
return 0;
}
+
TEST_IMPL(fs_event_watch_dir_recursive) {
#if defined(__APPLE__) || defined(_WIN32)
uv_loop_t* loop;
int r;
+ uv_fs_event_t fs_event_root;
/* Setup */
loop = uv_default_loop();
@@ -451,17 +473,37 @@ TEST_IMPL(fs_event_watch_dir_recursive) {
r = uv_fs_event_init(loop, &fs_event);
ASSERT(r == 0);
- r = uv_fs_event_start(&fs_event, fs_event_cb_dir_multi_file_in_subdir, "watch_dir", UV_FS_EVENT_RECURSIVE);
+ r = uv_fs_event_start(&fs_event,
+ fs_event_cb_dir_multi_file_in_subdir,
+ "watch_dir",
+ UV_FS_EVENT_RECURSIVE);
ASSERT(r == 0);
r = uv_timer_init(loop, &timer);
ASSERT(r == 0);
r = uv_timer_start(&timer, fs_event_create_files_in_subdir, 100, 0);
ASSERT(r == 0);
+#ifndef _WIN32
+ /* Also try to watch the root directory.
+ * This will be noisier, so we're just checking for any couple events to happen. */
+ r = uv_fs_event_init(loop, &fs_event_root);
+ ASSERT(r == 0);
+ r = uv_fs_event_start(&fs_event_root,
+ fs_event_cb_close,
+ "/",
+ UV_FS_EVENT_RECURSIVE);
+ ASSERT(r == 0);
+#else
+ fs_event_cb_called += 3;
+ close_cb_called += 1;
+ (void)fs_event_root;
+#endif
+
uv_run(loop, UV_RUN_DEFAULT);
- ASSERT(fs_event_cb_called == fs_event_created + fs_event_removed);
- ASSERT(close_cb_called == 2);
+ ASSERT(fs_multievent_cb_called == fs_event_created + fs_event_removed);
+ ASSERT(fs_event_cb_called == 3);
+ ASSERT(close_cb_called == 3);
/* Cleanup */
fs_event_unlink_files_in_subdir(NULL);
@@ -596,6 +638,7 @@ TEST_IMPL(fs_event_watch_file_exact_path) {
* versions. Give a long delay here to let the system settle before running
* the test. */
uv_sleep(1100);
+ uv_update_time(loop);
#endif
r = uv_fs_event_init(loop, &fs_event);
@@ -656,6 +699,13 @@ TEST_IMPL(fs_event_watch_file_current_dir) {
/* Setup */
remove("watch_file");
create_file("watch_file");
+#if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_12)
+ /* Empirically, kevent seems to (sometimes) report the preceeding
+ * create_file events prior to macOS 10.11.6 in the subsequent fs_event_start
+ * So let the system settle before running the test. */
+ uv_sleep(1100);
+ uv_update_time(loop);
+#endif
r = uv_fs_event_init(loop, &fs_event);
ASSERT(r == 0);
@@ -864,18 +914,6 @@ TEST_IMPL(fs_event_close_with_pending_event) {
return 0;
}
-static void fs_event_cb_close(uv_fs_event_t* handle, const char* filename,
- int events, int status) {
- ASSERT(status == 0);
-
- ASSERT(fs_event_cb_called < 3);
- ++fs_event_cb_called;
-
- if (fs_event_cb_called == 3) {
- uv_close((uv_handle_t*) handle, close_cb);
- }
-}
-
TEST_IMPL(fs_event_close_in_callback) {
#if defined(NO_FS_EVENTS)
RETURN_SKIP(NO_FS_EVENTS);
diff --git a/deps/uv/test/test-fs-readdir.c b/deps/uv/test/test-fs-readdir.c
index a767f1fb88..5efc853cc6 100644
--- a/deps/uv/test/test-fs-readdir.c
+++ b/deps/uv/test/test-fs-readdir.c
@@ -62,12 +62,12 @@ static void empty_readdir_cb(uv_fs_t* req) {
ASSERT(req->fs_type == UV_FS_READDIR);
ASSERT(req->result == 0);
dir = req->ptr;
+ uv_fs_req_cleanup(req);
r = uv_fs_closedir(uv_default_loop(),
&closedir_req,
dir,
empty_closedir_cb);
ASSERT(r == 0);
- uv_fs_req_cleanup(req);
}
static void empty_opendir_cb(uv_fs_t* req) {
diff --git a/deps/uv/test/test-ip4-addr.c b/deps/uv/test/test-ip4-addr.c
index c72f36a694..dfefb0f914 100644
--- a/deps/uv/test/test-ip4-addr.c
+++ b/deps/uv/test/test-ip4-addr.c
@@ -42,6 +42,10 @@ TEST_IMPL(ip4_addr) {
ASSERT(UV_EINVAL == uv_ip4_addr("2555.0.0.0", TEST_PORT, &addr));
ASSERT(UV_EINVAL == uv_ip4_addr("255", TEST_PORT, &addr));
+#ifdef SIN6_LEN
+ ASSERT(addr.sin_len == sizeof(addr));
+#endif
+
/* for broken address family */
ASSERT(UV_EAFNOSUPPORT == uv_inet_pton(42, "127.0.0.1",
&addr.sin_addr.s_addr));
diff --git a/deps/uv/test/test-ip6-addr.c b/deps/uv/test/test-ip6-addr.c
index bbf33a4854..39d570659d 100644
--- a/deps/uv/test/test-ip6-addr.c
+++ b/deps/uv/test/test-ip6-addr.c
@@ -160,3 +160,12 @@ TEST_IMPL(ip6_pton) {
#undef GOOD_ADDR_LIST
#undef BAD_ADDR_LIST
+
+#ifdef SIN6_LEN
+TEST_IMPL(ip6_sin6_len) {
+ struct sockaddr_in6 s;
+ ASSERT(uv_ip6_addr("::", 0, &s) < 0);
+ ASSERT(s.sin6_len == sizeof(s));
+ return 0;
+}
+#endif
diff --git a/deps/uv/test/test-list.h b/deps/uv/test/test-list.h
index b6066f2727..ad94c52d0c 100644
--- a/deps/uv/test/test-list.h
+++ b/deps/uv/test/test-list.h
@@ -395,6 +395,7 @@ TEST_DECLARE (threadpool_queue_work_einval)
TEST_DECLARE (threadpool_multiple_event_loops)
TEST_DECLARE (threadpool_cancel_getaddrinfo)
TEST_DECLARE (threadpool_cancel_getnameinfo)
+TEST_DECLARE (threadpool_cancel_random)
TEST_DECLARE (threadpool_cancel_work)
TEST_DECLARE (threadpool_cancel_fs)
TEST_DECLARE (threadpool_cancel_single)
@@ -464,6 +465,9 @@ HELPER_DECLARE (pipe_echo_server)
TEST_DECLARE (queue_foreach_delete)
+TEST_DECLARE (random_async)
+TEST_DECLARE (random_sync)
+
TEST_DECLARE (handle_type_name)
TEST_DECLARE (req_type_name)
TEST_DECLARE (getters_setters)
@@ -1000,6 +1004,7 @@ TASK_LIST_START
TEST_ENTRY_CUSTOM (threadpool_multiple_event_loops, 0, 0, 60000)
TEST_ENTRY (threadpool_cancel_getaddrinfo)
TEST_ENTRY (threadpool_cancel_getnameinfo)
+ TEST_ENTRY (threadpool_cancel_random)
TEST_ENTRY (threadpool_cancel_work)
TEST_ENTRY (threadpool_cancel_fs)
TEST_ENTRY (threadpool_cancel_single)
@@ -1018,6 +1023,9 @@ TASK_LIST_START
TEST_ENTRY (queue_foreach_delete)
+ TEST_ENTRY (random_async)
+ TEST_ENTRY (random_sync)
+
TEST_ENTRY (handle_type_name)
TEST_ENTRY (req_type_name)
TEST_ENTRY (getters_setters)
diff --git a/deps/uv/test/test-process-title-threadsafe.c b/deps/uv/test/test-process-title-threadsafe.c
index 5b30f17f44..19098eda0c 100644
--- a/deps/uv/test/test-process-title-threadsafe.c
+++ b/deps/uv/test/test-process-title-threadsafe.c
@@ -25,11 +25,7 @@
#include <string.h>
-#ifdef __APPLE__
-# define NUM_ITERATIONS 10
-#else
-# define NUM_ITERATIONS 50
-#endif
+#define NUM_ITERATIONS 50
static const char* titles[] = {
"8L2NY0Kdj0XyNFZnmUZigIOfcWjyNr0SkMmUhKw99VLUsZFrvCQQC3XIRfNR8pjyMjXObllled",
diff --git a/deps/uv/test/test-random.c b/deps/uv/test/test-random.c
new file mode 100644
index 0000000000..2e3ce4424d
--- /dev/null
+++ b/deps/uv/test/test-random.c
@@ -0,0 +1,94 @@
+/* Copyright libuv contributors. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+#include "uv.h"
+#include "task.h"
+
+#include <string.h>
+
+static char scratch[256];
+static int random_cb_called;
+
+
+static void random_cb(uv_random_t* req, int status, void* buf, size_t buflen) {
+ char zero[sizeof(scratch)];
+
+ memset(zero, 0, sizeof(zero));
+
+ ASSERT(0 == status);
+ ASSERT(buf == (void*) scratch);
+
+ if (random_cb_called == 0) {
+ ASSERT(buflen == 0);
+ ASSERT(0 == memcmp(scratch, zero, sizeof(zero)));
+ } else {
+ ASSERT(buflen == sizeof(scratch));
+ /* Buy a lottery ticket if you manage to trip this assertion. */
+ ASSERT(0 != memcmp(scratch, zero, sizeof(zero)));
+ }
+
+ random_cb_called++;
+}
+
+
+TEST_IMPL(random_async) {
+ uv_random_t req;
+ uv_loop_t* loop;
+
+ loop = uv_default_loop();
+ ASSERT(UV_EINVAL == uv_random(loop, &req, scratch, sizeof(scratch), -1,
+ random_cb));
+ ASSERT(UV_E2BIG == uv_random(loop, &req, scratch, -1, -1, random_cb));
+
+ ASSERT(0 == uv_random(loop, &req, scratch, 0, 0, random_cb));
+ ASSERT(0 == random_cb_called);
+
+ ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
+ ASSERT(1 == random_cb_called);
+
+ ASSERT(0 == uv_random(loop, &req, scratch, sizeof(scratch), 0, random_cb));
+ ASSERT(1 == random_cb_called);
+
+ ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
+ ASSERT(2 == random_cb_called);
+
+ MAKE_VALGRIND_HAPPY();
+ return 0;
+}
+
+
+TEST_IMPL(random_sync) {
+ char zero[256];
+ char buf[256];
+
+ ASSERT(UV_EINVAL == uv_random(NULL, NULL, buf, sizeof(buf), -1, NULL));
+ ASSERT(UV_E2BIG == uv_random(NULL, NULL, buf, -1, -1, NULL));
+
+ memset(buf, 0, sizeof(buf));
+ ASSERT(0 == uv_random(NULL, NULL, buf, sizeof(buf), 0, NULL));
+
+ /* Buy a lottery ticket if you manage to trip this assertion. */
+ memset(zero, 0, sizeof(zero));
+ ASSERT(0 != memcmp(buf, zero, sizeof(zero)));
+
+ MAKE_VALGRIND_HAPPY();
+ return 0;
+}
diff --git a/deps/uv/test/test-threadpool-cancel.c b/deps/uv/test/test-threadpool-cancel.c
index dd13d8ae4b..be252c6f72 100644
--- a/deps/uv/test/test-threadpool-cancel.c
+++ b/deps/uv/test/test-threadpool-cancel.c
@@ -37,6 +37,11 @@ struct cancel_info {
uv_timer_t timer_handle;
};
+struct random_info {
+ uv_random_t random_req;
+ char buf[1];
+};
+
static unsigned fs_cb_called;
static unsigned done_cb_called;
static unsigned done2_cb_called;
@@ -143,6 +148,19 @@ static void nop_done_cb(uv_work_t* req, int status) {
}
+static void nop_random_cb(uv_random_t* req, int status, void* buf, size_t len) {
+ struct random_info* ri;
+
+ ri = container_of(req, struct random_info, random_req);
+
+ ASSERT(status == UV_ECANCELED);
+ ASSERT(buf == (void*) ri->buf);
+ ASSERT(len == sizeof(ri->buf));
+
+ done_cb_called++;
+}
+
+
TEST_IMPL(threadpool_cancel_getaddrinfo) {
uv_getaddrinfo_t reqs[4];
struct cancel_info ci;
@@ -212,6 +230,29 @@ TEST_IMPL(threadpool_cancel_getnameinfo) {
}
+TEST_IMPL(threadpool_cancel_random) {
+ struct random_info req;
+ uv_loop_t* loop;
+
+ saturate_threadpool();
+ loop = uv_default_loop();
+ ASSERT(0 == uv_random(loop,
+ &req.random_req,
+ &req.buf,
+ sizeof(req.buf),
+ 0,
+ nop_random_cb));
+ ASSERT(0 == uv_cancel((uv_req_t*) &req));
+ ASSERT(0 == done_cb_called);
+ unblock_threadpool();
+ ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
+ ASSERT(1 == done_cb_called);
+
+ MAKE_VALGRIND_HAPPY();
+ return 0;
+}
+
+
TEST_IMPL(threadpool_cancel_work) {
struct cancel_info ci;
uv_work_t reqs[16];
diff --git a/deps/uv/test/test-udp-multicast-join.c b/deps/uv/test/test-udp-multicast-join.c
index 9ee80e44e7..6bac072db0 100644
--- a/deps/uv/test/test-udp-multicast-join.c
+++ b/deps/uv/test/test-udp-multicast-join.c
@@ -74,7 +74,7 @@ static void sv_send_cb(uv_udp_send_t* req, int status) {
static int do_send(uv_udp_send_t* send_req) {
uv_buf_t buf;
struct sockaddr_in addr;
-
+
buf = uv_buf_init("PING", 4);
ASSERT(0 == uv_ip4_addr(MULTICAST_ADDR, TEST_PORT, &addr));
diff --git a/deps/uv/test/test-udp-multicast-join6.c b/deps/uv/test/test-udp-multicast-join6.c
index edcd371b2c..5de27a7fb2 100644
--- a/deps/uv/test/test-udp-multicast-join6.c
+++ b/deps/uv/test/test-udp-multicast-join6.c
@@ -86,7 +86,7 @@ static void sv_send_cb(uv_udp_send_t* req, int status) {
static int do_send(uv_udp_send_t* send_req) {
uv_buf_t buf;
struct sockaddr_in6 addr;
-
+
buf = uv_buf_init("PING", 4);
ASSERT(0 == uv_ip6_addr(MULTICAST_ADDR, TEST_PORT, &addr));
@@ -195,7 +195,7 @@ TEST_IMPL(udp_multicast_join6) {
r = uv_udp_recv_start(&server, alloc_cb, cl_recv_cb);
ASSERT(r == 0);
-
+
r = do_send(&req);
ASSERT(r == 0);
diff --git a/deps/uv/test/test.gyp b/deps/uv/test/test.gyp
index 60792ad6eb..73ff42c56e 100644
--- a/deps/uv/test/test.gyp
+++ b/deps/uv/test/test.gyp
@@ -52,6 +52,7 @@
'test-hrtime.c',
'test-idle.c',
'test-idna.c',
+ 'test-ip4-addr.c',
'test-ip6-addr.c',
'test-ipc-heavy-traffic-deadlock-bug.c',
'test-ipc-send-recv.c',
@@ -90,6 +91,7 @@
'test-process-title.c',
'test-process-title-threadsafe.c',
'test-queue-foreach-delete.c',
+ 'test-random.c',
'test-ref.c',
'test-run-nowait.c',
'test-run-once.c',
@@ -158,8 +160,6 @@
'test-udp-multicast-join6.c',
'test-dlerror.c',
'test-udp-multicast-ttl.c',
- 'test-ip4-addr.c',
- 'test-ip6-addr.c',
'test-udp-multicast-interface.c',
'test-udp-multicast-interface6.c',
'test-udp-try-send.c',