diff options
author | Daniel Bevenius <daniel.bevenius@gmail.com> | 2017-10-20 08:35:54 +0200 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2017-10-25 11:12:06 +0200 |
commit | 50d727587e1e6664ea690a3d1785e3b5c9849b65 (patch) | |
tree | 59e669dcb1c709df354ecdc43166eb4bfa81f954 /test/parallel/test-net-connect-immediate-finish.js | |
parent | e70038528891aa7bddf44b39b85ee99ee30e6d6b (diff) | |
download | android-node-v8-50d727587e1e6664ea690a3d1785e3b5c9849b65.tar.gz android-node-v8-50d727587e1e6664ea690a3d1785e3b5c9849b65.tar.bz2 android-node-v8-50d727587e1e6664ea690a3d1785e3b5c9849b65.zip |
test: allow for different nsswitch.conf settings
The motivation for this commit is that these two test fail on systems
that have different Name Service Switch configuration settings. A
concrete example of this is when using Red Hat Enterprise Linux (RHEL)
7.
If Name Service Switch is available on the operating system then it
might be configured differently (/etc/nsswitch.conf).
If the system is configured with no dns the error code will be
AI_AGAIN, but if there are more services after the dns entry, for
example some linux distributions skip a myhostname service by default
which would still produce the ENOTFOUND error.
This commit suggests checking for either ENOTFOUND or EAI_AGAIN to
accommodate systems like the ones described above. The references below
indicate that others have run, or are running, into this aswell.
Refs: https://github.com/nodejs/node/issues/12075
Refs: https://github.com/nodejs/help/issues/687
Refs: https://github.com/nodejs/node/issues/15825
PR-URL: https://github.com/nodejs/node/pull/16378
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'test/parallel/test-net-connect-immediate-finish.js')
-rw-r--r-- | test/parallel/test-net-connect-immediate-finish.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/test/parallel/test-net-connect-immediate-finish.js b/test/parallel/test-net-connect-immediate-finish.js index 1b65ce15ab..e2e5e1c671 100644 --- a/test/parallel/test-net-connect-immediate-finish.js +++ b/test/parallel/test-net-connect-immediate-finish.js @@ -32,7 +32,13 @@ const client = net.connect({ client.once('error', common.mustCall((err) => { assert(err); assert.strictEqual(err.code, err.errno); - assert.strictEqual(err.code, 'ENOTFOUND'); + // If Name Service Switch is available on the operating system then it + // might be configured differently (/etc/nsswitch.conf). + // If the system is configured with no dns the error code will be EAI_AGAIN, + // but if there are more services after the dns entry, for example some + // linux distributions ship a myhostname service by default which would + // still produce the ENOTFOUND error. + assert.ok(err.code === 'ENOTFOUND' || err.code === 'EAI_AGAIN'); assert.strictEqual(err.host, err.hostname); assert.strictEqual(err.host, 'this.hostname.is.invalid'); assert.strictEqual(err.syscall, 'getaddrinfo'); |