From 0565d52a71313ca1334fa89f11cb626e4bc2b522 Mon Sep 17 00:00:00 2001 From: Julien Gilli Date: Mon, 11 Aug 2014 13:29:00 -0700 Subject: [PATCH] tests: don't assume IPv4 only in remote addr tests Tests in test-net-remote-address-port.js assume that client and server sockets always use IPv4. However, depending on the OS and the network interfaces setup, this is not true. This change makes the test consider that both IPv4 or IPv6 sockets are valid Fixes #8096. Signed-off-by: Timothy J Fontaine --- test/simple/test-net-remote-address-port.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/test/simple/test-net-remote-address-port.js b/test/simple/test-net-remote-address-port.js index 1f565f460ad..0cfe47afe6c 100644 --- a/test/simple/test-net-remote-address-port.js +++ b/test/simple/test-net-remote-address-port.js @@ -26,10 +26,16 @@ var net = require('net'); var conns = 0, conns_closed = 0; +var remoteAddrCandidates = [ '127.0.0.1']; +if (common.hasIPv6) remoteAddrCandidates.push('::ffff:127.0.0.1'); + +var remoteFamilyCandidates = ['IPv4']; +if (common.hasIPv6) remoteFamilyCandidates.push('IPv6'); + var server = net.createServer(function(socket) { conns++; - assert.equal('127.0.0.1', socket.remoteAddress); - assert.equal('IPv4', socket.remoteFamily); + assert.notEqual(-1, remoteAddrCandidates.indexOf(socket.remoteAddress)); + assert.notEqual(-1, remoteFamilyCandidates.indexOf(socket.remoteFamily)); assert.ok(socket.remotePort); assert.notEqual(socket.remotePort, common.PORT); socket.on('end', function() { @@ -42,14 +48,14 @@ server.listen(common.PORT, 'localhost', function() { var client = net.createConnection(common.PORT, 'localhost'); var client2 = net.createConnection(common.PORT); client.on('connect', function() { - assert.equal('127.0.0.1', client.remoteAddress); - assert.equal('IPv4', client.remoteFamily); + assert.notEqual(-1, remoteAddrCandidates.indexOf(client.remoteAddress)); + assert.notEqual(-1, remoteFamilyCandidates.indexOf(client.remoteFamily)); assert.equal(common.PORT, client.remotePort); client.end(); }); client2.on('connect', function() { - assert.equal('127.0.0.1', client2.remoteAddress); - assert.equal('IPv4', client2.remoteFamily); + assert.notEqual(-1, remoteAddrCandidates.indexOf(client2.remoteAddress)); + assert.notEqual(-1, remoteFamilyCandidates.indexOf(client2.remoteFamily)); assert.equal(common.PORT, client2.remotePort); client2.end(); });