diff options
Diffstat (limited to 'main/libuv')
-rw-r--r-- | main/libuv/APKBUILD | 9 | ||||
-rw-r--r-- | main/libuv/revert-test-udp-multicast-join-1.31.patch | 161 |
2 files changed, 167 insertions, 3 deletions
diff --git a/main/libuv/APKBUILD b/main/libuv/APKBUILD index 992616e865..443ce80cb4 100644 --- a/main/libuv/APKBUILD +++ b/main/libuv/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=libuv pkgver=1.33.1 -pkgrel=0 +pkgrel=1 pkgdesc="Cross-platform asychronous I/O" url="https://libuv.org" arch="all" @@ -11,7 +11,9 @@ license="MIT BSD ISC" makedepends_build="automake autoconf libtool" makedepends_host="linux-headers" subpackages="$pkgname-static $pkgname-dev $pkgname-dbg" -source="https://dist.libuv.org/dist/v$pkgver/libuv-v$pkgver.tar.gz" +source="https://dist.libuv.org/dist/v$pkgver/libuv-v$pkgver.tar.gz + revert-test-udp-multicast-join-1.31.patch + " builddir="$srcdir/$pkgname-v$pkgver" prepare() { @@ -53,4 +55,5 @@ package() { "$pkgdir"/usr/share/licenses/$pkgname/LICENSE } -sha512sums="58d1568beaec42052a2c11efdae9f75f4bf5d3e428c863d48cdc73874083b9395b509dac8b187524a09f4ceae1659ea1dfceb9ffb621e9a7574bb12ac76051d4 libuv-v1.33.1.tar.gz" +sha512sums="58d1568beaec42052a2c11efdae9f75f4bf5d3e428c863d48cdc73874083b9395b509dac8b187524a09f4ceae1659ea1dfceb9ffb621e9a7574bb12ac76051d4 libuv-v1.33.1.tar.gz +f341410a6c693d4ef6c11b72d13d28690dcab3978b500c9cdf5ee5dbee0b9703b92d39f117109c5b3069831b5c92d804fc161de107a95f42dfdad0ffcb96868b revert-test-udp-multicast-join-1.31.patch" diff --git a/main/libuv/revert-test-udp-multicast-join-1.31.patch b/main/libuv/revert-test-udp-multicast-join-1.31.patch new file mode 100644 index 0000000000..236f4d440a --- /dev/null +++ b/main/libuv/revert-test-udp-multicast-join-1.31.patch @@ -0,0 +1,161 @@ +From a3777bc180b1dd2233d27abab35451f7bcb3b2b4 Mon Sep 17 00:00:00 2001 +From: Min RK <benjaminrk@gmail.com> +Date: Tue, 1 Oct 2019 16:26:16 +0200 +Subject: [PATCH] revert test-udp-multicast-join to 1.31 + +new test fails on macOS + +created with + +``` +git checkout v1.32.0 +git checkout v1.31.0 test/test-udp-multicast-join.c +git commit +git format-patch v1.32.0 +``` + +--- + test/test-udp-multicast-join.c | 74 ++++++++++------------------------ + 1 file changed, 22 insertions(+), 52 deletions(-) + +diff --git a/test/test-udp-multicast-join.c b/test/test-udp-multicast-join.c +index 6bac072d..053d2f79 100644 +--- a/test/test-udp-multicast-join.c ++++ b/test/test-udp-multicast-join.c +@@ -29,12 +29,8 @@ + #define CHECK_HANDLE(handle) \ + ASSERT((uv_udp_t*)(handle) == &server || (uv_udp_t*)(handle) == &client) + +-#define MULTICAST_ADDR "239.255.0.1" +- + static uv_udp_t server; + static uv_udp_t client; +-static uv_udp_send_t req; +-static uv_udp_send_t req_ss; + + static int cl_recv_cb_called; + +@@ -66,26 +62,7 @@ static void sv_send_cb(uv_udp_send_t* req, int status) { + + sv_send_cb_called++; + +- if (sv_send_cb_called == 2) +- uv_close((uv_handle_t*) req->handle, close_cb); +-} +- +- +-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)); +- +- /* client sends "PING" */ +- return uv_udp_send(send_req, +- &client, +- &buf, +- 1, +- (const struct sockaddr*) &addr, +- sv_send_cb); ++ uv_close((uv_handle_t*) req->handle, close_cb); + } + + +@@ -97,6 +74,8 @@ static void cl_recv_cb(uv_udp_t* handle, + CHECK_HANDLE(handle); + ASSERT(flags == 0); + ++ cl_recv_cb_called++; ++ + if (nread < 0) { + ASSERT(0 && "unexpected error"); + } +@@ -111,35 +90,18 @@ static void cl_recv_cb(uv_udp_t* handle, + ASSERT(nread == 4); + ASSERT(!memcmp("PING", buf->base, nread)); + +- cl_recv_cb_called++; +- +- if (cl_recv_cb_called == 2) { +- /* we are done with the server handle, we can close it */ +- uv_close((uv_handle_t*) &server, close_cb); +- } else { +- int r; +- char source_addr[64]; +- +- r = uv_ip4_name((const struct sockaddr_in*)addr, source_addr, sizeof(source_addr)); +- ASSERT(r == 0); +- +- r = uv_udp_set_membership(&server, MULTICAST_ADDR, NULL, UV_LEAVE_GROUP); +- ASSERT(r == 0); +- +- r = uv_udp_set_source_membership(&server, MULTICAST_ADDR, NULL, source_addr, UV_JOIN_GROUP); +- ASSERT(r == 0); +- +- r = do_send(&req_ss); +- ASSERT(r == 0); +- } ++ /* we are done with the client handle, we can close it */ ++ uv_close((uv_handle_t*) &client, close_cb); + } + + + TEST_IMPL(udp_multicast_join) { + int r; ++ uv_udp_send_t req; ++ uv_buf_t buf; + struct sockaddr_in addr; + +- ASSERT(0 == uv_ip4_addr("0.0.0.0", TEST_PORT, &addr)); ++ ASSERT(0 == uv_ip4_addr("127.0.0.1", TEST_PORT, &addr)); + + r = uv_udp_init(uv_default_loop(), &server); + ASSERT(r == 0); +@@ -148,19 +110,27 @@ TEST_IMPL(udp_multicast_join) { + ASSERT(r == 0); + + /* bind to the desired port */ +- r = uv_udp_bind(&server, (const struct sockaddr*) &addr, 0); ++ r = uv_udp_bind(&client, (const struct sockaddr*) &addr, 0); + ASSERT(r == 0); + + /* join the multicast channel */ +- r = uv_udp_set_membership(&server, MULTICAST_ADDR, NULL, UV_JOIN_GROUP); ++ r = uv_udp_set_membership(&client, "239.255.0.1", NULL, UV_JOIN_GROUP); + if (r == UV_ENODEV) + RETURN_SKIP("No multicast support."); + ASSERT(r == 0); + +- r = uv_udp_recv_start(&server, alloc_cb, cl_recv_cb); ++ r = uv_udp_recv_start(&client, alloc_cb, cl_recv_cb); + ASSERT(r == 0); + +- r = do_send(&req); ++ buf = uv_buf_init("PING", 4); ++ ++ /* server sends "PING" */ ++ r = uv_udp_send(&req, ++ &server, ++ &buf, ++ 1, ++ (const struct sockaddr*) &addr, ++ sv_send_cb); + ASSERT(r == 0); + + ASSERT(close_cb_called == 0); +@@ -170,8 +140,8 @@ TEST_IMPL(udp_multicast_join) { + /* run the loop till all events are processed */ + uv_run(uv_default_loop(), UV_RUN_DEFAULT); + +- ASSERT(cl_recv_cb_called == 2); +- ASSERT(sv_send_cb_called == 2); ++ ASSERT(cl_recv_cb_called == 1); ++ ASSERT(sv_send_cb_called == 1); + ASSERT(close_cb_called == 2); + + MAKE_VALGRIND_HAPPY(); +-- +2.23.0 + |