diff options
author | Rod Vagg <rod@vagg.org> | 2015-03-19 09:27:26 +1100 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2015-03-19 16:27:45 +1100 |
commit | f600111d82ba208ff14c1b87ab0bef6eedeff4e7 (patch) | |
tree | e294184a73abfc0e944b24c9dd6f059a0a427c4b /test | |
parent | 3038b8ee6ac6d07cbec678c4f4ee29ae7b9f60ff (diff) | |
download | android-node-v8-f600111d82ba208ff14c1b87ab0bef6eedeff4e7.tar.gz android-node-v8-f600111d82ba208ff14c1b87ab0bef6eedeff4e7.tar.bz2 android-node-v8-f600111d82ba208ff14c1b87ab0bef6eedeff4e7.zip |
test: cache lazy properties, fix style nits
inFreeBSDJail involves an execSync() and is used by localhost_ipv4 so
will be unnecessarily expensive, so cache both values and reuse
rather than re-evaluate each time.
Renamed localhost_ipv4 to localhostIPv4 for style consistency.
PR-URL: https://github.com/iojs/io.js/pull/1196
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Diffstat (limited to 'test')
-rw-r--r-- | test/common.js | 31 | ||||
-rw-r--r-- | test/parallel/test-dgram-address.js | 5 | ||||
-rw-r--r-- | test/parallel/test-dgram-udp4.js | 4 | ||||
-rw-r--r-- | test/parallel/test-net-local-address-port.js | 6 | ||||
-rw-r--r-- | test/parallel/test-net-remote-address-port.js | 2 | ||||
-rw-r--r-- | test/sequential/test-net-server-address.js | 5 |
6 files changed, 31 insertions, 22 deletions
diff --git a/test/common.js b/test/common.js index e0db00175f..1ef491e403 100644 --- a/test/common.js +++ b/test/common.js @@ -20,33 +20,44 @@ if (process.env.TEST_THREAD_ID) { exports.tmpDir = path.join(exports.testDir, exports.tmpDirName); var opensslCli = null; +var inFreeBSDJail = null; +var localhostIPv4 = null; Object.defineProperty(exports, 'inFreeBSDJail', { get: function() { + if (inFreeBSDJail !== null) return inFreeBSDJail; + if (process.platform === 'freebsd' && child_process.execSync('sysctl -n security.jail.jailed').toString() === '1\n') { - return true; + inFreeBSDJail = true; } else { - return false; + inFreeBSDJail = false; } + return inFreeBSDJail; } }); -Object.defineProperty(exports, 'localhost_ipv4', { +Object.defineProperty(exports, 'localhostIPv4', { get: function() { + if (localhostIPv4 !== null) return localhostIPv4; + if (exports.inFreeBSDJail) { // Jailed network interfaces are a bit special - since we need to jump // through loops, as well as this being an exception case, assume the // user will provide this instead. - if (process.env.LOCALHOST) - return process.env.LOCALHOST; - - console.error('Looks like we\'re in a FreeBSD Jail. ' + - 'Please provide your default interface address ' + - 'as LOCALHOST or expect some tests to fail.'); + if (process.env.LOCALHOST) { + localhostIPv4 = process.env.LOCALHOST; + } else { + console.error('Looks like we\'re in a FreeBSD Jail. ' + + 'Please provide your default interface address ' + + 'as LOCALHOST or expect some tests to fail.'); + } } - return '127.0.0.1'; + + if (localhostIPv4 === null) localhostIPv4 = '127.0.0.1'; + + return localhostIPv4; } }); diff --git a/test/parallel/test-dgram-address.js b/test/parallel/test-dgram-address.js index d0781a9452..6da1c6cda4 100644 --- a/test/parallel/test-dgram-address.js +++ b/test/parallel/test-dgram-address.js @@ -3,13 +3,12 @@ var assert = require('assert'); var dgram = require('dgram'); // IPv4 Test -var localhost_ipv4 = common.localhost_ipv4; var socket_ipv4 = dgram.createSocket('udp4'); var family_ipv4 = 'IPv4'; socket_ipv4.on('listening', function() { var address_ipv4 = socket_ipv4.address(); - assert.strictEqual(address_ipv4.address, localhost_ipv4); + assert.strictEqual(address_ipv4.address, common.localhostIPv4); assert.strictEqual(address_ipv4.port, common.PORT); assert.strictEqual(address_ipv4.family, family_ipv4); socket_ipv4.close(); @@ -20,7 +19,7 @@ socket_ipv4.on('error', function(e) { socket_ipv4.close(); }); -socket_ipv4.bind(common.PORT, localhost_ipv4); +socket_ipv4.bind(common.PORT, common.localhostIPv4); // IPv6 Test var localhost_ipv6 = '::1'; diff --git a/test/parallel/test-dgram-udp4.js b/test/parallel/test-dgram-udp4.js index da542146ad..cde49c1b1b 100644 --- a/test/parallel/test-dgram-udp4.js +++ b/test/parallel/test-dgram-udp4.js @@ -11,7 +11,7 @@ server = dgram.createSocket('udp4'); server.on('message', function(msg, rinfo) { console.log('server got: ' + msg + ' from ' + rinfo.address + ':' + rinfo.port); - assert.strictEqual(rinfo.address, common.localhost_ipv4); + assert.strictEqual(rinfo.address, common.localhostIPv4); assert.strictEqual(msg.toString(), message_to_send.toString()); server.send(msg, 0, msg.length, rinfo.port, rinfo.address); }); @@ -22,7 +22,7 @@ server.on('listening', function() { client.on('message', function(msg, rinfo) { console.log('client got: ' + msg + ' from ' + rinfo.address + ':' + address.port); - assert.strictEqual(rinfo.address, common.localhost_ipv4); + assert.strictEqual(rinfo.address, common.localhostIPv4); assert.strictEqual(rinfo.port, server_port); assert.strictEqual(msg.toString(), message_to_send.toString()); client.close(); diff --git a/test/parallel/test-net-local-address-port.js b/test/parallel/test-net-local-address-port.js index 57c39f1d7e..0bbfee8021 100644 --- a/test/parallel/test-net-local-address-port.js +++ b/test/parallel/test-net-local-address-port.js @@ -6,7 +6,7 @@ var conns = 0, conns_closed = 0; var server = net.createServer(function(socket) { conns++; - assert.equal(common.localhost_ipv4, socket.localAddress); + assert.equal(common.localhostIPv4, socket.localAddress); assert.equal(socket.localPort, common.PORT); socket.on('end', function() { server.close(); @@ -14,8 +14,8 @@ var server = net.createServer(function(socket) { socket.resume(); }); -server.listen(common.PORT, common.localhost_ipv4, function() { - var client = net.createConnection(common.PORT, common.localhost_ipv4); +server.listen(common.PORT, common.localhostIPv4, function() { + var client = net.createConnection(common.PORT, common.localhostIPv4); client.on('connect', function() { client.end(); }); diff --git a/test/parallel/test-net-remote-address-port.js b/test/parallel/test-net-remote-address-port.js index 44c4e3a4cd..2f8c673b57 100644 --- a/test/parallel/test-net-remote-address-port.js +++ b/test/parallel/test-net-remote-address-port.js @@ -5,7 +5,7 @@ var net = require('net'); var conns = 0, conns_closed = 0; -var remoteAddrCandidates = [ common.localhost_ipv4 ]; +var remoteAddrCandidates = [ common.localhostIPv4 ]; if (common.hasIPv6) remoteAddrCandidates.push('::ffff:127.0.0.1'); var remoteFamilyCandidates = ['IPv4']; diff --git a/test/sequential/test-net-server-address.js b/test/sequential/test-net-server-address.js index 292fea2e19..717d46f1bb 100644 --- a/test/sequential/test-net-server-address.js +++ b/test/sequential/test-net-server-address.js @@ -3,7 +3,6 @@ var assert = require('assert'); var net = require('net'); // Test on IPv4 Server -var localhost_ipv4 = common.localhost_ipv4; var family_ipv4 = 'IPv4'; var server_ipv4 = net.createServer(); @@ -11,9 +10,9 @@ server_ipv4.on('error', function(e) { console.log('Error on ipv4 socket: ' + e.toString()); }); -server_ipv4.listen(common.PORT, localhost_ipv4, function() { +server_ipv4.listen(common.PORT, common.localhostIPv4, function() { var address_ipv4 = server_ipv4.address(); - assert.strictEqual(address_ipv4.address, localhost_ipv4); + assert.strictEqual(address_ipv4.address, common.localhostIPv4); assert.strictEqual(address_ipv4.port, common.PORT); assert.strictEqual(address_ipv4.family, family_ipv4); server_ipv4.close(); |