Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
test: check ipv6 support before testing it
Browse files Browse the repository at this point in the history
fix #7983
fix #8049

Signed-off-by: Timothy J Fontaine <tjfontaine@gmail.com>
  • Loading branch information
indutny authored and tjfontaine committed Aug 13, 2014
1 parent f5f5bd7 commit c7b42fe
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 2 deletions.
8 changes: 8 additions & 0 deletions test/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
var path = require('path');
var fs = require('fs');
var assert = require('assert');
var os = require('os');

exports.testDir = path.dirname(__filename);
exports.fixturesDir = path.join(exports.testDir, 'fixtures');
Expand All @@ -46,6 +47,13 @@ if (process.platform === 'win32') {
"faketime");
}

var ifaces = os.networkInterfaces();
exports.hasIPv6 = Object.keys(ifaces).some(function(name) {
return /lo/.test(name) && ifaces[name].some(function(info) {
return info.family === 'IPv6';
});
});

var util = require('util');
for (var i in util) exports[i] = util[i];
//for (var i in exports) global[i] = exports[i];
Expand Down
5 changes: 5 additions & 0 deletions test/simple/test-dgram-bind-default-address.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ dgram.createSocket('udp4').bind(common.PORT + 0, common.mustCall(function() {
this.close();
}));

if (!common.hasIPv6) {
console.error('Skipping udp6 part of test, no IPv6 support');
return;
}

dgram.createSocket('udp6').bind(common.PORT + 1, common.mustCall(function() {
assert.equal(this.address().port, common.PORT + 1);
var address = this.address().address;
Expand Down
5 changes: 5 additions & 0 deletions test/simple/test-net-connect-options-ipv6.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ var assert = require('assert');
var net = require('net');
var dns = require('dns');

if (!common.hasIPv6) {
console.error('Skipping test, no IPv6 support');
return;
}

var serverGotEnd = false;
var clientGotEnd = false;

Expand Down
8 changes: 6 additions & 2 deletions test/simple/test-net-pingpong.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,13 @@ console.log(common.PIPE);
pingPongTest(common.PIPE);
pingPongTest(common.PORT);
pingPongTest(common.PORT + 1, 'localhost');
pingPongTest(common.PORT + 2, '::1');
if (common.hasIPv6)
pingPongTest(common.PORT + 2, '::1');

process.on('exit', function() {
assert.equal(4, tests_run);
if (common.hasIPv6)
assert.equal(4, tests_run);
else
assert.equal(3, tests_run);
console.log('done');
});
5 changes: 5 additions & 0 deletions test/simple/test-net-server-address.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ server_ipv6.listen(common.PORT, localhost_ipv6, function() {
server_ipv6.close();
});

if (!common.hasIPv6) {
console.error('Skipping ipv6 part of test, no IPv6 support');
return;
}

// Test without hostname or ip
var anycast_ipv6 = '::';
var server1 = net.createServer();
Expand Down

0 comments on commit c7b42fe

Please sign in to comment.