GeezerVison is showing github.com — test: fix IPv6 checks on IBM i · nodejs/node@cb6ef74
File tree
Expand file treeCollapse file tree
Open diff view settings
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: test/common/index.js +8-1Lines changed: 8 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -948,7 +948,14 @@ const common = { |
948 | 948 |
|
949 | 949 | get hasIPv6() { |
950 | 950 | const iFaces = require('os').networkInterfaces(); |
951 | | - const re = isWindows ? /Loopback Pseudo-Interface/ : /lo/; |
| 951 | + let re; |
| 952 | + if (isWindows) { |
| 953 | + re = /Loopback Pseudo-Interface/; |
| 954 | + } else if (this.isIBMi) { |
| 955 | + re = /\*LOOPBACK/; |
| 956 | + } else { |
| 957 | + re = /lo/; |
| 958 | + } |
952 | 959 | return Object.keys(iFaces).some((name) => { |
953 | 960 | return re.test(name) && |
954 | 961 | iFaces[name].some(({ family }) => family === 'IPv6'); |
|
Collapse file
Copy file name to clipboardExpand all lines: test/parallel/test-net-autoselectfamily.js +4Lines changed: 4 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -282,6 +282,10 @@ if (common.hasIPv6) { |
282 | 282 | assert.strictEqual(error.message, `connect ECONNREFUSED ::1:${port}`); |
283 | 283 | } else if (error.code === 'EAFNOSUPPORT') { |
284 | 284 | assert.strictEqual(error.message, `connect EAFNOSUPPORT ::1:${port} - Local (undefined:undefined)`); |
| 285 | + } else if (common.isIBMi) { |
| 286 | + // IBMi returns EUNATCH (ERRNO 42) when IPv6 is disabled |
| 287 | + // keep this errno assertion until EUNATCH is recognized by libuv |
| 288 | + assert.strictEqual(error.errno, -42); |
285 | 289 | } else { |
286 | 290 | assert.strictEqual(error.code, 'EADDRNOTAVAIL'); |
287 | 291 | assert.strictEqual(error.message, `connect EADDRNOTAVAIL ::1:${port} - Local (:::0)`); |
|
Collapse file
Copy file name to clipboardExpand all lines: test/parallel/test-net-autoselectfamilydefault.js +4Lines changed: 4 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -129,6 +129,10 @@ function createDnsServer(ipv6Addr, ipv4Addr, cb) { |
129 | 129 | assert.strictEqual(error.message, `connect ECONNREFUSED ::1:${port}`); |
130 | 130 | } else if (error.code === 'EAFNOSUPPORT') { |
131 | 131 | assert.strictEqual(error.message, `connect EAFNOSUPPORT ::1:${port} - Local (undefined:undefined)`); |
| 132 | + } else if (common.isIBMi) { |
| 133 | + // IBMi returns EUNATCH (ERRNO 42) when IPv6 is disabled |
| 134 | + // keep this errno assertion until EUNATCH is recognized by libuv |
| 135 | + assert.strictEqual(error.errno, -42); |
132 | 136 | } else { |
133 | 137 | assert.strictEqual(error.code, 'EADDRNOTAVAIL'); |
134 | 138 | assert.strictEqual(error.message, `connect EADDRNOTAVAIL ::1:${port} - Local (:::0)`); |
|