diff --git a/test/parallel/test-http2-binding.js b/test/parallel/test-http2-binding.js
index c26549d3615..50f1b5674f4 100644
--- a/test/parallel/test-http2-binding.js
+++ b/test/parallel/test-http2-binding.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-require('../common');
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
assert.doesNotThrow(() => process.binding('http2'));
diff --git a/test/parallel/test-http2-client-data-end.js b/test/parallel/test-http2-client-data-end.js
index 3bd72f138ba..8c50389f3b8 100644
--- a/test/parallel/test-http2-client-data-end.js
+++ b/test/parallel/test-http2-client-data-end.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-client-destroy-before-connect.js b/test/parallel/test-http2-client-destroy-before-connect.js
index 1f6b087dd22..3c99b8d6615 100644
--- a/test/parallel/test-http2-client-destroy-before-connect.js
+++ b/test/parallel/test-http2-client-destroy-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-client-destroy-before-request.js b/test/parallel/test-http2-client-destroy-before-request.js
index 71519d5903b..b8510f6a445 100644
--- a/test/parallel/test-http2-client-destroy-before-request.js
+++ b/test/parallel/test-http2-client-destroy-before-request.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-destroy.js b/test/parallel/test-http2-client-destroy.js
index 56cfec5d65a..f1095660313 100644
--- a/test/parallel/test-http2-client-destroy.js
+++ b/test/parallel/test-http2-client-destroy.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-priority-before-connect.js b/test/parallel/test-http2-client-priority-before-connect.js
index 68933b2d83b..7fd81c8b933 100644
--- a/test/parallel/test-http2-client-priority-before-connect.js
+++ b/test/parallel/test-http2-client-priority-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-client-rststream-before-connect.js b/test/parallel/test-http2-client-rststream-before-connect.js
index 33b6cb354fe..1a4aa938da6 100644
--- a/test/parallel/test-http2-client-rststream-before-connect.js
+++ b/test/parallel/test-http2-client-rststream-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-set-priority.js b/test/parallel/test-http2-client-set-priority.js
index 314a88a63c2..08c799a6e1f 100644
--- a/test/parallel/test-http2-client-set-priority.js
+++ b/test/parallel/test-http2-client-set-priority.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-client-settings-before-connect.js b/test/parallel/test-http2-client-settings-before-connect.js
index f320aa97dba..2ebb0654a31 100644
--- a/test/parallel/test-http2-client-settings-before-connect.js
+++ b/test/parallel/test-http2-client-settings-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-shutdown-before-connect.js b/test/parallel/test-http2-client-shutdown-before-connect.js
index eabfc6261c0..316a41d0f79 100644
--- a/test/parallel/test-http2-client-shutdown-before-connect.js
+++ b/test/parallel/test-http2-client-shutdown-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-client-socket-destroy.js b/test/parallel/test-http2-client-socket-destroy.js
index fe2d9275317..9d2fdd3b448 100644
--- a/test/parallel/test-http2-client-socket-destroy.js
+++ b/test/parallel/test-http2-client-socket-destroy.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const body =
'
this is some data';
diff --git a/test/parallel/test-http2-client-stream-destroy-before-connect.js b/test/parallel/test-http2-client-stream-destroy-before-connect.js
index d8a9db4d371..d68e6b33ec4 100644
--- a/test/parallel/test-http2-client-stream-destroy-before-connect.js
+++ b/test/parallel/test-http2-client-stream-destroy-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const NGHTTP2_INTERNAL_ERROR = h2.constants.NGHTTP2_INTERNAL_ERROR;
diff --git a/test/parallel/test-http2-client-unescaped-path.js b/test/parallel/test-http2-client-unescaped-path.js
index 95b5c04b0fe..645fb331638 100755
--- a/test/parallel/test-http2-client-unescaped-path.js
+++ b/test/parallel/test-http2-client-unescaped-path.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-client-upload.js b/test/parallel/test-http2-client-upload.js
index f65ae09c3a2..cee86e3fc65 100755
--- a/test/parallel/test-http2-client-upload.js
+++ b/test/parallel/test-http2-client-upload.js
@@ -4,6 +4,8 @@
// Verifies that uploading data from a client works
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const fs = require('fs');
diff --git a/test/parallel/test-http2-client-write-before-connect.js b/test/parallel/test-http2-client-write-before-connect.js
index f58fc5c43f6..ed46840266a 100644
--- a/test/parallel/test-http2-client-write-before-connect.js
+++ b/test/parallel/test-http2-client-write-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverrequest-headers.js b/test/parallel/test-http2-compat-serverrequest-headers.js
index 32af86314b1..d5a66391058 100644
--- a/test/parallel/test-http2-compat-serverrequest-headers.js
+++ b/test/parallel/test-http2-compat-serverrequest-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverrequest.js b/test/parallel/test-http2-compat-serverrequest.js
index d54f554848c..6c2448f4a51 100644
--- a/test/parallel/test-http2-compat-serverrequest.js
+++ b/test/parallel/test-http2-compat-serverrequest.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const net = require('net');
diff --git a/test/parallel/test-http2-compat-serverresponse-createpushresponse.js b/test/parallel/test-http2-compat-serverresponse-createpushresponse.js
index 9679215abb0..8c5ff312743 100644
--- a/test/parallel/test-http2-compat-serverresponse-createpushresponse.js
+++ b/test/parallel/test-http2-compat-serverresponse-createpushresponse.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-end.js b/test/parallel/test-http2-compat-serverresponse-end.js
index 6b4b375764e..5fb93e93dd5 100644
--- a/test/parallel/test-http2-compat-serverresponse-end.js
+++ b/test/parallel/test-http2-compat-serverresponse-end.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-const { mustCall, mustNotCall } = require('../common');
+const { mustCall, mustNotCall, hasCrypto, skip } = require('../common');
+if (!hasCrypto)
+ skip('missing crypto');
const { strictEqual } = require('assert');
const {
createServer,
diff --git a/test/parallel/test-http2-compat-serverresponse-finished.js b/test/parallel/test-http2-compat-serverresponse-finished.js
index e5739e5ac3e..c80bdc33f86 100644
--- a/test/parallel/test-http2-compat-serverresponse-finished.js
+++ b/test/parallel/test-http2-compat-serverresponse-finished.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-flushheaders.js b/test/parallel/test-http2-compat-serverresponse-flushheaders.js
index 5f101228b46..671b0c7b94e 100644
--- a/test/parallel/test-http2-compat-serverresponse-flushheaders.js
+++ b/test/parallel/test-http2-compat-serverresponse-flushheaders.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-headers.js b/test/parallel/test-http2-compat-serverresponse-headers.js
index de80469265f..7a9b7d66405 100644
--- a/test/parallel/test-http2-compat-serverresponse-headers.js
+++ b/test/parallel/test-http2-compat-serverresponse-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-statuscode.js b/test/parallel/test-http2-compat-serverresponse-statuscode.js
index 201a63c379b..ace05ddefe7 100644
--- a/test/parallel/test-http2-compat-serverresponse-statuscode.js
+++ b/test/parallel/test-http2-compat-serverresponse-statuscode.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js b/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js
index 50d2970d9ea..782c239f0fc 100644
--- a/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js
+++ b/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-statusmessage.js b/test/parallel/test-http2-compat-serverresponse-statusmessage.js
index c9c5b5a0138..0c74a2c8f2e 100644
--- a/test/parallel/test-http2-compat-serverresponse-statusmessage.js
+++ b/test/parallel/test-http2-compat-serverresponse-statusmessage.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-trailers.js b/test/parallel/test-http2-compat-serverresponse-trailers.js
index d1ab4f9946c..17c2d734425 100644
--- a/test/parallel/test-http2-compat-serverresponse-trailers.js
+++ b/test/parallel/test-http2-compat-serverresponse-trailers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-write-no-cb.js b/test/parallel/test-http2-compat-serverresponse-write-no-cb.js
index e6164ae9319..bc864af46df 100644
--- a/test/parallel/test-http2-compat-serverresponse-write-no-cb.js
+++ b/test/parallel/test-http2-compat-serverresponse-write-no-cb.js
@@ -1,7 +1,12 @@
// Flags: --expose-http2
'use strict';
-const { mustCall, mustNotCall, expectsError } = require('../common');
+const { mustCall,
+ mustNotCall,
+ expectsError,
+ hasCrypto, skip } = require('../common');
+if (!hasCrypto)
+ skip('missing crypto');
const { throws } = require('assert');
const { createServer, connect } = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-writehead.js b/test/parallel/test-http2-compat-serverresponse-writehead.js
index 9d7969652ec..04d74990835 100644
--- a/test/parallel/test-http2-compat-serverresponse-writehead.js
+++ b/test/parallel/test-http2-compat-serverresponse-writehead.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-connect-method.js b/test/parallel/test-http2-connect-method.js
index 05ff96a3cd1..4cd8daf484e 100644
--- a/test/parallel/test-http2-connect-method.js
+++ b/test/parallel/test-http2-connect-method.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const net = require('net');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-connect.js b/test/parallel/test-http2-connect.js
index 305ea034c90..087f942932c 100644
--- a/test/parallel/test-http2-connect.js
+++ b/test/parallel/test-http2-connect.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-const { mustCall } = require('../common');
+const { mustCall, hasCrypto, skip } = require('../common');
+if (!hasCrypto)
+ skip('missing crypto');
const { doesNotThrow } = require('assert');
const { createServer, connect } = require('http2');
diff --git a/test/parallel/test-http2-cookies.js b/test/parallel/test-http2-cookies.js
index 297b3966df9..6e2ae0bdfd6 100644
--- a/test/parallel/test-http2-cookies.js
+++ b/test/parallel/test-http2-cookies.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-create-client-connect.js b/test/parallel/test-http2-create-client-connect.js
index 376b0a208d5..2c40d7c6536 100644
--- a/test/parallel/test-http2-create-client-connect.js
+++ b/test/parallel/test-http2-create-client-connect.js
@@ -4,6 +4,8 @@
// Tests http2.connect()
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const fs = require('fs');
const h2 = require('http2');
const path = require('path');
diff --git a/test/parallel/test-http2-create-client-session.js b/test/parallel/test-http2-create-client-session.js
index c1c6ce1bfea..22ab368f7bc 100644
--- a/test/parallel/test-http2-create-client-session.js
+++ b/test/parallel/test-http2-create-client-session.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const body =
diff --git a/test/parallel/test-http2-date-header.js b/test/parallel/test-http2-date-header.js
index d9a73b2ef61..d7afeb5e2b9 100644
--- a/test/parallel/test-http2-date-header.js
+++ b/test/parallel/test-http2-date-header.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-dont-override.js b/test/parallel/test-http2-dont-override.js
index 55b29580fbc..d8573eac340 100644
--- a/test/parallel/test-http2-dont-override.js
+++ b/test/parallel/test-http2-dont-override.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-getpackedsettings.js b/test/parallel/test-http2-getpackedsettings.js
index 75700bcb23b..341a55a92c4 100644
--- a/test/parallel/test-http2-getpackedsettings.js
+++ b/test/parallel/test-http2-getpackedsettings.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-goaway-opaquedata.js b/test/parallel/test-http2-goaway-opaquedata.js
index e5904adf3be..9ff8b13cafd 100644
--- a/test/parallel/test-http2-goaway-opaquedata.js
+++ b/test/parallel/test-http2-goaway-opaquedata.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-head-request.js b/test/parallel/test-http2-head-request.js
index 07f0eb6c932..ee86ded5498 100644
--- a/test/parallel/test-http2-head-request.js
+++ b/test/parallel/test-http2-head-request.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-info-headers.js b/test/parallel/test-http2-info-headers.js
index cb91b560cd7..a1491959df3 100755
--- a/test/parallel/test-http2-info-headers.js
+++ b/test/parallel/test-http2-info-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-max-concurrent-streams.js b/test/parallel/test-http2-max-concurrent-streams.js
index 9b582eb68db..be101720dc4 100644
--- a/test/parallel/test-http2-max-concurrent-streams.js
+++ b/test/parallel/test-http2-max-concurrent-streams.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-methods.js b/test/parallel/test-http2-methods.js
index 1a8828f22c7..dac61359ec0 100644
--- a/test/parallel/test-http2-methods.js
+++ b/test/parallel/test-http2-methods.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-misused-pseudoheaders.js b/test/parallel/test-http2-misused-pseudoheaders.js
index c3eb69c5f29..2744561025d 100644
--- a/test/parallel/test-http2-misused-pseudoheaders.js
+++ b/test/parallel/test-http2-misused-pseudoheaders.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-multi-content-length.js b/test/parallel/test-http2-multi-content-length.js
index 96407215a33..da7fbd33a9f 100644
--- a/test/parallel/test-http2-multi-content-length.js
+++ b/test/parallel/test-http2-multi-content-length.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-multiheaders.js b/test/parallel/test-http2-multiheaders.js
index d7b8f56d51a..54a900b04e5 100644
--- a/test/parallel/test-http2-multiheaders.js
+++ b/test/parallel/test-http2-multiheaders.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-multiplex.js b/test/parallel/test-http2-multiplex.js
index 7467b0fa60e..22622392b8c 100644
--- a/test/parallel/test-http2-multiplex.js
+++ b/test/parallel/test-http2-multiplex.js
@@ -5,6 +5,8 @@
// connection and makes sure that the data for each is appropriately echoed.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-options-max-headers-block-length.js b/test/parallel/test-http2-options-max-headers-block-length.js
index 41e8d549b4a..fe3eb977483 100644
--- a/test/parallel/test-http2-options-max-headers-block-length.js
+++ b/test/parallel/test-http2-options-max-headers-block-length.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-options-max-reserved-streams.js b/test/parallel/test-http2-options-max-reserved-streams.js
index b01ed89de0a..425ac6eb4ea 100755
--- a/test/parallel/test-http2-options-max-reserved-streams.js
+++ b/test/parallel/test-http2-options-max-reserved-streams.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-padding-callback.js b/test/parallel/test-http2-padding-callback.js
index 610b636fdcc..a63f1041f3f 100644
--- a/test/parallel/test-http2-padding-callback.js
+++ b/test/parallel/test-http2-padding-callback.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const { PADDING_STRATEGY_CALLBACK } = h2.constants;
diff --git a/test/parallel/test-http2-priority-event.js b/test/parallel/test-http2-priority-event.js
index 505f0f1e9b7..b577fdb3763 100644
--- a/test/parallel/test-http2-priority-event.js
+++ b/test/parallel/test-http2-priority-event.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-respond-file-204.js b/test/parallel/test-http2-respond-file-204.js
index 66840e57ada..2a531df4646 100644
--- a/test/parallel/test-http2-respond-file-204.js
+++ b/test/parallel/test-http2-respond-file-204.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-304.js b/test/parallel/test-http2-respond-file-304.js
index 0b279223f14..d36dd8411f9 100644
--- a/test/parallel/test-http2-respond-file-304.js
+++ b/test/parallel/test-http2-respond-file-304.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-compat.js b/test/parallel/test-http2-respond-file-compat.js
index be256ee2bfa..53c5a34d2ae 100644
--- a/test/parallel/test-http2-respond-file-compat.js
+++ b/test/parallel/test-http2-respond-file-compat.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-fd-invalid.js b/test/parallel/test-http2-respond-file-fd-invalid.js
index f46dbd9dc1d..7e08a29e937 100644
--- a/test/parallel/test-http2-respond-file-fd-invalid.js
+++ b/test/parallel/test-http2-respond-file-fd-invalid.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
diff --git a/test/parallel/test-http2-respond-file-fd-range.js b/test/parallel/test-http2-respond-file-fd-range.js
index 083dd456158..13b525c6c11 100644
--- a/test/parallel/test-http2-respond-file-fd-range.js
+++ b/test/parallel/test-http2-respond-file-fd-range.js
@@ -4,6 +4,8 @@
// Tests the ability to minimally request a byte range with respondWithFD
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-fd.js b/test/parallel/test-http2-respond-file-fd.js
index 4e982bca3cf..502d6e86293 100644
--- a/test/parallel/test-http2-respond-file-fd.js
+++ b/test/parallel/test-http2-respond-file-fd.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-push.js b/test/parallel/test-http2-respond-file-push.js
index 1c2476f1734..b16a9e1c600 100644
--- a/test/parallel/test-http2-respond-file-push.js
+++ b/test/parallel/test-http2-respond-file-push.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-range.js b/test/parallel/test-http2-respond-file-range.js
index 40c5526953a..a4fda25a901 100644
--- a/test/parallel/test-http2-respond-file-range.js
+++ b/test/parallel/test-http2-respond-file-range.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file.js b/test/parallel/test-http2-respond-file.js
index 81babb58fad..3c5272f77fa 100644
--- a/test/parallel/test-http2-respond-file.js
+++ b/test/parallel/test-http2-respond-file.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-response-splitting.js b/test/parallel/test-http2-response-splitting.js
index cd3a5d39d7a..557967a3df6 100755
--- a/test/parallel/test-http2-response-splitting.js
+++ b/test/parallel/test-http2-response-splitting.js
@@ -6,6 +6,8 @@
// contain invalid characters.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const { URL } = require('url');
diff --git a/test/parallel/test-http2-server-destroy-before-additional.js b/test/parallel/test-http2-server-destroy-before-additional.js
index 9aff3b6abf9..5e04a87323e 100644
--- a/test/parallel/test-http2-server-destroy-before-additional.js
+++ b/test/parallel/test-http2-server-destroy-before-additional.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-destroy-before-push.js b/test/parallel/test-http2-server-destroy-before-push.js
index 9c1628a18bf..429f37e2c68 100644
--- a/test/parallel/test-http2-server-destroy-before-push.js
+++ b/test/parallel/test-http2-server-destroy-before-push.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-destroy-before-respond.js b/test/parallel/test-http2-server-destroy-before-respond.js
index acb020d5bd7..4ea64e82812 100644
--- a/test/parallel/test-http2-server-destroy-before-respond.js
+++ b/test/parallel/test-http2-server-destroy-before-respond.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-destroy-before-write.js b/test/parallel/test-http2-server-destroy-before-write.js
index 533aace208c..724e12624ef 100644
--- a/test/parallel/test-http2-server-destroy-before-write.js
+++ b/test/parallel/test-http2-server-destroy-before-write.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-push-disabled.js b/test/parallel/test-http2-server-push-disabled.js
index 33f8ed7c65e..a9cdbd62397 100644
--- a/test/parallel/test-http2-server-push-disabled.js
+++ b/test/parallel/test-http2-server-push-disabled.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-push-stream.js b/test/parallel/test-http2-server-push-stream.js
index c2f34ed517c..c1de1195f76 100644
--- a/test/parallel/test-http2-server-push-stream.js
+++ b/test/parallel/test-http2-server-push-stream.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-rst-before-respond.js b/test/parallel/test-http2-server-rst-before-respond.js
index 015e11311f7..d8e9d0a6cc5 100644
--- a/test/parallel/test-http2-server-rst-before-respond.js
+++ b/test/parallel/test-http2-server-rst-before-respond.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-rst-stream.js b/test/parallel/test-http2-server-rst-stream.js
index 30a9db49afc..90966f7695b 100644
--- a/test/parallel/test-http2-server-rst-stream.js
+++ b/test/parallel/test-http2-server-rst-stream.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-set-header.js b/test/parallel/test-http2-server-set-header.js
index 8b0e82fd8a5..b681469ece2 100644
--- a/test/parallel/test-http2-server-set-header.js
+++ b/test/parallel/test-http2-server-set-header.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const body =
diff --git a/test/parallel/test-http2-server-shutdown-before-respond.js b/test/parallel/test-http2-server-shutdown-before-respond.js
index ccdbbf5d015..75e60f46e69 100644
--- a/test/parallel/test-http2-server-shutdown-before-respond.js
+++ b/test/parallel/test-http2-server-shutdown-before-respond.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-server-socket-destroy.js b/test/parallel/test-http2-server-socket-destroy.js
index 15b19ca1786..d77f7355676 100755
--- a/test/parallel/test-http2-server-socket-destroy.js
+++ b/test/parallel/test-http2-server-socket-destroy.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const assert = require('assert');
diff --git a/test/parallel/test-http2-server-socketerror.js b/test/parallel/test-http2-server-socketerror.js
index 80b22dbd3de..5bbb2130f0e 100755
--- a/test/parallel/test-http2-server-socketerror.js
+++ b/test/parallel/test-http2-server-socketerror.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-timeout.js b/test/parallel/test-http2-server-timeout.js
index e56e79fc862..c3a8ef88517 100755
--- a/test/parallel/test-http2-server-timeout.js
+++ b/test/parallel/test-http2-server-timeout.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-session-settings.js b/test/parallel/test-http2-session-settings.js
index 1d358f2c96f..7f54bc2f02d 100644
--- a/test/parallel/test-http2-session-settings.js
+++ b/test/parallel/test-http2-session-settings.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-session-stream-state.js b/test/parallel/test-http2-session-stream-state.js
index 9ba56f958c4..f122b271899 100644
--- a/test/parallel/test-http2-session-stream-state.js
+++ b/test/parallel/test-http2-session-stream-state.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-single-headers.js b/test/parallel/test-http2-single-headers.js
index 49918acc474..cf66e570f91 100644
--- a/test/parallel/test-http2-single-headers.js
+++ b/test/parallel/test-http2-single-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-status-code-invalid.js b/test/parallel/test-http2-status-code-invalid.js
index cb8c9072f73..0fe8319db41 100644
--- a/test/parallel/test-http2-status-code-invalid.js
+++ b/test/parallel/test-http2-status-code-invalid.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-status-code.js b/test/parallel/test-http2-status-code.js
index f094d981c36..9a6821b1d66 100644
--- a/test/parallel/test-http2-status-code.js
+++ b/test/parallel/test-http2-status-code.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-timeouts.js b/test/parallel/test-http2-timeouts.js
index 093a1bc3d15..a45b13826f6 100644
--- a/test/parallel/test-http2-timeouts.js
+++ b/test/parallel/test-http2-timeouts.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-too-many-settings.js b/test/parallel/test-http2-too-many-settings.js
index 4a64645df14..849e24af4e7 100644
--- a/test/parallel/test-http2-too-many-settings.js
+++ b/test/parallel/test-http2-too-many-settings.js
@@ -5,6 +5,8 @@
// settings frames will result in a throw.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-trailers.js b/test/parallel/test-http2-trailers.js
index ed2d4b9e535..282899e65eb 100644
--- a/test/parallel/test-http2-trailers.js
+++ b/test/parallel/test-http2-trailers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const body =
diff --git a/test/parallel/test-http2-window-size.js b/test/parallel/test-http2-window-size.js
index f96a273fec5..57e27ac29bf 100644
--- a/test/parallel/test-http2-window-size.js
+++ b/test/parallel/test-http2-window-size.js
@@ -7,6 +7,8 @@
// on smaller / IoT platforms in case this poses problems for these targets.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-withflag.js b/test/parallel/test-http2-withflag.js
index 557ec40e643..069212257c2 100644
--- a/test/parallel/test-http2-withflag.js
+++ b/test/parallel/test-http2-withflag.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-require('../common');
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
assert.doesNotThrow(() => require('http2'));
diff --git a/test/parallel/test-http2-write-callbacks.js b/test/parallel/test-http2-write-callbacks.js
index b371ebf681e..e45e8ccb7d4 100644
--- a/test/parallel/test-http2-write-callbacks.js
+++ b/test/parallel/test-http2-write-callbacks.js
@@ -4,6 +4,8 @@
// Verifies that write callbacks are called
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-write-empty-string.js b/test/parallel/test-http2-write-empty-string.js
index 661777e39f8..e7a55e5c0a4 100644
--- a/test/parallel/test-http2-write-empty-string.js
+++ b/test/parallel/test-http2-write-empty-string.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-zero-length-write.js b/test/parallel/test-http2-zero-length-write.js
index 5f4f0681d4b..f261cc72961 100644
--- a/test/parallel/test-http2-zero-length-write.js
+++ b/test/parallel/test-http2-zero-length-write.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');