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>
This commit is contained in:
Brian White 2016-05-29 03:06:56 -04:00
parent 624734e640
commit 2bc7841d0f
No known key found for this signature in database
GPG key ID: 606D7358F94DA209
358 changed files with 1555 additions and 1517 deletions

View file

@ -1,16 +1,9 @@
'use strict';
var common = require('../common');
require('../common');
var assert = require('assert');
var http = require('http');
var url = require('url');
var testURL = url.parse('http://asdf:qwer@localhost:' + common.PORT);
// the test here is if you set a specific authorization header in the
// request we should not override that with basic auth
testURL.headers = {
Authorization: 'NoAuthForYOU'
};
function check(request) {
// the correct authorization header is be passed
assert.strictEqual(request.headers.authorization, 'NoAuthForYOU');
@ -24,7 +17,14 @@ var server = http.createServer(function(request, response) {
server.close();
});
server.listen(common.PORT, function() {
server.listen(0, function() {
var testURL = url.parse(`http://asdf:qwer@localhost:${this.address().port}`);
// the test here is if you set a specific authorization header in the
// request we should not override that with basic auth
testURL.headers = {
Authorization: 'NoAuthForYOU'
};
// make the request
http.request(testURL).end();
});