From a3f3d99987eed68ae474d3aa267a627c745334e6 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Mon, 17 Jul 2017 18:33:46 -0400 Subject: [PATCH] test: begin normalizing fixtures use MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a new `../common/fixtures' module to begin normalizing `test/fixtures` use. Our test code is a bit inconsistent with regards to use of the fixtures directory. Some code uses `path.join()`, some code uses string concats, some other code uses template strings, etc. In mnay cases, significant duplication of code is seen when accessing fixture files, etc. This updates many (but by no means all) of the tests in the test suite to use the new consistent API. There are still many more to update, which would make an excelent Code-n-Learn exercise. Backport-PR-URL: https://github.com/nodejs/node/pull/16265 PR-URL: https://github.com/nodejs/node/pull/14332 Reviewed-By: Anna Henningsen Reviewed-By: Gibson Fahnestock Reviewed-By: Colin Ihrig Reviewed-By: Tobias Nießen Reviewed-By: Michaël Zasso --- test/common/README.md | 31 +++++++++++++++++++ test/common/fixtures.js | 28 +++++++++++++++++ test/common/index.js | 4 ++- test/parallel/test-child-process-detached.js | 7 ++--- test/parallel/test-child-process-execfile.js | 4 +-- test/parallel/test-child-process-exit-code.js | 7 ++--- .../parallel/test-child-process-fork-close.js | 3 +- test/parallel/test-child-process-fork.js | 3 +- test/parallel/test-child-process-fork3.js | 5 +-- test/parallel/test-child-process-ipc.js | 9 +++--- .../test-child-process-send-after-close.js | 5 +-- ...test-child-process-send-returns-boolean.js | 4 +-- .../test-child-process-spawn-typeerror.js | 9 +++--- .../test-child-process-stdout-flush.js | 5 +-- test/parallel/test-cli-eval.js | 3 +- test/parallel/test-cli-syntax.js | 10 +++--- test/parallel/test-crypto-binary-default.js | 25 +++++++-------- test/parallel/test-crypto-certificate.js | 9 +++--- test/parallel/test-crypto-fips.js | 7 +++-- test/parallel/test-crypto-hash.js | 4 +-- test/parallel/test-crypto-rsa-dsa.js | 29 +++++++++-------- test/parallel/test-crypto-sign-verify.js | 15 ++++----- test/parallel/test-crypto-verify-failure.js | 9 +++--- test/parallel/test-crypto.js | 14 ++++----- test/parallel/test-cwd-enoent-preload.js | 3 +- test/parallel/test-delayed-require.js | 4 +-- test/parallel/test-fs-empty-readStream.js | 4 +-- test/parallel/test-fs-fsync.js | 4 +-- test/parallel/test-fs-read-file-sync.js | 6 ++-- test/parallel/test-fs-read-stream-encoding.js | 6 ++-- test/parallel/test-fs-read-stream-fd-leak.js | 6 ++-- test/parallel/test-fs-read-stream.js | 6 ++-- test/parallel/test-fs-readfile-empty.js | 7 +++-- test/parallel/test-fs-readfile-error.js | 4 +-- test/parallel/test-require-dot.js | 9 +++--- test/parallel/test-require-extensions-main.js | 7 +++-- ...ons-same-filename-as-dir-trailing-slash.js | 12 +++++-- ...require-extensions-same-filename-as-dir.js | 16 +++------- test/parallel/test-require-json.js | 6 ++-- test/parallel/test-require-symlink.js | 22 +++++++------ test/parallel/test-signal-unregister.js | 3 +- test/parallel/test-stdio-closed.js | 4 +-- test/parallel/test-stdout-close-catch.js | 4 +-- test/parallel/test-stdout-to-file.js | 6 ++-- test/parallel/test-stream-preprocess.js | 23 +++++--------- test/parallel/test-sync-fileread.js | 8 ++--- test/parallel/test-tls-0-dns-altname.js | 6 ++-- test/parallel/test-tls-addca.js | 6 ++-- test/parallel/test-tls-alert-handling.js | 9 ++---- test/parallel/test-tls-alert.js | 9 ++---- test/parallel/test-tls-alpn-server-client.js | 9 ++---- test/parallel/test-tls-ca-concat.js | 6 ++-- test/parallel/test-tls-cert-chains-concat.js | 6 ++-- test/parallel/test-tls-cert-chains-in-ca.js | 6 ++-- test/parallel/test-tls-client-abort.js | 7 ++--- test/parallel/test-tls-client-destroy-soon.js | 6 ++-- test/parallel/test-tls-client-mindhsize.js | 13 ++++---- test/parallel/test-tls-client-reject.js | 9 +++--- test/parallel/test-tls-client-verify.js | 9 ++---- test/parallel/test-tls-close-error.js | 6 ++-- test/parallel/test-tls-close-notify.js | 6 ++-- test/parallel/test-tls-cnnic-whitelist.js | 9 ++---- test/parallel/test-tls-connect-pipe.js | 7 ++--- test/parallel/test-tls-connect-simple.js | 7 ++--- .../test-tls-connect-stream-writes.js | 12 +++---- .../parallel/test-tls-delayed-attach-error.js | 6 ++-- test/parallel/test-tls-dhe.js | 13 ++++---- test/parallel/test-tls-env-extra-ca.js | 10 +++--- test/parallel/test-tls-no-rsa-key.js | 6 ++-- test/parallel/test-tls-no-sslv3.js | 6 ++-- test/parallel/test-tls-npn-server-client.js | 9 ++---- test/parallel/test-tls-ocsp-callback.js | 18 +++++------ test/parallel/test-tls-on-empty-socket.js | 7 ++--- test/parallel/test-tls-over-http-tunnel.js | 6 ++-- test/parallel/test-tls-passphrase.js | 9 +++--- test/parallel/test-tls-pause.js | 7 ++--- .../test-tls-peer-certificate-encoding.js | 9 +++--- .../test-tls-peer-certificate-multi-keys.js | 7 ++--- test/parallel/test-tls-peer-certificate.js | 6 ++-- test/parallel/test-tls-pfx-gh-5100-regr.js | 6 ++-- test/parallel/test-tls-regr-gh-5108.js | 6 ++-- test/parallel/test-tls-request-timeout.js | 6 ++-- .../test-tls-retain-handle-no-abort.js | 6 ++-- test/parallel/test-tls-securepair-fiftharg.js | 8 ++--- test/parallel/test-tls-securepair-server.js | 7 ++--- .../test-tls-server-connection-server.js | 6 ++-- test/parallel/test-tls-server-verify.js | 9 ++---- test/parallel/test-tls-session-cache.js | 25 ++++++--------- test/parallel/test-tls-set-ciphers.js | 6 ++-- test/parallel/test-tls-set-encoding.js | 6 ++-- test/parallel/test-tls-sni-option.js | 9 ++---- test/parallel/test-tls-sni-server-client.js | 8 ++--- test/parallel/test-tls-socket-close.js | 6 ++-- .../test-tls-socket-default-options.js | 4 +-- test/parallel/test-tls-socket-destroy.js | 7 +++-- .../test-tls-startcom-wosign-whitelist.js | 9 ++---- test/parallel/test-tls-starttls-server.js | 6 ++-- test/parallel/test-tls-ticket-cluster.js | 15 +++------ test/parallel/test-tls-ticket.js | 6 ++-- test/parallel/test-tls-timeout-server-2.js | 6 ++-- test/parallel/test-tls-timeout-server.js | 6 ++-- test/parallel/test-tls-two-cas-one-string.js | 21 ++++++------- test/parallel/test-tls-wrap-timeout.js | 7 ++--- test/parallel/test-tls-zero-clear-in.js | 8 ++--- test/parallel/test-util-internal.js | 6 ++-- test/parallel/test-vm-debug-context.js | 7 +++-- test/parallel/test-vm-syntax-error-stderr.js | 4 +-- test/parallel/test-zlib-flush.js | 7 ++--- .../test-zlib-from-concatenated-gzip.js | 6 ++-- test/parallel/test-zlib-from-gzip.js | 5 +-- test/parallel/test-zlib-params.js | 7 ++--- test/parallel/test-zlib.js | 5 ++- test/sequential/test-module-loading.js | 4 ++- 113 files changed, 465 insertions(+), 481 deletions(-) create mode 100644 test/common/fixtures.js diff --git a/test/common/README.md b/test/common/README.md index c84acaba390500..defe9c1a38a989 100644 --- a/test/common/README.md +++ b/test/common/README.md @@ -316,6 +316,37 @@ Decrements the `Countdown` counter. Specifies the remaining number of times `Countdown.prototype.dec()` must be called before the callback is invoked. +## Fixtures Module + +The `common/fixtures` module provides convenience methods for working with +files in the `test/fixtures` directory. + +### fixtures.fixturesDir + +* [<String>] + +The absolute path to the `test/fixtures/` directory. + +### fixtures.path(...args) + +* `...args` [<String>] + +Returns the result of `path.join(fixtures.fixturesDir, ...args)`. + +### fixtures.readSync(args[, enc]) + +* `args` [<String>] | [<Array>] + +Returns the result of +`fs.readFileSync(path.join(fixtures.fixturesDir, ...args), 'enc')`. + +### fixtures.readKey(arg[, enc]) + +* `arg` [<String>] + +Returns the result of +`fs.readFileSync(path.join(fixtures.fixturesDir, 'keys', arg), 'enc')`. + ## WPT Module The wpt.js module is a port of parts of diff --git a/test/common/fixtures.js b/test/common/fixtures.js new file mode 100644 index 00000000000000..b4b7c042e805a9 --- /dev/null +++ b/test/common/fixtures.js @@ -0,0 +1,28 @@ +/* eslint-disable required-modules */ +'use strict'; + +const path = require('path'); +const fs = require('fs'); + +const fixturesDir = path.join(__dirname, '..', 'fixtures'); + +function fixturesPath(...args) { + return path.join(fixturesDir, ...args); +} + +function readFixtureSync(args, enc) { + if (Array.isArray(args)) + return fs.readFileSync(fixturesPath(...args), enc); + return fs.readFileSync(fixturesPath(args), enc); +} + +function readFixtureKey(name, enc) { + return fs.readFileSync(fixturesPath('keys', name), enc); +} + +module.exports = { + fixturesDir, + path: fixturesPath, + readSync: readFixtureSync, + readKey: readFixtureKey +}; diff --git a/test/common/index.js b/test/common/index.js index b73b7b7dd6de00..866d978286712a 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -8,13 +8,15 @@ const { exec, execSync, spawn, spawnSync } = require('child_process'); const stream = require('stream'); const util = require('util'); const Timer = process.binding('timer_wrap').Timer; +const { fixturesDir } = require('./fixtures'); const testRoot = process.env.NODE_TEST_DIR ? fs.realpathSync(process.env.NODE_TEST_DIR) : path.resolve(__dirname, '..'); const noop = () => {}; -exports.fixturesDir = path.join(__dirname, '..', 'fixtures'); +exports.fixturesDir = fixturesDir; + exports.tmpDirName = 'tmp'; // PORT should match the definition in test/testpy/__init__.py. exports.PORT = +process.env.NODE_COMMON_PORT || 12346; diff --git a/test/parallel/test-child-process-detached.js b/test/parallel/test-child-process-detached.js index 43cae6eeb02a88..651a06e0292654 100644 --- a/test/parallel/test-child-process-detached.js +++ b/test/parallel/test-child-process-detached.js @@ -1,11 +1,10 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); -const path = require('path'); +const fixtures = require('../common/fixtures'); const spawn = require('child_process').spawn; -const childPath = path.join(common.fixturesDir, - 'parent-process-nonpersistent.js'); +const childPath = fixtures.path('parent-process-nonpersistent.js'); let persistentPid = -1; const child = spawn(process.execPath, [ childPath ]); diff --git a/test/parallel/test-child-process-execfile.js b/test/parallel/test-child-process-execfile.js index f87a4eb1154f2a..62cc7f534dc86b 100644 --- a/test/parallel/test-child-process-execfile.js +++ b/test/parallel/test-child-process-execfile.js @@ -2,10 +2,10 @@ const common = require('../common'); const assert = require('assert'); const execFile = require('child_process').execFile; -const path = require('path'); const uv = process.binding('uv'); +const fixtures = require('../common/fixtures'); -const fixture = path.join(common.fixturesDir, 'exit.js'); +const fixture = fixtures.path('exit.js'); { execFile( diff --git a/test/parallel/test-child-process-exit-code.js b/test/parallel/test-child-process-exit-code.js index 9596a202223993..9ffd49ec6a5eb8 100644 --- a/test/parallel/test-child-process-exit-code.js +++ b/test/parallel/test-child-process-exit-code.js @@ -2,9 +2,9 @@ const common = require('../common'); const assert = require('assert'); const spawn = require('child_process').spawn; -const path = require('path'); +const fixtures = require('../common/fixtures'); -const exitScript = path.join(common.fixturesDir, 'exit.js'); +const exitScript = fixtures.path('exit.js'); const exitChild = spawn(process.argv[0], [exitScript, 23]); exitChild.on('exit', common.mustCall(function(code, signal) { assert.strictEqual(code, 23); @@ -12,8 +12,7 @@ exitChild.on('exit', common.mustCall(function(code, signal) { })); -const errorScript = path.join(common.fixturesDir, - 'child_process_should_emit_error.js'); +const errorScript = fixtures.path('child_process_should_emit_error.js'); const errorChild = spawn(process.argv[0], [errorScript]); errorChild.on('exit', common.mustCall(function(code, signal) { assert.ok(code !== 0); diff --git a/test/parallel/test-child-process-fork-close.js b/test/parallel/test-child-process-fork-close.js index e87b7d0af4958c..09d17110b1911f 100644 --- a/test/parallel/test-child-process-fork-close.js +++ b/test/parallel/test-child-process-fork-close.js @@ -2,8 +2,9 @@ const common = require('../common'); const assert = require('assert'); const fork = require('child_process').fork; +const fixtures = require('../common/fixtures'); -const cp = fork(`${common.fixturesDir}/child-process-message-and-exit.js`); +const cp = fork(fixtures.path('child-process-message-and-exit.js')); let gotMessage = false; let gotExit = false; diff --git a/test/parallel/test-child-process-fork.js b/test/parallel/test-child-process-fork.js index 587c7e2c596c89..19ab9e56761c11 100644 --- a/test/parallel/test-child-process-fork.js +++ b/test/parallel/test-child-process-fork.js @@ -3,8 +3,9 @@ const common = require('../common'); const assert = require('assert'); const fork = require('child_process').fork; const args = ['foo', 'bar']; +const fixtures = require('../common/fixtures'); -const n = fork(`${common.fixturesDir}/child-process-spawn-node.js`, args); +const n = fork(fixtures.path('child-process-spawn-node.js'), args); assert.deepStrictEqual(args, ['foo', 'bar']); n.on('message', function(m) { diff --git a/test/parallel/test-child-process-fork3.js b/test/parallel/test-child-process-fork3.js index ecd43ab56d3ffe..d8494e497a7a13 100644 --- a/test/parallel/test-child-process-fork3.js +++ b/test/parallel/test-child-process-fork3.js @@ -1,5 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const child_process = require('child_process'); +const fixtures = require('../common/fixtures'); -child_process.fork(`${common.fixturesDir}/empty.js`); // should not hang +child_process.fork(fixtures.path('empty.js')); // should not hang diff --git a/test/parallel/test-child-process-ipc.js b/test/parallel/test-child-process-ipc.js index 4926751797a6b1..d11839ef79c533 100644 --- a/test/parallel/test-child-process-ipc.js +++ b/test/parallel/test-child-process-ipc.js @@ -1,13 +1,12 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); -const spawn = require('child_process').spawn; +const { spawn } = require('child_process'); +const fixtures = require('../common/fixtures'); -const path = require('path'); - -const sub = path.join(common.fixturesDir, 'echo.js'); +const sub = fixtures.path('echo.js'); let gotHelloWorld = false; let gotEcho = false; diff --git a/test/parallel/test-child-process-send-after-close.js b/test/parallel/test-child-process-send-after-close.js index 78cf3b6697ea1f..ed84f1464cb7f5 100644 --- a/test/parallel/test-child-process-send-after-close.js +++ b/test/parallel/test-child-process-send-after-close.js @@ -2,8 +2,9 @@ const common = require('../common'); const assert = require('assert'); const cp = require('child_process'); -const path = require('path'); -const fixture = path.join(common.fixturesDir, 'empty.js'); +const fixtures = require('../common/fixtures'); + +const fixture = fixtures.path('empty.js'); const child = cp.fork(fixture); child.on('close', common.mustCall((code, signal) => { diff --git a/test/parallel/test-child-process-send-returns-boolean.js b/test/parallel/test-child-process-send-returns-boolean.js index d986b633d4140b..e273d1c205c3ac 100644 --- a/test/parallel/test-child-process-send-returns-boolean.js +++ b/test/parallel/test-child-process-send-returns-boolean.js @@ -1,11 +1,11 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); -const path = require('path'); const net = require('net'); const { fork, spawn } = require('child_process'); +const fixtures = require('../common/fixtures'); -const emptyFile = path.join(common.fixturesDir, 'empty.js'); +const emptyFile = fixtures.path('empty.js'); const n = fork(emptyFile); diff --git a/test/parallel/test-child-process-spawn-typeerror.js b/test/parallel/test-child-process-spawn-typeerror.js index 280484490140b1..60c19647be2945 100644 --- a/test/parallel/test-child-process-spawn-typeerror.js +++ b/test/parallel/test-child-process-spawn-typeerror.js @@ -1,15 +1,14 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); -const child_process = require('child_process'); -const spawn = child_process.spawn; -const fork = child_process.fork; -const execFile = child_process.execFile; +const { spawn, fork, execFile } = require('child_process'); +const fixtures = require('../common/fixtures'); const cmd = common.isWindows ? 'rundll32' : 'ls'; const invalidcmd = 'hopefully_you_dont_have_this_on_your_machine'; const invalidArgsMsg = /Incorrect value of args option/; const invalidOptionsMsg = /"options" argument must be an object/; -const empty = `${common.fixturesDir}/empty.js`; + +const empty = fixtures.path('empty.js'); assert.throws(function() { const child = spawn(invalidcmd, 'this is not an array'); diff --git a/test/parallel/test-child-process-stdout-flush.js b/test/parallel/test-child-process-stdout-flush.js index 97d421afd3c125..ac27565d074eb7 100644 --- a/test/parallel/test-child-process-stdout-flush.js +++ b/test/parallel/test-child-process-stdout-flush.js @@ -1,9 +1,10 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); -const path = require('path'); const spawn = require('child_process').spawn; -const sub = path.join(common.fixturesDir, 'print-chars.js'); +const fixtures = require('../common/fixtures'); + +const sub = fixtures.path('print-chars.js'); const n = 500000; diff --git a/test/parallel/test-cli-eval.js b/test/parallel/test-cli-eval.js index 6094395cdd8883..71900cf5da6b1e 100644 --- a/test/parallel/test-cli-eval.js +++ b/test/parallel/test-cli-eval.js @@ -10,6 +10,7 @@ const common = require('../common'); const assert = require('assert'); const child = require('child_process'); const path = require('path'); +const fixtures = require('../common/fixtures'); const nodejs = `"${process.execPath}"`; if (process.argv.length > 2) { @@ -117,7 +118,7 @@ child.exec(`${nodejs} --use-strict -p process.execArgv`, // Regression test for https://github.com/nodejs/node/issues/3574. { - const emptyFile = path.join(common.fixturesDir, 'empty.js'); + const emptyFile = fixtures.path('empty.js'); child.exec(`${nodejs} -e 'require("child_process").fork("${emptyFile}")'`, common.mustCall((err, stdout, stderr) => { diff --git a/test/parallel/test-cli-syntax.js b/test/parallel/test-cli-syntax.js index 6426a5803c8724..c27090db62bf95 100644 --- a/test/parallel/test-cli-syntax.js +++ b/test/parallel/test-cli-syntax.js @@ -1,9 +1,9 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const spawnSync = require('child_process').spawnSync; -const path = require('path'); +const fixtures = require('../common/fixtures'); const node = process.execPath; @@ -24,7 +24,7 @@ const notFoundRE = /^Error: Cannot find module/m; 'syntax/good_syntax_shebang', 'syntax/illegal_if_not_wrapped.js' ].forEach(function(file) { - file = path.join(common.fixturesDir, file); + file = fixtures.path(file); // loop each possible option, `-c` or `--check` syntaxArgs.forEach(function(args) { @@ -45,7 +45,7 @@ const notFoundRE = /^Error: Cannot find module/m; 'syntax/bad_syntax_shebang.js', 'syntax/bad_syntax_shebang' ].forEach(function(file) { - file = path.join(common.fixturesDir, file); + file = fixtures.path(file); // loop each possible option, `-c` or `--check` syntaxArgs.forEach(function(args) { @@ -67,7 +67,7 @@ const notFoundRE = /^Error: Cannot find module/m; 'syntax/file_not_found.js', 'syntax/file_not_found' ].forEach(function(file) { - file = path.join(common.fixturesDir, file); + file = fixtures.path(file); // loop each possible option, `-c` or `--check` syntaxArgs.forEach(function(args) { diff --git a/test/parallel/test-crypto-binary-default.js b/test/parallel/test-crypto-binary-default.js index 6795bb44a765a7..2343360df9fadf 100644 --- a/test/parallel/test-crypto-binary-default.js +++ b/test/parallel/test-crypto-binary-default.js @@ -11,19 +11,18 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); const fs = require('fs'); -const path = require('path'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); const DH_NOT_SUITABLE_GENERATOR = crypto.constants.DH_NOT_SUITABLE_GENERATOR; -const fixtDir = common.fixturesDir; crypto.DEFAULT_ENCODING = 'latin1'; // Test Certificates -const certPem = fs.readFileSync(`${fixtDir}/test_cert.pem`, 'ascii'); -const certPfx = fs.readFileSync(`${fixtDir}/test_cert.pfx`); -const keyPem = fs.readFileSync(`${fixtDir}/test_key.pem`, 'ascii'); -const rsaPubPem = fs.readFileSync(`${fixtDir}/test_rsa_pubkey.pem`, 'ascii'); -const rsaKeyPem = fs.readFileSync(`${fixtDir}/test_rsa_privkey.pem`, 'ascii'); +const certPem = fixtures.readSync('test_cert.pem', 'ascii'); +const certPfx = fixtures.readSync('test_cert.pfx'); +const keyPem = fixtures.readSync('test_key.pem', 'ascii'); +const rsaPubPem = fixtures.readSync('test_rsa_pubkey.pem', 'ascii'); +const rsaKeyPem = fixtures.readSync('test_rsa_privkey.pem', 'ascii'); // PFX tests assert.doesNotThrow(function() { @@ -384,7 +383,7 @@ const h2 = crypto.createHash('sha1').update('Test').update('123').digest('hex'); assert.strictEqual(h1, h2, 'multipled updates'); // Test hashing for binary files -const fn = path.join(fixtDir, 'sample.png'); +const fn = fixtures.path('sample.png'); const sha1Hash = crypto.createHash('sha1'); const fileStream = fs.createReadStream(fn); fileStream.on('data', function(data) { @@ -593,9 +592,8 @@ assert.strictEqual(rsaVerify.verify(rsaPubPem, rsaSignature, 'hex'), true); // Test RSA signing and verification // { - const privateKey = fs.readFileSync(`${fixtDir}/test_rsa_privkey_2.pem`); - - const publicKey = fs.readFileSync(`${fixtDir}/test_rsa_pubkey_2.pem`); + const privateKey = fixtures.readSync('test_rsa_privkey_2.pem'); + const publicKey = fixtures.readSync('test_rsa_pubkey_2.pem'); const input = 'I AM THE WALRUS'; @@ -623,9 +621,8 @@ assert.strictEqual(rsaVerify.verify(rsaPubPem, rsaSignature, 'hex'), true); // Test DSA signing and verification // { - const privateKey = fs.readFileSync(`${fixtDir}/test_dsa_privkey.pem`); - - const publicKey = fs.readFileSync(`${fixtDir}/test_dsa_pubkey.pem`); + const privateKey = fixtures.readSync('test_dsa_privkey.pem'); + const publicKey = fixtures.readSync('test_dsa_pubkey.pem'); const input = 'I AM THE WALRUS'; diff --git a/test/parallel/test-crypto-certificate.js b/test/parallel/test-crypto-certificate.js index a8b8cc66b2504d..03e8302786f9eb 100644 --- a/test/parallel/test-crypto-certificate.js +++ b/test/parallel/test-crypto-certificate.js @@ -5,15 +5,14 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const fixtures = require('../common/fixtures'); crypto.DEFAULT_ENCODING = 'buffer'; -const fs = require('fs'); - // Test Certificates -const spkacValid = fs.readFileSync(`${common.fixturesDir}/spkac.valid`); -const spkacFail = fs.readFileSync(`${common.fixturesDir}/spkac.fail`); -const spkacPem = fs.readFileSync(`${common.fixturesDir}/spkac.pem`); +const spkacValid = fixtures.readSync('spkac.valid'); +const spkacFail = fixtures.readSync('spkac.fail'); +const spkacPem = fixtures.readSync('spkac.pem'); const certificate = new crypto.Certificate(); diff --git a/test/parallel/test-crypto-fips.js b/test/parallel/test-crypto-fips.js index 36a542b7b04f52..ffab5d19ba2869 100644 --- a/test/parallel/test-crypto-fips.js +++ b/test/parallel/test-crypto-fips.js @@ -6,13 +6,16 @@ if (!common.hasCrypto) const assert = require('assert'); const spawnSync = require('child_process').spawnSync; const path = require('path'); +const fixtures = require('../common/fixtures'); const FIPS_ENABLED = 1; const FIPS_DISABLED = 0; const FIPS_ERROR_STRING = 'Error: Cannot set FIPS mode'; const OPTION_ERROR_STRING = 'bad option'; -const CNF_FIPS_ON = path.join(common.fixturesDir, 'openssl_fips_enabled.cnf'); -const CNF_FIPS_OFF = path.join(common.fixturesDir, 'openssl_fips_disabled.cnf'); + +const CNF_FIPS_ON = fixtures.path('openssl_fips_enabled.cnf'); +const CNF_FIPS_OFF = fixtures.path('openssl_fips_disabled.cnf'); + let num_children_ok = 0; function compiledWithFips() { diff --git a/test/parallel/test-crypto-hash.js b/test/parallel/test-crypto-hash.js index 1ac00216fd67b3..3933c386416925 100644 --- a/test/parallel/test-crypto-hash.js +++ b/test/parallel/test-crypto-hash.js @@ -5,8 +5,8 @@ if (!common.hasCrypto) const assert = require('assert'); const fs = require('fs'); -const path = require('path'); const crypto = require('crypto'); +const fixtures = require('../common/fixtures'); // Test hashing const a1 = crypto.createHash('sha1').update('Test123').digest('hex'); @@ -74,7 +74,7 @@ const h2 = crypto.createHash('sha1').update('Test').update('123').digest('hex'); assert.strictEqual(h1, h2, 'multipled updates'); // Test hashing for binary files -const fn = path.join(common.fixturesDir, 'sample.png'); +const fn = fixtures.path('sample.png'); const sha1Hash = crypto.createHash('sha1'); const fileStream = fs.createReadStream(fn); fileStream.on('data', function(data) { diff --git a/test/parallel/test-crypto-rsa-dsa.js b/test/parallel/test-crypto-rsa-dsa.js index f0d06cf6886744..7a13aa7f3bbb03 100644 --- a/test/parallel/test-crypto-rsa-dsa.js +++ b/test/parallel/test-crypto-rsa-dsa.js @@ -5,23 +5,23 @@ if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); -const fs = require('fs'); const crypto = require('crypto'); const constants = crypto.constants; -const fixtDir = common.fixturesDir; + +const fixtures = require('../common/fixtures'); // Test certificates -const certPem = fs.readFileSync(`${fixtDir}/test_cert.pem`, 'ascii'); -const keyPem = fs.readFileSync(`${fixtDir}/test_key.pem`, 'ascii'); -const rsaPubPem = fs.readFileSync(`${fixtDir}/test_rsa_pubkey.pem`, 'ascii'); -const rsaKeyPem = fs.readFileSync(`${fixtDir}/test_rsa_privkey.pem`, 'ascii'); -const rsaKeyPemEncrypted = fs.readFileSync( - `${fixtDir}/test_rsa_privkey_encrypted.pem`, 'ascii'); -const dsaPubPem = fs.readFileSync(`${fixtDir}/test_dsa_pubkey.pem`, 'ascii'); -const dsaKeyPem = fs.readFileSync(`${fixtDir}/test_dsa_privkey.pem`, 'ascii'); -const dsaKeyPemEncrypted = fs.readFileSync( - `${fixtDir}/test_dsa_privkey_encrypted.pem`, 'ascii'); +const certPem = fixtures.readSync('test_cert.pem', 'ascii'); +const keyPem = fixtures.readSync('test_key.pem', 'ascii'); +const rsaPubPem = fixtures.readSync('test_rsa_pubkey.pem', 'ascii'); +const rsaKeyPem = fixtures.readSync('test_rsa_privkey.pem', 'ascii'); +const rsaKeyPemEncrypted = fixtures.readSync('test_rsa_privkey_encrypted.pem', + 'ascii'); +const dsaPubPem = fixtures.readSync('test_dsa_pubkey.pem', 'ascii'); +const dsaKeyPem = fixtures.readSync('test_dsa_privkey.pem', 'ascii'); +const dsaKeyPemEncrypted = fixtures.readSync('test_dsa_privkey_encrypted.pem', + 'ascii'); const decryptError = new RegExp('^Error: error:06065064:digital envelope ' + 'routines:EVP_DecryptFinal_ex:bad decrypt$'); @@ -175,9 +175,8 @@ assert.throws(() => { // Test RSA signing and verification // { - const privateKey = fs.readFileSync(`${fixtDir}/test_rsa_privkey_2.pem`); - - const publicKey = fs.readFileSync(`${fixtDir}/test_rsa_pubkey_2.pem`); + const privateKey = fixtures.readSync('test_rsa_privkey_2.pem'); + const publicKey = fixtures.readSync('test_rsa_pubkey_2.pem'); const input = 'I AM THE WALRUS'; diff --git a/test/parallel/test-crypto-sign-verify.js b/test/parallel/test-crypto-sign-verify.js index da7a2cb179e6fc..ff776f1d76d20f 100644 --- a/test/parallel/test-crypto-sign-verify.js +++ b/test/parallel/test-crypto-sign-verify.js @@ -13,10 +13,11 @@ if (!common.hasCrypto) { return; } const crypto = require('crypto'); +const fixtures = require('../common/fixtures'); // Test certificates -const certPem = fs.readFileSync(`${common.fixturesDir}/test_cert.pem`, 'ascii'); -const keyPem = fs.readFileSync(`${common.fixturesDir}/test_key.pem`, 'ascii'); +const certPem = fixtures.readSync('test_cert.pem', 'ascii'); +const keyPem = fixtures.readSync('test_key.pem', 'ascii'); const modSize = 1024; // Test signing and verifying @@ -189,10 +190,7 @@ const modSize = 1024; assert.strictEqual(verified, true, 'verify (PSS)'); } - const vectorfile = path.join(common.fixturesDir, 'pss-vectors.json'); - const examples = JSON.parse(fs.readFileSync(vectorfile, { - encoding: 'utf8' - })); + const examples = JSON.parse(fixtures.readSync('pss-vectors.json', 'utf8')); for (const key in examples) { const example = examples[key]; @@ -249,9 +247,8 @@ const modSize = 1024; return; } - const pubfile = path.join(common.fixturesDir, 'keys/rsa_public_2048.pem'); - const privfile = path.join(common.fixturesDir, 'keys/rsa_private_2048.pem'); - const privkey = fs.readFileSync(privfile); + const pubfile = fixtures.path('keys', 'rsa_public_2048.pem'); + const privkey = fixtures.readKey('rsa_private_2048.pem'); const msg = 'Test123'; const s5 = crypto.createSign('SHA256') diff --git a/test/parallel/test-crypto-verify-failure.js b/test/parallel/test-crypto-verify-failure.js index eb799383d5d120..d3e108b2b8d673 100644 --- a/test/parallel/test-crypto-verify-failure.js +++ b/test/parallel/test-crypto-verify-failure.js @@ -6,16 +6,15 @@ if (!common.hasCrypto) const crypto = require('crypto'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); crypto.DEFAULT_ENCODING = 'buffer'; -const fs = require('fs'); - -const certPem = fs.readFileSync(`${common.fixturesDir}/test_cert.pem`, 'ascii'); +const certPem = fixtures.readSync('test_cert.pem', 'ascii'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; const server = tls.Server(options, (socket) => { diff --git a/test/parallel/test-crypto.js b/test/parallel/test-crypto.js index 702135a38a0e8a..94443c03d1708e 100644 --- a/test/parallel/test-crypto.js +++ b/test/parallel/test-crypto.js @@ -6,16 +6,16 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); -const fs = require('fs'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); crypto.DEFAULT_ENCODING = 'buffer'; // Test Certificates -const caPem = fs.readFileSync(`${common.fixturesDir}/test_ca.pem`, 'ascii'); -const certPem = fs.readFileSync(`${common.fixturesDir}/test_cert.pem`, 'ascii'); -const certPfx = fs.readFileSync(`${common.fixturesDir}/test_cert.pfx`); -const keyPem = fs.readFileSync(`${common.fixturesDir}/test_key.pem`, 'ascii'); +const caPem = fixtures.readSync('test_ca.pem', 'ascii'); +const certPem = fixtures.readSync('test_cert.pem', 'ascii'); +const certPfx = fixtures.readSync('test_cert.pfx'); +const keyPem = fixtures.readSync('test_key.pem', 'ascii'); // 'this' safety // https://github.com/joyent/node/issues/6690 @@ -155,8 +155,8 @@ assert.throws(function() { // $ openssl pkcs8 -topk8 -inform PEM -outform PEM -in mykey.pem \ // -out private_key.pem -nocrypt; // Then open private_key.pem and change its header and footer. - const sha1_privateKey = fs.readFileSync( - `${common.fixturesDir}/test_bad_rsa_privkey.pem`, 'ascii'); + const sha1_privateKey = fixtures.readSync('test_bad_rsa_privkey.pem', + 'ascii'); // this would inject errors onto OpenSSL's error stack crypto.createSign('sha1').sign(sha1_privateKey); }, /asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag/); diff --git a/test/parallel/test-cwd-enoent-preload.js b/test/parallel/test-cwd-enoent-preload.js index 8979547c0dea94..9daa7f176b79b0 100644 --- a/test/parallel/test-cwd-enoent-preload.js +++ b/test/parallel/test-cwd-enoent-preload.js @@ -7,9 +7,10 @@ if (common.isSunOS || common.isWindows || common.isAix) const assert = require('assert'); const fs = require('fs'); const spawn = require('child_process').spawn; +const fixtures = require('../common/fixtures'); const dirname = `${common.tmpDir}/cwd-does-not-exist-${process.pid}`; -const abspathFile = require('path').join(common.fixturesDir, 'a.js'); +const abspathFile = fixtures.path('a.js'); common.refreshTmpDir(); fs.mkdirSync(dirname); process.chdir(dirname); diff --git a/test/parallel/test-delayed-require.js b/test/parallel/test-delayed-require.js index 8e07367eb47366..ee2a59c8ed51d6 100644 --- a/test/parallel/test-delayed-require.js +++ b/test/parallel/test-delayed-require.js @@ -1,10 +1,10 @@ 'use strict'; const common = require('../common'); -const path = require('path'); const assert = require('assert'); +const fixtures = require('../common/fixtures'); setTimeout(common.mustCall(function() { - const a = require(path.join(common.fixturesDir, 'a')); + const a = require(fixtures.path('a')); assert.strictEqual(true, 'A' in a); assert.strictEqual('A', a.A()); assert.strictEqual('D', a.D()); diff --git a/test/parallel/test-fs-empty-readStream.js b/test/parallel/test-fs-empty-readStream.js index cc09517590cdc7..f54c06bf116bb7 100644 --- a/test/parallel/test-fs-empty-readStream.js +++ b/test/parallel/test-fs-empty-readStream.js @@ -1,10 +1,10 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); -const path = require('path'); const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const emptyFile = path.join(common.fixturesDir, 'empty.txt'); +const emptyFile = fixtures.path('empty.txt'); fs.open(emptyFile, 'r', common.mustCall((error, fd) => { diff --git a/test/parallel/test-fs-fsync.js b/test/parallel/test-fs-fsync.js index f69a3c5e7f13c6..0bfda71de4a188 100644 --- a/test/parallel/test-fs-fsync.js +++ b/test/parallel/test-fs-fsync.js @@ -1,11 +1,11 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); +const fixtures = require('../common/fixtures'); -const path = require('path'); const fs = require('fs'); -const file = path.join(common.fixturesDir, 'a.js'); +const file = fixtures.path('a.js'); fs.open(file, 'a', 0o777, common.mustCall(function(err, fd) { assert.ifError(err); diff --git a/test/parallel/test-fs-read-file-sync.js b/test/parallel/test-fs-read-file-sync.js index 45d08f40111f78..95b10951b7b14f 100644 --- a/test/parallel/test-fs-read-file-sync.js +++ b/test/parallel/test-fs-read-file-sync.js @@ -1,10 +1,10 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); -const path = require('path'); const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const fn = path.join(common.fixturesDir, 'elipses.txt'); +const fn = fixtures.path('elipses.txt'); const s = fs.readFileSync(fn, 'utf8'); for (let i = 0; i < s.length; i++) { diff --git a/test/parallel/test-fs-read-stream-encoding.js b/test/parallel/test-fs-read-stream-encoding.js index f8442ed548af5e..8eeaee6572bf72 100644 --- a/test/parallel/test-fs-read-stream-encoding.js +++ b/test/parallel/test-fs-read-stream-encoding.js @@ -1,12 +1,12 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const fs = require('fs'); -const path = require('path'); const stream = require('stream'); +const fixtures = require('../common/fixtures'); const encoding = 'base64'; -const example = path.join(common.fixturesDir, 'x.txt'); +const example = fixtures.path('x.txt'); const assertStream = new stream.Writable({ write: function(chunk, enc, next) { const expected = Buffer.from('xyz'); diff --git a/test/parallel/test-fs-read-stream-fd-leak.js b/test/parallel/test-fs-read-stream-fd-leak.js index e6594afefcd58a..28ec7b91b4c35b 100644 --- a/test/parallel/test-fs-read-stream-fd-leak.js +++ b/test/parallel/test-fs-read-stream-fd-leak.js @@ -1,9 +1,9 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const fs = require('fs'); -const path = require('path'); +const fixtures = require('../common/fixtures'); let openCount = 0; const _fsopen = fs.open; @@ -11,7 +11,7 @@ const _fsclose = fs.close; const loopCount = 50; const totalCheck = 50; -const emptyTxt = path.join(common.fixturesDir, 'empty.txt'); +const emptyTxt = fixtures.path('empty.txt'); fs.open = function() { openCount++; diff --git a/test/parallel/test-fs-read-stream.js b/test/parallel/test-fs-read-stream.js index 629f2ff0033f0d..bab809f72c19ce 100644 --- a/test/parallel/test-fs-read-stream.js +++ b/test/parallel/test-fs-read-stream.js @@ -2,10 +2,10 @@ const common = require('../common'); const assert = require('assert'); -const path = require('path'); +const fixtures = require('../common/fixtures'); const fs = require('fs'); -const fn = path.join(common.fixturesDir, 'elipses.txt'); -const rangeFile = path.join(common.fixturesDir, 'x.txt'); +const fn = fixtures.path('elipses.txt'); +const rangeFile = fixtures.path('x.txt'); const callbacks = { open: 0, end: 0, close: 0 }; diff --git a/test/parallel/test-fs-readfile-empty.js b/test/parallel/test-fs-readfile-empty.js index afc0863673ee49..632bab5ec8b4fe 100644 --- a/test/parallel/test-fs-readfile-empty.js +++ b/test/parallel/test-fs-readfile-empty.js @@ -1,9 +1,10 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); -const path = require('path'); const fs = require('fs'); -const fn = path.join(common.fixturesDir, 'empty.txt'); +const fixtures = require('../common/fixtures'); + +const fn = fixtures.path('empty.txt'); fs.readFile(fn, function(err, data) { assert.ok(data); diff --git a/test/parallel/test-fs-readfile-error.js b/test/parallel/test-fs-readfile-error.js index 53b9cf7d588cfe..7c8dd8feb6a770 100644 --- a/test/parallel/test-fs-readfile-error.js +++ b/test/parallel/test-fs-readfile-error.js @@ -7,10 +7,10 @@ if (common.isFreeBSD) const assert = require('assert'); const exec = require('child_process').exec; -const path = require('path'); +const fixtures = require('../common/fixtures'); function test(env, cb) { - const filename = path.join(common.fixturesDir, 'test-fs-readfile-error.js'); + const filename = fixtures.path('test-fs-readfile-error.js'); const execPath = `"${process.execPath}" "${filename}"`; const options = { env: Object.assign({}, process.env, env) }; exec(execPath, options, common.mustCall((err, stdout, stderr) => { diff --git a/test/parallel/test-require-dot.js b/test/parallel/test-require-dot.js index 04e978df56e200..e2202efec1df1a 100644 --- a/test/parallel/test-require-dot.js +++ b/test/parallel/test-require-dot.js @@ -1,15 +1,16 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const m = require('module'); +const fixtures = require('../common/fixtures'); -const a = require(`${common.fixturesDir}/module-require/relative/dot.js`); -const b = require(`${common.fixturesDir}/module-require/relative/dot-slash.js`); +const a = require(fixtures.path('module-require', 'relative', 'dot.js')); +const b = require(fixtures.path('module-require', 'relative', 'dot-slash.js')); assert.strictEqual(a.value, 42); assert.strictEqual(a, b, 'require(".") should resolve like require("./")'); -process.env.NODE_PATH = `${common.fixturesDir}/module-require/relative`; +process.env.NODE_PATH = fixtures.path('module-require', 'relative'); m._initPaths(); const c = require('.'); diff --git a/test/parallel/test-require-extensions-main.js b/test/parallel/test-require-extensions-main.js index cf3d2ee183f50d..40a857b8e63614 100644 --- a/test/parallel/test-require-extensions-main.js +++ b/test/parallel/test-require-extensions-main.js @@ -1,7 +1,10 @@ 'use strict'; +require('../common'); const assert = require('assert'); -const common = require('../common'); -const fixturesRequire = require(`${common.fixturesDir}/require-bin/bin/req.js`); +const fixtures = require('../common/fixtures'); + +const fixturesRequire = + require(fixtures.path('require-bin', 'bin', 'req.js')); assert.strictEqual( fixturesRequire, diff --git a/test/parallel/test-require-extensions-same-filename-as-dir-trailing-slash.js b/test/parallel/test-require-extensions-same-filename-as-dir-trailing-slash.js index 9c747b02d201fd..e35ea12549e2d0 100644 --- a/test/parallel/test-require-extensions-same-filename-as-dir-trailing-slash.js +++ b/test/parallel/test-require-extensions-same-filename-as-dir-trailing-slash.js @@ -1,9 +1,15 @@ /* eslint-disable max-len */ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); -const filePath = '/json-with-directory-name-module/module-stub/one-trailing-slash/two/three.js'; -const content = require(`${common.fixturesDir}${filePath}`); +const fixtures = require('../common/fixtures'); + +const content = + require(fixtures.path('json-with-directory-name-module', + 'module-stub', + 'one-trailing-slash', + 'two', + 'three.js')); assert.notStrictEqual(content.rocko, 'artischocko'); assert.strictEqual(content, 'hello from module-stub!'); diff --git a/test/parallel/test-require-extensions-same-filename-as-dir.js b/test/parallel/test-require-extensions-same-filename-as-dir.js index 6b42670a87c0a4..a0acfef3330b53 100644 --- a/test/parallel/test-require-extensions-same-filename-as-dir.js +++ b/test/parallel/test-require-extensions-same-filename-as-dir.js @@ -1,17 +1,11 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); -const path = require('path'); +const fixtures = require('../common/fixtures'); -const filePath = path.join( - common.fixturesDir, - 'json-with-directory-name-module', - 'module-stub', - 'one', - 'two', - 'three.js' -); -const content = require(filePath); +const content = require(fixtures.path('json-with-directory-name-module', + 'module-stub', 'one', 'two', + 'three.js')); assert.notStrictEqual(content.rocko, 'artischocko'); assert.strictEqual(content, 'hello from module-stub!'); diff --git a/test/parallel/test-require-json.js b/test/parallel/test-require-json.js index 1d0b10f84cbd45..8119b29c8a3086 100644 --- a/test/parallel/test-require-json.js +++ b/test/parallel/test-require-json.js @@ -1,10 +1,10 @@ 'use strict'; -const common = require('../common'); -const path = require('path'); +require('../common'); const assert = require('assert'); +const fixtures = require('../common/fixtures'); try { - require(path.join(common.fixturesDir, 'invalid.json')); + require(fixtures.path('invalid.json')); } catch (err) { assert.ok( /test[/\\]fixtures[/\\]invalid.json: Unexpected string/.test(err.message), diff --git a/test/parallel/test-require-symlink.js b/test/parallel/test-require-symlink.js index f5129e02739ca0..28bf9a4cf4f76e 100644 --- a/test/parallel/test-require-symlink.js +++ b/test/parallel/test-require-symlink.js @@ -5,19 +5,22 @@ const assert = require('assert'); const path = require('path'); const fs = require('fs'); const { exec, spawn } = require('child_process'); +const fixtures = require('../common/fixtures'); common.refreshTmpDir(); -const linkTarget = path.join(common.fixturesDir, - '/module-require-symlink/node_modules/dep2/'); +const linkTarget = fixtures.path('module-require-symlink', + 'node_modules', + 'dep2'); -const linkDir = path.join( - common.fixturesDir, - '/module-require-symlink/node_modules/dep1/node_modules/dep2' -); +const linkDir = fixtures.path('module-require-symlink', + 'node_modules', + 'dep1', + 'node_modules', + 'dep2'); -const linkScriptTarget = path.join(common.fixturesDir, - '/module-require-symlink/symlinked.js'); +const linkScriptTarget = fixtures.path('module-require-symlink', + 'symlinked.js'); const linkScript = path.join(common.tmpDir, 'module-require-symlink.js'); @@ -43,8 +46,7 @@ function test() { fs.symlinkSync(linkScriptTarget, linkScript); // load symlinked-module - const fooModule = - require(path.join(common.fixturesDir, '/module-require-symlink/foo.js')); + const fooModule = require(fixtures.path('/module-require-symlink/foo.js')); assert.strictEqual(fooModule.dep1.bar.version, 'CORRECT_VERSION'); assert.strictEqual(fooModule.dep2.bar.version, 'CORRECT_VERSION'); diff --git a/test/parallel/test-signal-unregister.js b/test/parallel/test-signal-unregister.js index f28c73c0997dd9..2c4d3129426bbb 100644 --- a/test/parallel/test-signal-unregister.js +++ b/test/parallel/test-signal-unregister.js @@ -2,8 +2,9 @@ const common = require('../common'); const assert = require('assert'); const spawn = require('child_process').spawn; +const fixtures = require('../common/fixtures'); -const child = spawn(process.argv[0], [`${common.fixturesDir}/should_exit.js`]); +const child = spawn(process.argv[0], [fixtures.path('should_exit.js')]); child.stdout.once('data', function() { child.kill('SIGINT'); }); diff --git a/test/parallel/test-stdio-closed.js b/test/parallel/test-stdio-closed.js index 2313140a26aea7..7a6625f494d3a6 100644 --- a/test/parallel/test-stdio-closed.js +++ b/test/parallel/test-stdio-closed.js @@ -3,7 +3,7 @@ const common = require('../common'); const assert = require('assert'); const spawn = require('child_process').spawn; const fs = require('fs'); -const path = require('path'); +const fixtures = require('../common/fixtures'); if (common.isWindows) { if (process.argv[2] === 'child') { @@ -13,7 +13,7 @@ if (common.isWindows) { return; } const python = process.env.PYTHON || 'python'; - const script = path.join(common.fixturesDir, 'spawn_closed_stdio.py'); + const script = fixtures.path('spawn_closed_stdio.py'); const proc = spawn(python, [script, process.execPath, __filename, 'child']); proc.on('exit', common.mustCall(function(exitCode) { assert.strictEqual(exitCode, 0); diff --git a/test/parallel/test-stdout-close-catch.js b/test/parallel/test-stdout-close-catch.js index 5f1f52fe514b16..e9b559c9f24cd0 100644 --- a/test/parallel/test-stdout-close-catch.js +++ b/test/parallel/test-stdout-close-catch.js @@ -1,10 +1,10 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); -const path = require('path'); const child_process = require('child_process'); +const fixtures = require('../common/fixtures'); -const testScript = path.join(common.fixturesDir, 'catch-stdout-error.js'); +const testScript = fixtures.path('catch-stdout-error.js'); const cmd = `${JSON.stringify(process.execPath)} ` + `${JSON.stringify(testScript)} | ` + diff --git a/test/parallel/test-stdout-to-file.js b/test/parallel/test-stdout-to-file.js index 1ad3fafe77ac22..8f94aacc754908 100644 --- a/test/parallel/test-stdout-to-file.js +++ b/test/parallel/test-stdout-to-file.js @@ -4,10 +4,10 @@ const assert = require('assert'); const path = require('path'); const childProcess = require('child_process'); const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const scriptString = path.join(common.fixturesDir, 'print-chars.js'); -const scriptBuffer = path.join(common.fixturesDir, - 'print-chars-from-buffer.js'); +const scriptString = fixtures.path('print-chars.js'); +const scriptBuffer = fixtures.path('print-chars-from-buffer.js'); const tmpFile = path.join(common.tmpDir, 'stdout.txt'); common.refreshTmpDir(); diff --git a/test/parallel/test-stream-preprocess.js b/test/parallel/test-stream-preprocess.js index 9cb4c1d3cca8ae..d42c2fd63ef52f 100644 --- a/test/parallel/test-stream-preprocess.js +++ b/test/parallel/test-stream-preprocess.js @@ -3,32 +3,26 @@ const common = require('../common'); const assert = require('assert'); const fs = require('fs'); -const path = require('path'); const rl = require('readline'); +const fixtures = require('../common/fixtures'); const BOM = '\uFEFF'; // Get the data using a non-stream way to compare with the streamed data. -const modelData = fs.readFileSync( - path.join(common.fixturesDir, 'file-to-read-without-bom.txt'), 'utf8' -); +const modelData = fixtures.readSync('file-to-read-without-bom.txt', 'utf8'); const modelDataFirstCharacter = modelData[0]; // Detect the number of forthcoming 'line' events for mustCall() 'expected' arg. const lineCount = modelData.match(/\n/g).length; // Ensure both without-bom and with-bom test files are textwise equal. -assert.strictEqual( - fs.readFileSync( - path.join(common.fixturesDir, 'file-to-read-with-bom.txt'), 'utf8' - ), - `${BOM}${modelData}` +assert.strictEqual(fixtures.readSync('file-to-read-with-bom.txt', 'utf8'), + `${BOM}${modelData}` ); // An unjustified BOM stripping with a non-BOM character unshifted to a stream. -const inputWithoutBOM = fs.createReadStream( - path.join(common.fixturesDir, 'file-to-read-without-bom.txt'), 'utf8' -); +const inputWithoutBOM = + fs.createReadStream(fixtures.path('file-to-read-without-bom.txt'), 'utf8'); inputWithoutBOM.once('readable', common.mustCall(() => { const maybeBOM = inputWithoutBOM.read(1); @@ -48,9 +42,8 @@ inputWithoutBOM.once('readable', common.mustCall(() => { })); // A justified BOM stripping. -const inputWithBOM = fs.createReadStream( - path.join(common.fixturesDir, 'file-to-read-with-bom.txt'), 'utf8' -); +const inputWithBOM = + fs.createReadStream(fixtures.path('file-to-read-with-bom.txt'), 'utf8'); inputWithBOM.once('readable', common.mustCall(() => { const maybeBOM = inputWithBOM.read(1); diff --git a/test/parallel/test-sync-fileread.js b/test/parallel/test-sync-fileread.js index 6882513c50b950..826f62d220f835 100644 --- a/test/parallel/test-sync-fileread.js +++ b/test/parallel/test-sync-fileread.js @@ -1,9 +1,7 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); -const path = require('path'); const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const fixture = path.join(common.fixturesDir, 'x.txt'); - -assert.strictEqual(fs.readFileSync(fixture).toString(), 'xyz\n'); +assert.strictEqual(fs.readFileSync(fixtures.path('x.txt')).toString(), 'xyz\n'); diff --git a/test/parallel/test-tls-0-dns-altname.js b/test/parallel/test-tls-0-dns-altname.js index 85ddb7d902ba57..dbe8a98aef4d00 100644 --- a/test/parallel/test-tls-0-dns-altname.js +++ b/test/parallel/test-tls-0-dns-altname.js @@ -7,11 +7,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const server = tls.createServer({ - key: fs.readFileSync(`${common.fixturesDir}/0-dns/0-dns-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/0-dns/0-dns-cert.pem`) + key: fixtures.readSync(['0-dns', '0-dns-key.pem']), + cert: fixtures.readSync(['0-dns', '0-dns-cert.pem']) }, function(c) { c.once('data', function() { c.destroy(); diff --git a/test/parallel/test-tls-addca.js b/test/parallel/test-tls-addca.js index 7a6f9a77516e22..034334a7e41bf3 100644 --- a/test/parallel/test-tls-addca.js +++ b/test/parallel/test-tls-addca.js @@ -1,14 +1,14 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const fixtures = require('../common/fixtures'); // Adding a CA certificate to contextWithCert should not also add it to // contextWithoutCert. This is tested by trying to connect to a server that // depends on that CA using contextWithoutCert. -const join = require('path').join; const { assert, connect, keys, tls -} = require(join(common.fixturesDir, 'tls-connect'))(); +} = require(fixtures.path('tls-connect')); const contextWithoutCert = tls.createSecureContext({}); const contextWithCert = tls.createSecureContext({}); diff --git a/test/parallel/test-tls-alert-handling.js b/test/parallel/test-tls-alert-handling.js index 0b3447243db7f3..dfe7ea640db2b1 100644 --- a/test/parallel/test-tls-alert-handling.js +++ b/test/parallel/test-tls-alert-handling.js @@ -7,17 +7,12 @@ if (!common.hasCrypto) if (!common.opensslCli) common.skip('node compiled without OpenSSL CLI.'); -const fs = require('fs'); const net = require('net'); -const path = require('path'); const tls = require('tls'); - -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} +const fixtures = require('../common/fixtures'); function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const opts = { diff --git a/test/parallel/test-tls-alert.js b/test/parallel/test-tls-alert.js index a48002d65a1efe..34e258b2bdd0ca 100644 --- a/test/parallel/test-tls-alert.js +++ b/test/parallel/test-tls-alert.js @@ -8,18 +8,13 @@ if (!common.opensslCli) const assert = require('assert'); const { spawn } = require('child_process'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); let success = false; -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} - function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const server = tls.Server({ diff --git a/test/parallel/test-tls-alpn-server-client.js b/test/parallel/test-tls-alpn-server-client.js index 56f925b8a97945..e0547300c0a416 100644 --- a/test/parallel/test-tls-alpn-server-client.js +++ b/test/parallel/test-tls-alpn-server-client.js @@ -10,16 +10,11 @@ if (!process.features.tls_alpn || !process.features.tls_npn) { } const assert = require('assert'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); - -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} +const fixtures = require('../common/fixtures'); function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const serverIP = common.localhostIPv4; diff --git a/test/parallel/test-tls-ca-concat.js b/test/parallel/test-tls-ca-concat.js index 8fa83a4628d9cc..3b4f3e7db74115 100644 --- a/test/parallel/test-tls-ca-concat.js +++ b/test/parallel/test-tls-ca-concat.js @@ -1,13 +1,13 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const fixtures = require('../common/fixtures'); // Check ca option can contain concatenated certs by prepending an unrelated // non-CA cert and showing that agent6's CA root is still found. -const join = require('path').join; const { assert, connect, keys -} = require(join(common.fixturesDir, 'tls-connect'))(); +} = require(fixtures.path('tls-connect')); connect({ client: { diff --git a/test/parallel/test-tls-cert-chains-concat.js b/test/parallel/test-tls-cert-chains-concat.js index d53edef89842b9..aeb37a8696cf69 100644 --- a/test/parallel/test-tls-cert-chains-concat.js +++ b/test/parallel/test-tls-cert-chains-concat.js @@ -1,13 +1,13 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const fixtures = require('../common/fixtures'); // Check cert chain is received by client, and is completed with the ca cert // known to the client. -const join = require('path').join; const { assert, connect, debug, keys -} = require(join(common.fixturesDir, 'tls-connect'))(); +} = require(fixtures.path('tls-connect')); // agent6-cert.pem includes cert for agent6 and ca3 connect({ diff --git a/test/parallel/test-tls-cert-chains-in-ca.js b/test/parallel/test-tls-cert-chains-in-ca.js index 69f62c3f72d859..20ffd895b70f24 100644 --- a/test/parallel/test-tls-cert-chains-in-ca.js +++ b/test/parallel/test-tls-cert-chains-in-ca.js @@ -1,13 +1,13 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const fixtures = require('../common/fixtures'); // Check cert chain is received by client, and is completed with the ca cert // known to the client. -const join = require('path').join; const { assert, connect, debug, keys -} = require(join(common.fixturesDir, 'tls-connect'))(); +} = require(fixtures.path('tls-connect')); // agent6-cert.pem includes cert for agent6 and ca3, split it apart and diff --git a/test/parallel/test-tls-client-abort.js b/test/parallel/test-tls-client-abort.js index 4216e344c56276..04b70f586c74c8 100644 --- a/test/parallel/test-tls-client-abort.js +++ b/test/parallel/test-tls-client-abort.js @@ -5,11 +5,10 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); -const path = require('path'); +const fixtures = require('../common/fixtures'); -const cert = fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem')); -const key = fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem')); +const cert = fixtures.readSync('test_cert.pem'); +const key = fixtures.readSync('test_key.pem'); const conn = tls.connect({cert, key, port: 0}, common.mustNotCall()); conn.on('error', function() { diff --git a/test/parallel/test-tls-client-destroy-soon.js b/test/parallel/test-tls-client-destroy-soon.js index 94a49568f3d8f2..25e4b21f8b828b 100644 --- a/test/parallel/test-tls-client-destroy-soon.js +++ b/test/parallel/test-tls-client-destroy-soon.js @@ -9,11 +9,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent2-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent2-cert.pem`) + key: fixtures.readKey('agent2-key.pem'), + cert: fixtures.readKey('agent2-cert.pem') }; const big = Buffer.alloc(2 * 1024 * 1024, 'Y'); diff --git a/test/parallel/test-tls-client-mindhsize.js b/test/parallel/test-tls-client-mindhsize.js index 685d790f8dc393..51ea1f08b71c90 100644 --- a/test/parallel/test-tls-client-mindhsize.js +++ b/test/parallel/test-tls-client-mindhsize.js @@ -5,18 +5,19 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const key = fs.readFileSync(`${common.fixturesDir}/keys/agent2-key.pem`); -const cert = fs.readFileSync(`${common.fixturesDir}/keys/agent2-cert.pem`); +const key = fixtures.readKey('agent2-key.pem'); +const cert = fixtures.readKey('agent2-cert.pem'); let nsuccess = 0; let nerror = 0; function loadDHParam(n) { - let path = common.fixturesDir; - if (n !== 'error') path += '/keys'; - return fs.readFileSync(`${path}/dh${n}.pem`); + const params = [`dh${n}.pem`]; + if (n !== 'error') + params.unshift('keys'); + return fixtures.readSync(params); } function test(size, err, next) { diff --git a/test/parallel/test-tls-client-reject.js b/test/parallel/test-tls-client-reject.js index be3233dbbcc2a7..ea23fbceb71a8e 100644 --- a/test/parallel/test-tls-client-reject.js +++ b/test/parallel/test-tls-client-reject.js @@ -5,12 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); -const path = require('path'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem')), - cert: fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem')) + key: fixtures.readSync('test_key.pem'), + cert: fixtures.readSync('test_cert.pem') }; const server = tls.createServer(options, common.mustCall(function(socket) { @@ -49,7 +48,7 @@ function rejectUnauthorized() { function authorized() { const socket = tls.connect(server.address().port, { - ca: [fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem'))], + ca: [fixtures.readSync('test_cert.pem')], servername: 'localhost' }, common.mustCall(function() { assert(socket.authorized); diff --git a/test/parallel/test-tls-client-verify.js b/test/parallel/test-tls-client-verify.js index 565b3917b28368..76af6d1ff09942 100644 --- a/test/parallel/test-tls-client-verify.js +++ b/test/parallel/test-tls-client-verify.js @@ -4,9 +4,8 @@ if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); const hosterr = /Hostname\/IP doesn't match certificate's altnames/; const testCases = @@ -41,13 +40,9 @@ const testCases = } ]; -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} - function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } let successfulTests = 0; diff --git a/test/parallel/test-tls-close-error.js b/test/parallel/test-tls-close-error.js index e7e48cdc05c8a3..0f36dfe476a7d7 100644 --- a/test/parallel/test-tls-close-error.js +++ b/test/parallel/test-tls-close-error.js @@ -6,11 +6,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const server = tls.createServer({ - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }, function(c) { }).listen(0, common.mustCall(function() { const c = tls.connect(this.address().port, function() { diff --git a/test/parallel/test-tls-close-notify.js b/test/parallel/test-tls-close-notify.js index 15f9f36d2ab1f5..4768215653ccbe 100644 --- a/test/parallel/test-tls-close-notify.js +++ b/test/parallel/test-tls-close-notify.js @@ -5,11 +5,11 @@ if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const server = tls.createServer({ - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }, function(c) { // Send close-notify without shutting down TCP socket if (c._handle.shutdownSSL() !== 1) diff --git a/test/parallel/test-tls-cnnic-whitelist.js b/test/parallel/test-tls-cnnic-whitelist.js index 84b71c7e64b1be..c269835428e52d 100644 --- a/test/parallel/test-tls-cnnic-whitelist.js +++ b/test/parallel/test-tls-cnnic-whitelist.js @@ -6,16 +6,11 @@ if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); - -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} +const fixtures = require('../common/fixtures'); function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const testCases = [ diff --git a/test/parallel/test-tls-connect-pipe.js b/test/parallel/test-tls-connect-pipe.js index 2467a9196abaa4..369512fad5ffb7 100644 --- a/test/parallel/test-tls-connect-pipe.js +++ b/test/parallel/test-tls-connect-pipe.js @@ -5,12 +5,11 @@ if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); - -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; common.refreshTmpDir(); diff --git a/test/parallel/test-tls-connect-simple.js b/test/parallel/test-tls-connect-simple.js index aa59f059f6ddf2..8355edd0ec46aa 100644 --- a/test/parallel/test-tls-connect-simple.js +++ b/test/parallel/test-tls-connect-simple.js @@ -5,14 +5,13 @@ if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); - -const fs = require('fs'); +const fixtures = require('../common/fixtures'); let serverConnected = 0; const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; const server = tls.Server(options, common.mustCall(function(socket) { diff --git a/test/parallel/test-tls-connect-stream-writes.js b/test/parallel/test-tls-connect-stream-writes.js index 5266d6c93d1ccb..63d549767ab48e 100644 --- a/test/parallel/test-tls-connect-stream-writes.js +++ b/test/parallel/test-tls-connect-stream-writes.js @@ -1,15 +1,15 @@ 'use strict'; -const common = require('../common'); +require('../common'); + const assert = require('assert'); -const fs = require('fs'); const tls = require('tls'); const stream = require('stream'); const net = require('net'); +const fixtures = require('../common/fixtures'); -const cert_dir = common.fixturesDir; -const options = { key: fs.readFileSync(`${cert_dir}/test_key.pem`), - cert: fs.readFileSync(`${cert_dir}/test_cert.pem`), - ca: [ fs.readFileSync(`${cert_dir}/test_ca.pem`) ], +const options = { key: fixtures.readSync('test_key.pem'), + cert: fixtures.readSync('test_cert.pem'), + ca: [ fixtures.readSync('test_ca.pem') ], ciphers: 'AES256-GCM-SHA384' }; const content = 'hello world'; const recv_bufs = []; diff --git a/test/parallel/test-tls-delayed-attach-error.js b/test/parallel/test-tls-delayed-attach-error.js index 9d37f15efe4846..94d8e879adcd2d 100644 --- a/test/parallel/test-tls-delayed-attach-error.js +++ b/test/parallel/test-tls-delayed-attach-error.js @@ -5,14 +5,14 @@ if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); -const fs = require('fs'); const net = require('net'); +const fixtures = require('../common/fixtures'); const bonkers = Buffer.alloc(1024, 42); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; const server = net.createServer(common.mustCall(function(c) { diff --git a/test/parallel/test-tls-dhe.js b/test/parallel/test-tls-dhe.js index 3e43fd29a0e333..d1807cf2a00e77 100644 --- a/test/parallel/test-tls-dhe.js +++ b/test/parallel/test-tls-dhe.js @@ -9,19 +9,20 @@ if (!common.opensslCli) const assert = require('assert'); const tls = require('tls'); const spawn = require('child_process').spawn; -const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const key = fs.readFileSync(`${common.fixturesDir}/keys/agent2-key.pem`); -const cert = fs.readFileSync(`${common.fixturesDir}/keys/agent2-cert.pem`); +const key = fixtures.readKey('agent2-key.pem'); +const cert = fixtures.readKey('agent2-cert.pem'); let nsuccess = 0; let ntests = 0; const ciphers = 'DHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; function loadDHParam(n) { - let path = common.fixturesDir; - if (n !== 'error') path += '/keys'; - return fs.readFileSync(`${path}/dh${n}.pem`); + const params = [`dh${n}.pem`]; + if (n !== 'error') + params.unshift('keys'); + return fixtures.readSync(params); } function test(keylen, expectedCipher, cb) { diff --git a/test/parallel/test-tls-env-extra-ca.js b/test/parallel/test-tls-env-extra-ca.js index be7c826b85cc1f..5f011f33382ac6 100644 --- a/test/parallel/test-tls-env-extra-ca.js +++ b/test/parallel/test-tls-env-extra-ca.js @@ -7,10 +7,10 @@ if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); -const fs = require('fs'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); -const fork = require('child_process').fork; +const { fork } = require('child_process'); if (process.env.CHILD) { const copts = { @@ -24,8 +24,8 @@ if (process.env.CHILD) { } const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`), + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem'), }; const server = tls.createServer(options, common.mustCall(function(s) { @@ -35,7 +35,7 @@ const server = tls.createServer(options, common.mustCall(function(s) { const env = { CHILD: 'yes', PORT: this.address().port, - NODE_EXTRA_CA_CERTS: `${common.fixturesDir}/keys/ca1-cert.pem`, + NODE_EXTRA_CA_CERTS: fixtures.path('keys', 'ca1-cert.pem') }; fork(__filename, {env: env}).on('exit', common.mustCall(function(status) { diff --git a/test/parallel/test-tls-no-rsa-key.js b/test/parallel/test-tls-no-rsa-key.js index 07a3ea434a085a..9098e8c5fbd568 100644 --- a/test/parallel/test-tls-no-rsa-key.js +++ b/test/parallel/test-tls-no-rsa-key.js @@ -5,11 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/ec-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/ec-cert.pem`) + key: fixtures.readKey('/ec-key.pem'), + cert: fixtures.readKey('ec-cert.pem') }; const server = tls.createServer(options, function(conn) { diff --git a/test/parallel/test-tls-no-sslv3.js b/test/parallel/test-tls-no-sslv3.js index 0a118dbe7e9d49..9622262f38cbf3 100644 --- a/test/parallel/test-tls-no-sslv3.js +++ b/test/parallel/test-tls-no-sslv3.js @@ -8,11 +8,11 @@ if (common.opensslCli === false) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); const spawn = require('child_process').spawn; +const fixtures = require('../common/fixtures'); -const cert = fs.readFileSync(`${common.fixturesDir}/test_cert.pem`); -const key = fs.readFileSync(`${common.fixturesDir}/test_key.pem`); +const cert = fixtures.readSync('test_cert.pem'); +const key = fixtures.readSync('test_key.pem'); const server = tls.createServer({ cert: cert, key: key }, common.mustNotCall()); const errors = []; let stderr = ''; diff --git a/test/parallel/test-tls-npn-server-client.js b/test/parallel/test-tls-npn-server-client.js index 22491c10d5ce55..cf311649af8db1 100644 --- a/test/parallel/test-tls-npn-server-client.js +++ b/test/parallel/test-tls-npn-server-client.js @@ -9,16 +9,11 @@ if (!process.features.tls_npn) common.skip('Skipping because node compiled without NPN feature of OpenSSL.'); const assert = require('assert'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); - -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} +const fixtures = require('../common/fixtures'); function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const serverOptions = { diff --git a/test/parallel/test-tls-ocsp-callback.js b/test/parallel/test-tls-ocsp-callback.js index 673b69eccbad9e..8543762b57678d 100644 --- a/test/parallel/test-tls-ocsp-callback.js +++ b/test/parallel/test-tls-ocsp-callback.js @@ -11,26 +11,22 @@ if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); const assert = require('assert'); -const fs = require('fs'); -const join = require('path').join; const SSL_OP_NO_TICKET = require('crypto').constants.SSL_OP_NO_TICKET; -const pfx = fs.readFileSync(join(common.fixturesDir, 'keys', 'agent1-pfx.pem')); +const pfx = fixtures.readKey('agent1-pfx.pem'); function test(testOptions, cb) { - const keyFile = join(common.fixturesDir, 'keys', 'agent1-key.pem'); - const certFile = join(common.fixturesDir, 'keys', 'agent1-cert.pem'); - const caFile = join(common.fixturesDir, 'keys', 'ca1-cert.pem'); - const key = fs.readFileSync(keyFile); - const cert = fs.readFileSync(certFile); - const ca = fs.readFileSync(caFile); + const key = fixtures.readKey('agent1-key.pem'); + const cert = fixtures.readKey('agent1-cert.pem'); + const ca = fixtures.readKey('ca1-cert.pem'); const options = { - key: key, - cert: cert, + key, + cert, ca: [ca] }; let requestCount = 0; diff --git a/test/parallel/test-tls-on-empty-socket.js b/test/parallel/test-tls-on-empty-socket.js index 5b66edd0c2076a..87d51a81bbe08e 100644 --- a/test/parallel/test-tls-on-empty-socket.js +++ b/test/parallel/test-tls-on-empty-socket.js @@ -6,15 +6,14 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); - -const fs = require('fs'); const net = require('net'); +const fixtures = require('../common/fixtures'); let out = ''; const server = tls.createServer({ - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }, function(c) { c.end('hello'); }).listen(0, function() { diff --git a/test/parallel/test-tls-over-http-tunnel.js b/test/parallel/test-tls-over-http-tunnel.js index ae9c8e0cc8aa0a..47f50c2036794b 100644 --- a/test/parallel/test-tls-over-http-tunnel.js +++ b/test/parallel/test-tls-over-http-tunnel.js @@ -5,14 +5,14 @@ if (!common.hasCrypto) const assert = require('assert'); const https = require('https'); -const fs = require('fs'); const net = require('net'); const http = require('http'); +const fixtures = require('../common/fixtures'); let gotRequest = false; -const key = fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`); -const cert = fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`); +const key = fixtures.readKey('agent1-key.pem'); +const cert = fixtures.readKey('agent1-cert.pem'); const options = { key: key, diff --git a/test/parallel/test-tls-passphrase.js b/test/parallel/test-tls-passphrase.js index 0092dbd84d8586..e3c7fd9dc62622 100644 --- a/test/parallel/test-tls-passphrase.js +++ b/test/parallel/test-tls-passphrase.js @@ -5,12 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); -const path = require('path'); +const fixtures = require('../common/fixtures'); -const passKey = fs.readFileSync(path.join(common.fixturesDir, 'pass-key.pem')); -const rawKey = fs.readFileSync(path.join(common.fixturesDir, 'raw-key.pem')); -const cert = fs.readFileSync(path.join(common.fixturesDir, 'pass-cert.pem')); +const passKey = fixtures.readSync('pass-key.pem'); +const rawKey = fixtures.readSync('raw-key.pem'); +const cert = fixtures.readSync('pass-cert.pem'); assert(Buffer.isBuffer(passKey)); assert(Buffer.isBuffer(cert)); diff --git a/test/parallel/test-tls-pause.js b/test/parallel/test-tls-pause.js index 4aded19d5c5b17..74d32a2a9bdb4e 100644 --- a/test/parallel/test-tls-pause.js +++ b/test/parallel/test-tls-pause.js @@ -5,12 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); -const path = require('path'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem')), - cert: fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem')) + key: fixtures.readSync('test_key.pem'), + cert: fixtures.readSync('test_cert.pem') }; const bufSize = 1024 * 1024; diff --git a/test/parallel/test-tls-peer-certificate-encoding.js b/test/parallel/test-tls-peer-certificate-encoding.js index d6e920a0703dd5..f54c4ed814e9ba 100644 --- a/test/parallel/test-tls-peer-certificate-encoding.js +++ b/test/parallel/test-tls-peer-certificate-encoding.js @@ -5,14 +5,13 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); const util = require('util'); -const join = require('path').join; +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(join(common.fixturesDir, 'keys', 'agent5-key.pem')), - cert: fs.readFileSync(join(common.fixturesDir, 'keys', 'agent5-cert.pem')), - ca: [ fs.readFileSync(join(common.fixturesDir, 'keys', 'ca2-cert.pem')) ] + key: fixtures.readKey('agent5-key.pem'), + cert: fixtures.readKey('agent5-cert.pem'), + ca: [ fixtures.readKey('ca2-cert.pem') ] }; const server = tls.createServer(options, function(cleartext) { diff --git a/test/parallel/test-tls-peer-certificate-multi-keys.js b/test/parallel/test-tls-peer-certificate-multi-keys.js index ed5566f8e7c91f..19cac8a44ecd79 100644 --- a/test/parallel/test-tls-peer-certificate-multi-keys.js +++ b/test/parallel/test-tls-peer-certificate-multi-keys.js @@ -5,13 +5,12 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); const util = require('util'); -const join = require('path').join; +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(join(common.fixturesDir, 'agent.key')), - cert: fs.readFileSync(join(common.fixturesDir, 'multi-alice.crt')) + key: fixtures.readSync('agent.key'), + cert: fixtures.readSync('multi-alice.crt') }; const server = tls.createServer(options, function(cleartext) { diff --git a/test/parallel/test-tls-peer-certificate.js b/test/parallel/test-tls-peer-certificate.js index eb5be6dcb2241b..ca573f9564d43e 100644 --- a/test/parallel/test-tls-peer-certificate.js +++ b/test/parallel/test-tls-peer-certificate.js @@ -1,12 +1,12 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const fixtures = require('../common/fixtures'); // Verify that detailed getPeerCertificate() return value has all certs. -const join = require('path').join; const { assert, connect, debug, keys -} = require(join(common.fixturesDir, 'tls-connect'))(); +} = require(fixtures.path('tls-connect')); connect({ client: {rejectUnauthorized: false}, diff --git a/test/parallel/test-tls-pfx-gh-5100-regr.js b/test/parallel/test-tls-pfx-gh-5100-regr.js index 112a00ea2e89e9..199d4bdf22778c 100644 --- a/test/parallel/test-tls-pfx-gh-5100-regr.js +++ b/test/parallel/test-tls-pfx-gh-5100-regr.js @@ -7,11 +7,9 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); -const path = require('path'); +const fixtures = require('../common/fixtures'); -const pfx = fs.readFileSync( - path.join(common.fixturesDir, 'keys', 'agent1-pfx.pem')); +const pfx = fixtures.readKey('agent1-pfx.pem'); const server = tls.createServer({ pfx: pfx, diff --git a/test/parallel/test-tls-regr-gh-5108.js b/test/parallel/test-tls-regr-gh-5108.js index 9bb07fe7ca3b3e..402a6014d1396c 100644 --- a/test/parallel/test-tls-regr-gh-5108.js +++ b/test/parallel/test-tls-regr-gh-5108.js @@ -6,11 +6,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; diff --git a/test/parallel/test-tls-request-timeout.js b/test/parallel/test-tls-request-timeout.js index 3989e40f18d9ea..bce2e1e9cce32d 100644 --- a/test/parallel/test-tls-request-timeout.js +++ b/test/parallel/test-tls-request-timeout.js @@ -5,11 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; const server = tls.Server(options, common.mustCall(function(socket) { diff --git a/test/parallel/test-tls-retain-handle-no-abort.js b/test/parallel/test-tls-retain-handle-no-abort.js index 4be64c15969f22..6571aab3a95721 100644 --- a/test/parallel/test-tls-retain-handle-no-abort.js +++ b/test/parallel/test-tls-retain-handle-no-abort.js @@ -6,14 +6,14 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); const util = require('util'); +const fixtures = require('../common/fixtures'); const sent = 'hello world'; const serverOptions = { isServer: true, - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; let ssl = null; diff --git a/test/parallel/test-tls-securepair-fiftharg.js b/test/parallel/test-tls-securepair-fiftharg.js index 97b563ae0383d4..52f8b6c0ee8c13 100644 --- a/test/parallel/test-tls-securepair-fiftharg.js +++ b/test/parallel/test-tls-securepair-fiftharg.js @@ -2,12 +2,12 @@ const common = require('../common'); const assert = require('assert'); -const fs = require('fs'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); const sslcontext = tls.createSecureContext({ - cert: fs.readFileSync(`${common.fixturesDir}/test_cert.pem`), - key: fs.readFileSync(`${common.fixturesDir}/test_key.pem`) + cert: fixtures.readSync('test_cert.pem'), + key: fixtures.readSync('test_key.pem') }); let catchedServername; @@ -18,7 +18,7 @@ const pair = tls.createSecurePair(sslcontext, true, false, false, { }); // captured traffic from browser's request to https://www.google.com -const sslHello = fs.readFileSync(`${common.fixturesDir}/google_ssl_hello.bin`); +const sslHello = fixtures.readSync('google_ssl_hello.bin'); pair.encrypted.write(sslHello); diff --git a/test/parallel/test-tls-securepair-server.js b/test/parallel/test-tls-securepair-server.js index d335bb29948084..ddba0c0cb2001f 100644 --- a/test/parallel/test-tls-securepair-server.js +++ b/test/parallel/test-tls-securepair-server.js @@ -8,13 +8,12 @@ if (!common.opensslCli) const assert = require('assert'); const tls = require('tls'); -const join = require('path').join; const net = require('net'); -const fs = require('fs'); const spawn = require('child_process').spawn; +const fixtures = require('../common/fixtures'); -const key = fs.readFileSync(join(common.fixturesDir, 'agent.key')).toString(); -const cert = fs.readFileSync(join(common.fixturesDir, 'agent.crt')).toString(); +const key = fixtures.readSync('agent.key').toString(); +const cert = fixtures.readSync('agent.crt').toString(); function log(a) { console.error(`***server*** ${a}`); diff --git a/test/parallel/test-tls-server-connection-server.js b/test/parallel/test-tls-server-connection-server.js index 7eef14d23b5371..7fb2c74996ab4b 100644 --- a/test/parallel/test-tls-server-connection-server.js +++ b/test/parallel/test-tls-server-connection-server.js @@ -6,11 +6,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; const server = tls.createServer(options, function(s) { diff --git a/test/parallel/test-tls-server-verify.js b/test/parallel/test-tls-server-verify.js index 7a106f694b9484..f482b87d2308c3 100644 --- a/test/parallel/test-tls-server-verify.js +++ b/test/parallel/test-tls-server-verify.js @@ -19,9 +19,8 @@ const assert = require('assert'); const { spawn } = require('child_process'); const { SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION } = require('crypto').constants; -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); const testCases = [{ title: 'Do not request certs. Everyone is unauthorized.', @@ -107,14 +106,12 @@ const testCases = } ]; - function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); + return fixtures.path('keys', `${n}.pem`); } - function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } diff --git a/test/parallel/test-tls-session-cache.js b/test/parallel/test-tls-session-cache.js index d4c41518a35b5f..b2deed411c52a0 100644 --- a/test/parallel/test-tls-session-cache.js +++ b/test/parallel/test-tls-session-cache.js @@ -1,20 +1,15 @@ 'use strict'; const common = require('../common'); - -if (!common.hasCrypto) - common.skip('missing crypto'); - -if (!common.opensslCli) - common.skip('node compiled without OpenSSL CLI.'); - +const fixtures = require('../common/fixtures'); const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); -const { join } = require('path'); const { spawn } = require('child_process'); -const keyFile = join(common.fixturesDir, 'agent.key'); -const certFile = join(common.fixturesDir, 'agent.crt'); +if (!common.opensslCli) + common.skip('node compiled without OpenSSL CLI.'); + +if (!common.hasCrypto) + common.skip('missing crypto'); doTest({ tickets: false }, function() { doTest({ tickets: true }, function() { @@ -23,8 +18,8 @@ doTest({ tickets: false }, function() { }); function doTest(testOptions, callback) { - const key = fs.readFileSync(keyFile); - const cert = fs.readFileSync(certFile); + const key = fixtures.readSync('agent.key'); + const cert = fixtures.readSync('agent.crt'); const options = { key: key, cert: cert, @@ -74,8 +69,8 @@ function doTest(testOptions, callback) { '-tls1', '-connect', `localhost:${this.address().port}`, '-servername', 'ohgod', - '-key', join(common.fixturesDir, 'agent.key'), - '-cert', join(common.fixturesDir, 'agent.crt'), + '-key', fixtures.path('agent.key'), + '-cert', fixtures.path('agent.crt'), '-reconnect' ].concat(testOptions.tickets ? [] : '-no_ticket'); diff --git a/test/parallel/test-tls-set-ciphers.js b/test/parallel/test-tls-set-ciphers.js index e6e14bcf87a507..b292e56ab3f569 100644 --- a/test/parallel/test-tls-set-ciphers.js +++ b/test/parallel/test-tls-set-ciphers.js @@ -10,11 +10,11 @@ if (!common.hasCrypto) const assert = require('assert'); const exec = require('child_process').exec; const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent2-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent2-cert.pem`), + key: fixtures.readKey('agent2-key.pem'), + cert: fixtures.readKey('agent2-cert.pem'), ciphers: 'AES256-SHA' }; diff --git a/test/parallel/test-tls-set-encoding.js b/test/parallel/test-tls-set-encoding.js index 4114ee593783a6..dae4d2c31c2c64 100644 --- a/test/parallel/test-tls-set-encoding.js +++ b/test/parallel/test-tls-set-encoding.js @@ -5,11 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent2-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent2-cert.pem`) + key: fixtures.readKey('agent2-key.pem'), + cert: fixtures.readKey('agent2-cert.pem') }; // Contains a UTF8 only character diff --git a/test/parallel/test-tls-sni-option.js b/test/parallel/test-tls-sni-option.js index ff3e2ef05c3a47..fc379f6015f722 100644 --- a/test/parallel/test-tls-sni-option.js +++ b/test/parallel/test-tls-sni-option.js @@ -9,16 +9,11 @@ if (!process.features.tls_sni) common.skip('node compiled without OpenSSL or with old OpenSSL version.'); const assert = require('assert'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); - -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} +const fixtures = require('../common/fixtures'); function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const serverOptions = { diff --git a/test/parallel/test-tls-sni-server-client.js b/test/parallel/test-tls-sni-server-client.js index ebe51f23138c75..27e6a81b3bd22b 100644 --- a/test/parallel/test-tls-sni-server-client.js +++ b/test/parallel/test-tls-sni-server-client.js @@ -8,16 +8,12 @@ if (!process.features.tls_sni) common.skip('node compiled without OpenSSL or with old OpenSSL version.'); const assert = require('assert'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const serverOptions = { diff --git a/test/parallel/test-tls-socket-close.js b/test/parallel/test-tls-socket-close.js index f9a77bf4648b46..debaca213bb0e2 100644 --- a/test/parallel/test-tls-socket-close.js +++ b/test/parallel/test-tls-socket-close.js @@ -5,11 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); const net = require('net'); +const fixtures = require('../common/fixtures'); -const key = fs.readFileSync(`${common.fixturesDir}/keys/agent2-key.pem`); -const cert = fs.readFileSync(`${common.fixturesDir}/keys/agent2-cert.pem`); +const key = fixtures.readKey('agent2-key.pem'); +const cert = fixtures.readKey('agent2-cert.pem'); let tlsSocket; // tls server diff --git a/test/parallel/test-tls-socket-default-options.js b/test/parallel/test-tls-socket-default-options.js index 66f26897182f31..f55810b3ebb2ca 100644 --- a/test/parallel/test-tls-socket-default-options.js +++ b/test/parallel/test-tls-socket-default-options.js @@ -1,13 +1,13 @@ 'use strict'; const common = require('../common'); +const fixtures = require('../common/fixtures'); // Test directly created TLS sockets and options. const assert = require('assert'); -const join = require('path').join; const { connect, keys, tls -} = require(join(common.fixturesDir, 'tls-connect')); +} = require(fixtures.path('tls-connect')); if (!common.hasCrypto) common.skip('missing crypto'); diff --git a/test/parallel/test-tls-socket-destroy.js b/test/parallel/test-tls-socket-destroy.js index b101a872c23422..f62b6f905296db 100644 --- a/test/parallel/test-tls-socket-destroy.js +++ b/test/parallel/test-tls-socket-destroy.js @@ -5,12 +5,13 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); -const fs = require('fs'); const net = require('net'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); + +const key = fixtures.readKey('agent1-key.pem'); +const cert = fixtures.readKey('agent1-cert.pem'); -const key = fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`); -const cert = fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`); const secureContext = tls.createSecureContext({ key, cert }); const server = net.createServer(common.mustCall((conn) => { diff --git a/test/parallel/test-tls-startcom-wosign-whitelist.js b/test/parallel/test-tls-startcom-wosign-whitelist.js index 92d595e80cfae6..86075f6a350872 100644 --- a/test/parallel/test-tls-startcom-wosign-whitelist.js +++ b/test/parallel/test-tls-startcom-wosign-whitelist.js @@ -4,18 +4,13 @@ if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); -const fs = require('fs'); -const path = require('path'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); let finished = 0; -function filenamePEM(n) { - return path.join(common.fixturesDir, 'keys', `${n}.pem`); -} - function loadPEM(n) { - return fs.readFileSync(filenamePEM(n)); + return fixtures.readKey(`${n}.pem`); } const testCases = [ diff --git a/test/parallel/test-tls-starttls-server.js b/test/parallel/test-tls-starttls-server.js index 28d1db88598cfd..ea55d397317c87 100644 --- a/test/parallel/test-tls-starttls-server.js +++ b/test/parallel/test-tls-starttls-server.js @@ -9,12 +9,12 @@ if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); -const fs = require('fs'); const net = require('net'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); -const key = fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`); -const cert = fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`); +const key = fixtures.readKey('agent1-key.pem'); +const cert = fixtures.readKey('agent1-cert.pem'); const server = net.createServer(common.mustCall((s) => { const tlsSocket = new tls.TLSSocket(s, { diff --git a/test/parallel/test-tls-ticket-cluster.js b/test/parallel/test-tls-ticket-cluster.js index 49c4c3414be8b3..ef9d4c8816e47f 100644 --- a/test/parallel/test-tls-ticket-cluster.js +++ b/test/parallel/test-tls-ticket-cluster.js @@ -6,8 +6,7 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); const cluster = require('cluster'); -const fs = require('fs'); -const join = require('path').join; +const fixtures = require('../common/fixtures'); const workerCount = 4; const expectedReqCount = 16; @@ -66,14 +65,10 @@ if (cluster.isMaster) { return; } -const keyFile = join(common.fixturesDir, 'agent.key'); -const certFile = join(common.fixturesDir, 'agent.crt'); -const key = fs.readFileSync(keyFile); -const cert = fs.readFileSync(certFile); -const options = { - key: key, - cert: cert -}; +const key = fixtures.readSync('agent.key'); +const cert = fixtures.readSync('agent.crt'); + +const options = { key, cert }; const server = tls.createServer(options, function(c) { if (c.isSessionReused()) { diff --git a/test/parallel/test-tls-ticket.js b/test/parallel/test-tls-ticket.js index 3d6f7a43061c4f..58212baf7824a4 100644 --- a/test/parallel/test-tls-ticket.js +++ b/test/parallel/test-tls-ticket.js @@ -5,9 +5,9 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); const net = require('net'); const crypto = require('crypto'); +const fixtures = require('../common/fixtures'); const keys = crypto.randomBytes(48); const serverLog = []; @@ -21,8 +21,8 @@ function createServer() { let previousKey = null; const server = tls.createServer({ - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`), + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem'), ticketKeys: keys }, function(c) { serverLog.push(id); diff --git a/test/parallel/test-tls-timeout-server-2.js b/test/parallel/test-tls-timeout-server-2.js index a462750759723b..aafdd2419e4c7c 100644 --- a/test/parallel/test-tls-timeout-server-2.js +++ b/test/parallel/test-tls-timeout-server-2.js @@ -5,11 +5,11 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; const server = tls.createServer(options, common.mustCall(function(cleartext) { diff --git a/test/parallel/test-tls-timeout-server.js b/test/parallel/test-tls-timeout-server.js index b983e2c5b9219c..bd3e9d89fa99e8 100644 --- a/test/parallel/test-tls-timeout-server.js +++ b/test/parallel/test-tls-timeout-server.js @@ -6,11 +6,11 @@ if (!common.hasCrypto) const tls = require('tls'); const net = require('net'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`), + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem'), handshakeTimeout: 50 }; diff --git a/test/parallel/test-tls-two-cas-one-string.js b/test/parallel/test-tls-two-cas-one-string.js index 10d626ba6e10b6..e79d1fa631f446 100644 --- a/test/parallel/test-tls-two-cas-one-string.js +++ b/test/parallel/test-tls-two-cas-one-string.js @@ -1,17 +1,16 @@ 'use strict'; - const common = require('../common'); + +if (!common.hasCrypto) + common.skip('missing crypto'); + const tls = require('tls'); -const fs = require('fs'); - -const ca1 = - fs.readFileSync(`${common.fixturesDir}/keys/ca1-cert.pem`, 'utf8'); -const ca2 = - fs.readFileSync(`${common.fixturesDir}/keys/ca2-cert.pem`, 'utf8'); -const cert = - fs.readFileSync(`${common.fixturesDir}/keys/agent3-cert.pem`, 'utf8'); -const key = - fs.readFileSync(`${common.fixturesDir}/keys/agent3-key.pem`, 'utf8'); +const fixtures = require('../common/fixtures'); + +const ca1 = fixtures.readKey('ca1-cert.pem', 'utf8'); +const ca2 = fixtures.readKey('ca2-cert.pem', 'utf8'); +const cert = fixtures.readKey('agent3-cert.pem', 'utf8'); +const key = fixtures.readKey('agent3-key.pem', 'utf8'); function test(ca, next) { const server = tls.createServer({ ca, cert, key }, function(conn) { diff --git a/test/parallel/test-tls-wrap-timeout.js b/test/parallel/test-tls-wrap-timeout.js index b4cff368182fa3..d1598ab737f129 100644 --- a/test/parallel/test-tls-wrap-timeout.js +++ b/test/parallel/test-tls-wrap-timeout.js @@ -6,13 +6,12 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); - const net = require('net'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); const options = { - key: fs.readFileSync(`${common.fixturesDir}/keys/agent1-key.pem`), - cert: fs.readFileSync(`${common.fixturesDir}/keys/agent1-cert.pem`) + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') }; const server = tls.createServer(options, common.mustCall((c) => { diff --git a/test/parallel/test-tls-zero-clear-in.js b/test/parallel/test-tls-zero-clear-in.js index 81926608421906..02a080440a4bad 100644 --- a/test/parallel/test-tls-zero-clear-in.js +++ b/test/parallel/test-tls-zero-clear-in.js @@ -5,12 +5,10 @@ if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); +const fixtures = require('../common/fixtures'); -const fs = require('fs'); -const path = require('path'); - -const cert = fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem')); -const key = fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem')); +const cert = fixtures.readSync('test_cert.pem'); +const key = fixtures.readSync('test_key.pem'); const server = tls.createServer({ cert: cert, diff --git a/test/parallel/test-util-internal.js b/test/parallel/test-util-internal.js index 49c74966a3539f..4f09af34ff730d 100644 --- a/test/parallel/test-util-internal.js +++ b/test/parallel/test-util-internal.js @@ -1,9 +1,9 @@ 'use strict'; // Flags: --expose_internals -const common = require('../common'); -const path = require('path'); +require('../common'); const assert = require('assert'); +const fixtures = require('../common/fixtures'); const internalUtil = require('internal/util'); const spawnSync = require('child_process').spawnSync; @@ -47,7 +47,7 @@ assert.strictEqual(internalUtil.getHiddenValue(obj, 'foo'), 'bar'); let arrowMessage; try { - require(path.join(common.fixturesDir, 'syntax', 'bad_syntax')); + require(fixtures.path('syntax', 'bad_syntax')); } catch (err) { arrowMessage = internalUtil.getHiddenValue(err, 'node:arrowMessage'); } diff --git a/test/parallel/test-vm-debug-context.js b/test/parallel/test-vm-debug-context.js index 032d16142e280e..a47c15c7b86a09 100644 --- a/test/parallel/test-vm-debug-context.js +++ b/test/parallel/test-vm-debug-context.js @@ -3,7 +3,8 @@ const common = require('../common'); const assert = require('assert'); const vm = require('vm'); -const spawn = require('child_process').spawn; +const { spawn } = require('child_process'); +const fixtures = require('../common/fixtures'); assert.throws(function() { vm.runInDebugContext('*'); @@ -56,7 +57,7 @@ assert.strictEqual(vm.runInDebugContext(undefined), undefined); // Can set listeners and breakpoints on a single line file { const Debug = vm.runInDebugContext('Debug'); - const fn = require(`${common.fixturesDir}/exports-function-with-param`); + const fn = require(fixtures.path('exports-function-with-param')); let called = false; Debug.setListener(function(event, state, data) { @@ -73,7 +74,7 @@ assert.strictEqual(vm.runInDebugContext(undefined), undefined); // See https://github.com/nodejs/node/issues/1190, fatal errors should not // crash the process. -const script = `${common.fixturesDir}/vm-run-in-debug-context.js`; +const script = fixtures.path('vm-run-in-debug-context.js'); let proc = spawn(process.execPath, [script]); const data = []; proc.stdout.on('data', common.mustNotCall()); diff --git a/test/parallel/test-vm-syntax-error-stderr.js b/test/parallel/test-vm-syntax-error-stderr.js index a5b98beebfef08..73c19422a9d94d 100644 --- a/test/parallel/test-vm-syntax-error-stderr.js +++ b/test/parallel/test-vm-syntax-error-stderr.js @@ -1,10 +1,10 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); -const path = require('path'); const child_process = require('child_process'); +const fixtures = require('../common/fixtures'); -const wrong_script = path.join(common.fixturesDir, 'cert.pem'); +const wrong_script = fixtures.path('cert.pem'); const p = child_process.spawn(process.execPath, [ '-e', diff --git a/test/parallel/test-zlib-flush.js b/test/parallel/test-zlib-flush.js index f4f8d75dee3ec0..2bd9a929db7bb8 100644 --- a/test/parallel/test-zlib-flush.js +++ b/test/parallel/test-zlib-flush.js @@ -1,11 +1,10 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const zlib = require('zlib'); -const path = require('path'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const file = fs.readFileSync(path.resolve(common.fixturesDir, 'person.jpg')); +const file = fixtures.readSync('person.jpg'); const chunkSize = 16; const opts = { level: 0 }; const deflater = zlib.createDeflate(opts); diff --git a/test/parallel/test-zlib-from-concatenated-gzip.js b/test/parallel/test-zlib-from-concatenated-gzip.js index f59b6796357e3b..7f3942035a7e04 100644 --- a/test/parallel/test-zlib-from-concatenated-gzip.js +++ b/test/parallel/test-zlib-from-concatenated-gzip.js @@ -4,8 +4,8 @@ const common = require('../common'); const assert = require('assert'); const zlib = require('zlib'); -const path = require('path'); const fs = require('fs'); +const fixtures = require('../common/fixtures'); const abcEncoded = zlib.gzipSync('abc'); const defEncoded = zlib.gzipSync('def'); @@ -42,8 +42,8 @@ zlib.unzip(Buffer.concat([ // files that have the "right" magic bytes for starting a new gzip member // in the middle of themselves, even if they are part of a single // regularly compressed member -const pmmFileZlib = path.join(common.fixturesDir, 'pseudo-multimember-gzip.z'); -const pmmFileGz = path.join(common.fixturesDir, 'pseudo-multimember-gzip.gz'); +const pmmFileZlib = fixtures.path('pseudo-multimember-gzip.z'); +const pmmFileGz = fixtures.path('pseudo-multimember-gzip.gz'); const pmmExpected = zlib.inflateSync(fs.readFileSync(pmmFileZlib)); const pmmResultBuffers = []; diff --git a/test/parallel/test-zlib-from-gzip.js b/test/parallel/test-zlib-from-gzip.js index f9f245facc614b..0791c4419ef97c 100644 --- a/test/parallel/test-zlib-from-gzip.js +++ b/test/parallel/test-zlib-from-gzip.js @@ -6,6 +6,7 @@ const common = require('../common'); const assert = require('assert'); const zlib = require('zlib'); const path = require('path'); +const fixtures = require('../common/fixtures'); common.refreshTmpDir(); @@ -13,8 +14,8 @@ const gunzip = zlib.createGunzip(); const fs = require('fs'); -const fixture = path.resolve(common.fixturesDir, 'person.jpg.gz'); -const unzippedFixture = path.resolve(common.fixturesDir, 'person.jpg'); +const fixture = fixtures.path('person.jpg.gz'); +const unzippedFixture = fixtures.path('person.jpg'); const outputFile = path.resolve(common.tmpDir, 'person.jpg'); const expect = fs.readFileSync(unzippedFixture); const inp = fs.createReadStream(fixture); diff --git a/test/parallel/test-zlib-params.js b/test/parallel/test-zlib-params.js index 93e06ea1b7c083..862d44688748f7 100644 --- a/test/parallel/test-zlib-params.js +++ b/test/parallel/test-zlib-params.js @@ -1,11 +1,10 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const zlib = require('zlib'); -const path = require('path'); -const fs = require('fs'); +const fixtures = require('../common/fixtures'); -const file = fs.readFileSync(path.resolve(common.fixturesDir, 'person.jpg')); +const file = fixtures.readSync('person.jpg'); const chunkSize = 12 * 1024; const opts = { level: 9, strategy: zlib.Z_DEFAULT_STRATEGY }; const deflater = zlib.createDeflate(opts); diff --git a/test/parallel/test-zlib.js b/test/parallel/test-zlib.js index 823de9572dca83..890469cc048412 100644 --- a/test/parallel/test-zlib.js +++ b/test/parallel/test-zlib.js @@ -2,9 +2,8 @@ const common = require('../common'); const assert = require('assert'); const zlib = require('zlib'); -const path = require('path'); -const fs = require('fs'); const stream = require('stream'); +const fixtures = require('../common/fixtures'); let zlibPairs = [ [zlib.Deflate, zlib.Inflate], @@ -48,7 +47,7 @@ if (process.env.FAST) { const tests = {}; testFiles.forEach(common.mustCall((file) => { - tests[file] = fs.readFileSync(path.resolve(common.fixturesDir, file)); + tests[file] = fixtures.readSync(file); }, testFiles.length)); diff --git a/test/sequential/test-module-loading.js b/test/sequential/test-module-loading.js index 73f40890a422f9..e16aef6c02a01e 100644 --- a/test/sequential/test-module-loading.js +++ b/test/sequential/test-module-loading.js @@ -202,7 +202,9 @@ const children = module.children.reduce(function red(set, child) { }, {}); assert.deepStrictEqual(children, { - 'common/index.js': {}, + 'common/index.js': { + 'common/fixtures.js': {} + }, 'fixtures/not-main-module.js': {}, 'fixtures/a.js': { 'fixtures/b/c.js': {