Skip to content

Commit f960ad4

Browse files
committed
test: add common.skipIfEslintMissing
We've added a number of tests that hook into ESLint which can error when running the test suite with the distributed tarball. This PR adds a new test helper `common.skipIfEslintMissing` and will skip remaining tests in a file when `ESLint` is not available at `tools/node_modules/eslint` PR-URL: #18807 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Yuta Hiroto <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]>
1 parent dc45685 commit f960ad4

14 files changed

+49
-12
lines changed

test/common/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,11 @@ Path to the project directory.
358358

359359
Logs '1..0 # Skipped: ' + `msg` and exits with exit code `0`.
360360

361+
### skipIfEslintMissing()
362+
363+
Skip the rest of the tests in the current file when `ESLint` is not available
364+
at `tools/node_modules/eslint`
365+
361366
### skipIfInspectorDisabled()
362367

363368
Skip the rest of the tests in the current file when the Inspector

test/common/index.js

+8
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,14 @@ exports.fileExists = function(pathname) {
494494
}
495495
};
496496

497+
exports.skipIfEslintMissing = function() {
498+
if (!exports.fileExists(
499+
path.join('..', '..', 'tools', 'node_modules', 'eslint')
500+
)) {
501+
exports.skip('missing ESLint');
502+
}
503+
};
504+
497505
exports.canCreateSymLink = function() {
498506
// On Windows, creating symlinks requires admin privileges.
499507
// We'll only try to run symlink test if we have enough privileges.

test/parallel/test-eslint-crypto-check.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/crypto-check');

test/parallel/test-eslint-lowercase-name-for-primitive.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/lowercase-name-for-primitive');

test/parallel/test-eslint-no-let-in-for-declaration.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/no-let-in-for-declaration');

test/parallel/test-eslint-no-unescaped-regexp-dot.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/no-unescaped-regexp-dot');

test/parallel/test-eslint-number-isnan.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/number-isnan');

test/parallel/test-eslint-prefer-assert-iferror.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/prefer-assert-iferror');

test/parallel/test-eslint-prefer-assert-methods.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/prefer-assert-methods');

test/parallel/test-eslint-prefer-common-expectserror.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/prefer-common-expectserror');

test/parallel/test-eslint-prefer-common-mustnotcall.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/prefer-common-mustnotcall');

test/parallel/test-eslint-prefer-util-format-errors.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
/* eslint-disable no-template-curly-in-string */
44

5-
require('../common');
5+
const common = require('../common');
6+
7+
common.skipIfEslintMissing();
68

79
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
810
const rule = require('../../tools/eslint-rules/prefer-util-format-errors');

test/parallel/test-eslint-require-buffer.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/require-buffer');

test/parallel/test-eslint-required-modules.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
4+
5+
common.skipIfEslintMissing();
46

57
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
68
const rule = require('../../tools/eslint-rules/required-modules');

0 commit comments

Comments
 (0)