summaryrefslogtreecommitdiff
path: root/test/parallel/test-listen-fd-cluster.js
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2016-05-29 03:06:56 -0400
committerBrian White <mscdex@mscdex.net>2016-06-10 22:30:55 -0400
commit2bc7841d0fcdd066fe477873229125b6f003b693 (patch)
tree2816555ef6ad2fc828a75dc3c564f8faa2dee6c7 /test/parallel/test-listen-fd-cluster.js
parent624734e640717a826ab1a18845c083a638dc5ce6 (diff)
downloadandroid-node-v8-2bc7841d0fcdd066fe477873229125b6f003b693.tar.gz
android-node-v8-2bc7841d0fcdd066fe477873229125b6f003b693.tar.bz2
android-node-v8-2bc7841d0fcdd066fe477873229125b6f003b693.zip
test: use random ports where possible
This helps to prevent issues where a failed test can keep a bound socket open long enough to cause other tests to fail with EADDRINUSE because the same port number is used. PR-URL: https://github.com/nodejs/node/pull/7045 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Diffstat (limited to 'test/parallel/test-listen-fd-cluster.js')
-rw-r--r--test/parallel/test-listen-fd-cluster.js12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/parallel/test-listen-fd-cluster.js b/test/parallel/test-listen-fd-cluster.js
index 92aadfd49f..606109030b 100644
--- a/test/parallel/test-listen-fd-cluster.js
+++ b/test/parallel/test-listen-fd-cluster.js
@@ -3,7 +3,6 @@ var common = require('../common');
var assert = require('assert');
var http = require('http');
var net = require('net');
-var PORT = common.PORT;
var cluster = require('cluster');
console.error('Cluster listen fd test', process.argv[2] || 'runner');
@@ -35,11 +34,11 @@ process.on('exit', function() {
// server handles to stdio fd's is NOT a good or reliable way to do
// concurrency in HTTP servers! Use the cluster module, or if you want
// a more low-level approach, use child process IPC manually.
-test(function(parent) {
+test(function(parent, port) {
// now make sure that we can request to the worker, then kill it.
http.get({
server: 'localhost',
- port: PORT,
+ port: port,
path: '/',
}).on('response', function(res) {
var s = '';
@@ -65,8 +64,9 @@ function test(cb) {
var server = net.createServer(function(conn) {
console.error('connection on parent');
conn.end('hello from parent\n');
- }).listen(PORT, function() {
- console.error('server listening on %d', PORT);
+ }).listen(0, function() {
+ const port = this.address().port;
+ console.error('server listening on %d', port);
var spawn = require('child_process').spawn;
var master = spawn(process.execPath, [__filename, 'master'], {
@@ -89,7 +89,7 @@ function test(cb) {
console.error('master spawned');
master.on('message', function(msg) {
if (msg === 'started worker') {
- cb(master);
+ cb(master, port);
}
});
});