aboutsummaryrefslogtreecommitdiffstats
path: root/main/libuv
diff options
context:
space:
mode:
authorKevin Daudt <kdaudt@alpinelinux.org>2019-10-20 21:09:34 +0000
committerKevin Daudt <kdaudt@alpinelinux.org>2019-10-20 21:22:15 +0000
commit63dc6b50e39cd6e6a899d1589cff3a87c91d4580 (patch)
tree2ebf4d765dbe4155720dc15c7a6fa1910998d0c6 /main/libuv
parent969161881e5e41e32efe4ddfcb8d3b37203bd1f6 (diff)
downloadaports-63dc6b50e39cd6e6a899d1589cff3a87c91d4580.tar.bz2
aports-63dc6b50e39cd6e6a899d1589cff3a87c91d4580.tar.xz
main/libuv: revert test for udp multicast join
This test is breaking on ppc64le and causes more issues: https://github.com/libuv/libuv/issues/2468 https://github.com/clearlinux-pkgs/libuv/commit/a4cbe099b2a60d1598f35bcbf6641903c17ba7bf
Diffstat (limited to 'main/libuv')
-rw-r--r--main/libuv/APKBUILD9
-rw-r--r--main/libuv/revert-test-udp-multicast-join-1.31.patch161
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
+