Skip to content

Commit

Permalink
build,test: guard eslint with crypto check
Browse files Browse the repository at this point in the history
Currently, configuring --without-ssl will cause the lint-js target to
fail with the following error:
$ make lint-js
Running JS linter...
internal/util.js:101
    throw new ERR_NO_CRYPTO();
    ^

Error [ERR_NO_CRYPTO]:
Node.js is not compiled with OpenSSL crypto support
at assertCrypto (internal/util.js:101:11)
at crypto.js:31:1
...
(/node/tools/node_modules/eslint/node_modules/file-entry-cache/
cache.js:2:14)
at Module._compile (internal/modules/cjs/loader.js:746:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:757:10)
make: *** [lint-js] Error 1

There are also a number of tests that are affected in a similar way.

This commit adds crypto checks to allow for lint-js and the affected
tests to be skipped when configured --without-ssl.

PR-URL: #26182
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
danbev committed Feb 21, 2019
1 parent 85df2c4 commit f17f467
Show file tree
Hide file tree
Showing 18 changed files with 40 additions and 2 deletions.
8 changes: 6 additions & 2 deletions Makefile
Expand Up @@ -1184,8 +1184,12 @@ lint-js-fix:
# Note that on the CI `lint-js-ci` is run instead.
# Lints the JavaScript code with eslint.
lint-js:
@echo "Running JS linter..."
@$(call available-node,$(run-lint-js))
@if [ "$(shell $(node_use_openssl))" != "true" ]; then \
echo "Skipping $@ (no crypto)"; \
else \
echo "Running JS linter..."; \
$(call available-node,$(run-lint-js)) \
fi

jslint: lint-js
@echo "Please use lint-js instead of jslint"
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-alphabetize-errors.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
common.skipIfEslintMissing();

const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-crypto-check.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-documented-errors.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
common.skipIfEslintMissing();

const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-duplicate-requires.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-eslint-check.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-inspector-check.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
common.skipIfEslintMissing();

const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-lowercase-name-for-primitive.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-no-let-in-for-declaration.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-no-unescaped-regexp-dot.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-number-isnan.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-prefer-assert-iferror.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-prefer-assert-methods.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-prefer-common-expectserror.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-prefer-common-mustnotcall.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-prefer-util-format-errors.js
Expand Up @@ -3,6 +3,8 @@
/* eslint-disable no-template-curly-in-string */

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-require-buffer.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down
2 changes: 2 additions & 0 deletions test/parallel/test-eslint-required-modules.js
@@ -1,6 +1,8 @@
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');

common.skipIfEslintMissing();

Expand Down

0 comments on commit f17f467

Please sign in to comment.