summaryrefslogtreecommitdiff
path: root/test/parallel/test-http-request-dont-override-options.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-http-request-dont-override-options.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-http-request-dont-override-options.js')
-rw-r--r--test/parallel/test-http-request-dont-override-options.js65
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();
+