summaryrefslogtreecommitdiff
path: root/test/sequential/test-net-connect-local-error.js
diff options
context:
space:
mode:
authorYaniv Friedensohn <yaniv.friedensohn@gmail.com>2018-08-21 21:45:34 +0300
committerAnna Henningsen <anna@addaleax.net>2018-08-28 00:00:18 +0200
commite03f9c55f20fbcf89252b9d5ac024c191c072aae (patch)
tree84c4d0e12ac9369fe7b16284cb8d945935191936 /test/sequential/test-net-connect-local-error.js
parent56cf05887841e593240e5b8c4b1d59116234994b (diff)
downloadandroid-node-v8-e03f9c55f20fbcf89252b9d5ac024c191c072aae.tar.gz
android-node-v8-e03f9c55f20fbcf89252b9d5ac024c191c072aae.tar.bz2
android-node-v8-e03f9c55f20fbcf89252b9d5ac024c191c072aae.zip
test: add test for internalConnect() when address type is IPv6
PR-URL: https://github.com/nodejs/node/pull/22444 Reviewed-By: Refael Ackermann <refack@gmail.com>
Diffstat (limited to 'test/sequential/test-net-connect-local-error.js')
-rw-r--r--test/sequential/test-net-connect-local-error.js31
1 files changed, 25 insertions, 6 deletions
diff --git a/test/sequential/test-net-connect-local-error.js b/test/sequential/test-net-connect-local-error.js
index 205ff872cd..6f5139aefb 100644
--- a/test/sequential/test-net-connect-local-error.js
+++ b/test/sequential/test-net-connect-local-error.js
@@ -6,20 +6,39 @@ const net = require('net');
// EADDRINUSE is expected to occur on FreeBSD
// Ref: https://github.com/nodejs/node/issues/13055
const expectedErrorCodes = ['ECONNREFUSED', 'EADDRINUSE'];
-const client = net.connect({
+
+const optionsIPv4 = {
port: common.PORT,
localPort: common.PORT + 1,
localAddress: common.localhostIPv4
-});
+};
+
+const optionsIPv6 = {
+ host: common.localhostIPv6,
+ port: common.PORT + 2,
+ localPort: common.PORT + 3,
+ localAddress: common.localhostIPv6
+};
-client.on('error', common.mustCall(function onError(err) {
+function onError(err, options) {
assert.ok(expectedErrorCodes.includes(err.code));
assert.strictEqual(err.syscall, 'connect');
- assert.strictEqual(err.localPort, common.PORT + 1);
- assert.strictEqual(err.localAddress, common.localhostIPv4);
+ assert.strictEqual(err.localPort, options.localPort);
+ assert.strictEqual(err.localAddress, options.localAddress);
assert.strictEqual(
err.message,
`connect ${err.code} ${err.address}:${err.port} ` +
`- Local (${err.localAddress}:${err.localPort})`
);
-}));
+}
+
+const clientIPv4 = net.connect(optionsIPv4);
+clientIPv4.on('error', common.mustCall((err) => onError(err, optionsIPv4)));
+
+if (!common.hasIPv6) {
+ common.printSkipMessage('ipv6 part of test, no IPv6 support');
+ return;
+}
+
+const clientIPv6 = net.connect(optionsIPv6);
+clientIPv6.on('error', common.mustCall((err) => onError(err, optionsIPv6)));