From c76f214b90e032424144f16a0a913d85b988c7e8 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 17 Apr 2016 23:41:59 -0700 Subject: [PATCH] test,tools: enable linting for undefined vars The test directory had linting for undefined variables disabled. It is enabled everywhere else in the code base. Let's disable the fule for individual lines in the handful of tests that use undefined variables. PR-URL: https://github.com/nodejs/node/pull/6255 Reviewed-By: Santiago Gimeno Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Roman Reiss --- test/.eslintrc | 2 -- test/message/nexttick_throw.js | 1 + test/message/timeout_throw.js | 1 + .../parallel/test-domain-exit-dispose-again.js | 2 +- test/parallel/test-domain-exit-dispose.js | 2 +- test/parallel/test-exception-handler2.js | 18 +++++------------- test/parallel/test-global.js | 6 ++++-- test/parallel/test-http-exceptions.js | 2 +- test/parallel/test-listen-fd-cluster.js | 1 - test/parallel/test-next-tick-errors.js | 2 +- test/parallel/test-regress-GH-2245.js | 4 ++-- ...est-timers-reset-process-domain-on-throw.js | 2 +- test/parallel/test-util-inspect.js | 2 +- 13 files changed, 19 insertions(+), 26 deletions(-) diff --git a/test/.eslintrc b/test/.eslintrc index 68b358740f5e3e..172c0bfb9d08bf 100644 --- a/test/.eslintrc +++ b/test/.eslintrc @@ -1,8 +1,6 @@ ## Test-specific linter rules rules: - ## allow undeclared variables - no-undef: 0 ## common module is mandatory in tests required-modules: [2, "common"] diff --git a/test/message/nexttick_throw.js b/test/message/nexttick_throw.js index 22f61a36f947df..49cd6dd0f7cbd6 100644 --- a/test/message/nexttick_throw.js +++ b/test/message/nexttick_throw.js @@ -5,6 +5,7 @@ process.nextTick(function() { process.nextTick(function() { process.nextTick(function() { process.nextTick(function() { + // eslint-disable-next-line undefined_reference_error_maker; }); }); diff --git a/test/message/timeout_throw.js b/test/message/timeout_throw.js index 5c345ac8c0c376..14291fabd12565 100644 --- a/test/message/timeout_throw.js +++ b/test/message/timeout_throw.js @@ -2,5 +2,6 @@ require('../common'); setTimeout(function() { + // eslint-disable-next-line no-undef undefined_reference_error_maker; }); diff --git a/test/parallel/test-domain-exit-dispose-again.js b/test/parallel/test-domain-exit-dispose-again.js index e5b1affc0afb55..7360e79412296d 100644 --- a/test/parallel/test-domain-exit-dispose-again.js +++ b/test/parallel/test-domain-exit-dispose-again.js @@ -56,7 +56,7 @@ setTimeout(function firstTimer() { // Make V8 throw an unreferenced error. As a result, the domain's error // handler is called, which disposes the domain "d" and should prevent the // nested timer that is attached to it from running. - err3(); + err3(); // eslint-disable-line no-undef }); }, TIMEOUT_DURATION); diff --git a/test/parallel/test-domain-exit-dispose.js b/test/parallel/test-domain-exit-dispose.js index 2bddb01cbd8ca5..94b3dbd4ca5a37 100644 --- a/test/parallel/test-domain-exit-dispose.js +++ b/test/parallel/test-domain-exit-dispose.js @@ -29,7 +29,7 @@ function err() { }); // this function doesn't exist, and throws an error as a result. - err3(); + err3(); // eslint-disable-line no-undef } function handle(e) { diff --git a/test/parallel/test-exception-handler2.js b/test/parallel/test-exception-handler2.js index 3ed2c9520461f8..1dabedf4c68730 100644 --- a/test/parallel/test-exception-handler2.js +++ b/test/parallel/test-exception-handler2.js @@ -1,22 +1,14 @@ 'use strict'; -require('../common'); -var assert = require('assert'); +const common = require('../common'); process.on('uncaughtException', function(err) { console.log('Caught exception: ' + err); }); -var timeoutFired = false; -setTimeout(function() { +setTimeout(common.mustCall(function() { console.log('This will still run.'); - timeoutFired = true; -}, 500); - -process.on('exit', function() { - assert.ok(timeoutFired); -}); +}), 50); // Intentionally cause an exception, but don't catch it. -nonexistentFunc(); -console.log('This will not run.'); - +nonexistentFunc(); // eslint-disable-line no-undef +common.fail('This will not run.'); diff --git a/test/parallel/test-global.js b/test/parallel/test-global.js index 4eeecf36e0ac22..c8135ed89fa893 100644 --- a/test/parallel/test-global.js +++ b/test/parallel/test-global.js @@ -4,12 +4,14 @@ var assert = require('assert'); common.globalCheck = false; -baseFoo = 'foo'; +baseFoo = 'foo'; // eslint-disable-line no-undef global.baseBar = 'bar'; assert.equal('foo', global.baseFoo, 'x -> global.x in base level not working'); -assert.equal('bar', baseBar, 'global.x -> x in base level not working'); +assert.equal('bar', + baseBar, // eslint-disable-line no-undef + 'global.x -> x in base level not working'); var module = require('../fixtures/global/plain'); const fooBar = module.fooBar; diff --git a/test/parallel/test-http-exceptions.js b/test/parallel/test-http-exceptions.js index 922dc2095714be..b01d31e030b627 100644 --- a/test/parallel/test-http-exceptions.js +++ b/test/parallel/test-http-exceptions.js @@ -3,7 +3,7 @@ var common = require('../common'); var http = require('http'); var server = http.createServer(function(req, res) { - intentionally_not_defined(); + intentionally_not_defined(); // eslint-disable-line no-undef res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Thank you, come again.'); res.end(); diff --git a/test/parallel/test-listen-fd-cluster.js b/test/parallel/test-listen-fd-cluster.js index c321f699d7a89d..419efc7c099bf0 100644 --- a/test/parallel/test-listen-fd-cluster.js +++ b/test/parallel/test-listen-fd-cluster.js @@ -21,7 +21,6 @@ if (common.isWindows) { switch (process.argv[2]) { case 'master': return master(); case 'worker': return worker(); - case 'parent': return parent(); } var ok; diff --git a/test/parallel/test-next-tick-errors.js b/test/parallel/test-next-tick-errors.js index fe13d6ed4dac93..5898762eeb5e5a 100644 --- a/test/parallel/test-next-tick-errors.js +++ b/test/parallel/test-next-tick-errors.js @@ -10,7 +10,7 @@ let exceptionHandled = false; process.nextTick(function() { order.push('A'); // cause an error - what(); + what(); // eslint-disable-line no-undef }); // This nextTick function should remain in the queue when the first one diff --git a/test/parallel/test-regress-GH-2245.js b/test/parallel/test-regress-GH-2245.js index a7f54caa5fdeb6..1ee26983ae336e 100644 --- a/test/parallel/test-regress-GH-2245.js +++ b/test/parallel/test-regress-GH-2245.js @@ -3,7 +3,7 @@ require('../common'); var assert = require('assert'); /* -in node 0.10 a bug existed that caused strict functions to not capture +In Node.js 0.10, a bug existed that caused strict functions to not capture their environment when evaluated. When run in 0.10 `test()` fails with a `ReferenceError`. See https://github.com/nodejs/node/issues/2245 for details. */ @@ -21,7 +21,7 @@ function test() { eval(code); - return bar(); + return bar(); // eslint-disable-line no-undef } diff --git a/test/parallel/test-timers-reset-process-domain-on-throw.js b/test/parallel/test-timers-reset-process-domain-on-throw.js index f72530b5423886..ab3ffd3596ed53 100644 --- a/test/parallel/test-timers-reset-process-domain-on-throw.js +++ b/test/parallel/test-timers-reset-process-domain-on-throw.js @@ -22,7 +22,7 @@ function err() { function err2() { // this function doesn't exist, and throws an error as a result. - err3(); + err3(); // eslint-disable-line no-undef } function handleDomainError(e) { diff --git a/test/parallel/test-util-inspect.js b/test/parallel/test-util-inspect.js index 618a856e195a32..e0264c34f7b685 100644 --- a/test/parallel/test-util-inspect.js +++ b/test/parallel/test-util-inspect.js @@ -182,7 +182,7 @@ assert.equal(util.inspect(new Error('FAIL')), '[Error: FAIL]'); assert.equal(util.inspect(new TypeError('FAIL')), '[TypeError: FAIL]'); assert.equal(util.inspect(new SyntaxError('FAIL')), '[SyntaxError: FAIL]'); try { - undef(); + undef(); // eslint-disable-line no-undef } catch (e) { assert.equal(util.inspect(e), '[ReferenceError: undef is not defined]'); }