diff --git a/test/integration/test_uv_tcp_connect.c b/test/integration/test_uv_tcp_connect.c index 6189c1561..86b096916 100644 --- a/test/integration/test_uv_tcp_connect.c +++ b/test/integration/test_uv_tcp_connect.c @@ -217,6 +217,18 @@ TEST(tcp_connect, closeImmediately, setUp, tearDownDeps, 0, NULL) TEST(tcp_connect, closeDuringHandshake, setUp, tearDownDeps, 0, NULL) { struct fixture *f = data; + + /* This test fails for libuv version >= 1.44.2 due to changes in uv_run + * whereby queueing and processing the write_cb happen in the same loop + * iteration, not leaving us a chance to close without going through a lot + * of hoops. + * https://github.com/libuv/libuv/pull/3598 */ + unsigned incompatible_uv = (1 << 16) | (44 << 8) | 2; + if (uv_version() >= incompatible_uv) { + CLOSE; + return MUNIT_SKIP; + } + CONNECT_CLOSE(2, TCP_SERVER_ADDRESS, 1); return MUNIT_OK; }