diff options
author | Brian White <mscdex@mscdex.net> | 2016-05-29 03:06:56 -0400 |
---|---|---|
committer | Brian White <mscdex@mscdex.net> | 2016-06-10 22:30:55 -0400 |
commit | 2bc7841d0fcdd066fe477873229125b6f003b693 (patch) | |
tree | 2816555ef6ad2fc828a75dc3c564f8faa2dee6c7 /test/parallel/test-http-request-dont-override-options.js | |
parent | 624734e640717a826ab1a18845c083a638dc5ce6 (diff) | |
download | android-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-http-request-dont-override-options.js')
-rw-r--r-- | test/parallel/test-http-request-dont-override-options.js | 65 |
1 files changed, 33 insertions, 32 deletions
diff --git a/test/parallel/test-http-request-dont-override-options.js b/test/parallel/test-http-request-dont-override-options.js index 66d82caeac..fd7c7b4e99 100644 --- a/test/parallel/test-http-request-dont-override-options.js +++ b/test/parallel/test-http-request-dont-override-options.js @@ -11,35 +11,36 @@ http.createServer(function(req, res) { res.end('ok'); requests++; -}).listen(common.PORT).unref(); - -var agent = new http.Agent(); -agent.defaultPort = common.PORT; - -// options marked as explicitly undefined for readability -// in this test, they should STAY undefined as options should not -// be mutable / modified -var options = { - host: undefined, - hostname: common.localhostIPv4, - port: undefined, - defaultPort: undefined, - path: undefined, - method: undefined, - agent: agent -}; - -http.request(options, function(res) { - res.resume(); -}).end(); - -process.on('exit', function() { - assert.equal(requests, 1); - - assert.strictEqual(options.host, undefined); - assert.strictEqual(options.hostname, common.localhostIPv4); - assert.strictEqual(options.port, undefined); - assert.strictEqual(options.defaultPort, undefined); - assert.strictEqual(options.path, undefined); - assert.strictEqual(options.method, undefined); -}); +}).listen(0, function() { + var agent = new http.Agent(); + agent.defaultPort = this.address().port; + + // options marked as explicitly undefined for readability + // in this test, they should STAY undefined as options should not + // be mutable / modified + var options = { + host: undefined, + hostname: common.localhostIPv4, + port: undefined, + defaultPort: undefined, + path: undefined, + method: undefined, + agent: agent + }; + + http.request(options, function(res) { + res.resume(); + }).end(); + + process.on('exit', function() { + assert.equal(requests, 1); + + assert.strictEqual(options.host, undefined); + assert.strictEqual(options.hostname, common.localhostIPv4); + assert.strictEqual(options.port, undefined); + assert.strictEqual(options.defaultPort, undefined); + assert.strictEqual(options.path, undefined); + assert.strictEqual(options.method, undefined); + }); +}).unref(); + |