From 09207b8075e0e5a2c7b05d0b57952c0b0455e25e Mon Sep 17 00:00:00 2001 From: Abdirahim Musse <33973272+abmusse@users.noreply.github.com> Date: Wed, 17 May 2023 15:11:28 -0500 Subject: [PATCH] test: handle EUNATCH When IPv6 is disabled IBM i returns EUNATCH (errno 42) instead of EADDRNOTAVAIL. libuv 1.46.0 adds EUNATCH errno We can now use error.code to refer to EUNATCH in node versions that use libuv 1.46.0. --- .../test-net-autoselectfamily-commandline-option.js | 5 ++--- test/parallel/test-net-autoselectfamily-default.js | 9 ++------- test/parallel/test-net-autoselectfamily.js | 9 ++------- 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/test/parallel/test-net-autoselectfamily-commandline-option.js b/test/parallel/test-net-autoselectfamily-commandline-option.js index a99bf02cf02d3a..679d2d62abaeb6 100644 --- a/test/parallel/test-net-autoselectfamily-commandline-option.js +++ b/test/parallel/test-net-autoselectfamily-commandline-option.js @@ -87,9 +87,8 @@ function createDnsServer(ipv6Addr, ipv4Addr, cb) { assert.strictEqual(error.message, `connect ECONNREFUSED ::1:${port}`); } else if (error.code === 'EAFNOSUPPORT') { assert.strictEqual(error.message, `connect EAFNOSUPPORT ::1:${port} - Local (undefined:undefined)`); - } else { - assert.strictEqual(error.code, 'EADDRNOTAVAIL'); - assert.strictEqual(error.message, `connect EADDRNOTAVAIL ::1:${port} - Local (:::0)`); + } else if (error.code === 'EADDRNOTAVAIL' || error.code === 'EUNATCH') { + assert.strictEqual(error.message, `connect ${error.code} ::1:${port} - Local (:::0)`); } ipv4Server.close(); diff --git a/test/parallel/test-net-autoselectfamily-default.js b/test/parallel/test-net-autoselectfamily-default.js index 2c87bf97dfa87e..b7e6ef57c57660 100644 --- a/test/parallel/test-net-autoselectfamily-default.js +++ b/test/parallel/test-net-autoselectfamily-default.js @@ -125,13 +125,8 @@ function createDnsServer(ipv6Addr, ipv4Addr, cb) { assert.strictEqual(error.message, `connect ECONNREFUSED ::1:${port}`); } else if (error.code === 'EAFNOSUPPORT') { assert.strictEqual(error.message, `connect EAFNOSUPPORT ::1:${port} - Local (undefined:undefined)`); - } else if (common.isIBMi) { - // IBMi returns EUNATCH (ERRNO 42) when IPv6 is disabled - // keep this errno assertion until EUNATCH is recognized by libuv - assert.strictEqual(error.errno, -42); - } else { - assert.strictEqual(error.code, 'EADDRNOTAVAIL'); - assert.strictEqual(error.message, `connect EADDRNOTAVAIL ::1:${port} - Local (:::0)`); + } else if (error.code === 'EADDRNOTAVAIL' || error.code === 'EUNATCH') { + assert.strictEqual(error.message, `connect ${error.code} ::1:${port} - Local (:::0)`); } ipv4Server.close(); diff --git a/test/parallel/test-net-autoselectfamily.js b/test/parallel/test-net-autoselectfamily.js index 3cce88f9ce907e..8b849682846819 100644 --- a/test/parallel/test-net-autoselectfamily.js +++ b/test/parallel/test-net-autoselectfamily.js @@ -282,13 +282,8 @@ if (common.hasIPv6) { assert.strictEqual(error.message, `connect ECONNREFUSED ::1:${port}`); } else if (error.code === 'EAFNOSUPPORT') { assert.strictEqual(error.message, `connect EAFNOSUPPORT ::1:${port} - Local (undefined:undefined)`); - } else if (common.isIBMi) { - // IBMi returns EUNATCH (ERRNO 42) when IPv6 is disabled - // keep this errno assertion until EUNATCH is recognized by libuv - assert.strictEqual(error.errno, -42); - } else { - assert.strictEqual(error.code, 'EADDRNOTAVAIL'); - assert.strictEqual(error.message, `connect EADDRNOTAVAIL ::1:${port} - Local (:::0)`); + } else if (error.code === 'EADDRNOTAVAIL' || error.code === 'EUNATCH') { + assert.strictEqual(error.message, `connect ${error.code} ::1:${port} - Local (:::0)`); } ipv4Server.close();