aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-listen-fd-server.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-server.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-server.js')
-rw-r--r--test/parallel/test-listen-fd-server.js12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/parallel/test-listen-fd-server.js b/test/parallel/test-listen-fd-server.js
index 25a5393bd4..eda75e5c72 100644
--- a/test/parallel/test-listen-fd-server.js
+++ b/test/parallel/test-listen-fd-server.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;
if (common.isWindows) {
common.skip('This test is disabled on windows.');
@@ -25,11 +24,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(child) {
+test(function(child, port) {
// now make sure that we can request to the child, then kill it.
http.get({
server: 'localhost',
- port: PORT,
+ port: port,
path: '/',
}).on('response', function(res) {
var s = '';
@@ -71,8 +70,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 child = spawn(process.execPath, [__filename, 'child'], {
@@ -88,7 +88,7 @@ function test(cb) {
child.on('message', function(msg) {
if (msg === 'listening') {
- cb(child);
+ cb(child, port);
}
});
});