test: use tmpdir.resolve()

PR-URL: https://github.com/nodejs/node/pull/49136
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
Livia Medeiros 2023-08-22 01:41:53 +09:00 committed by GitHub
parent 484ad83358
commit 052434a0c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
49 changed files with 97 additions and 118 deletions

View File

@ -16,7 +16,7 @@ const tmpdir = require('../../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const addonPath = path.join(__dirname, 'build', common.buildType); const addonPath = path.join(__dirname, 'build', common.buildType);
const addonLink = path.join(tmpdir.path, 'addon'); const addonLink = tmpdir.resolve('addon');
try { try {
fs.symlinkSync(addonPath, addonLink, 'dir'); fs.symlinkSync(addonPath, addonLink, 'dir');

View File

@ -6,15 +6,14 @@ const assert = require('assert');
const initHooks = require('./init-hooks'); const initHooks = require('./init-hooks');
const { checkInvocations } = require('./hook-checks'); const { checkInvocations } = require('./hook-checks');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
if (!common.isMainThread) if (!common.isMainThread)
common.skip('Worker bootstrapping works differently -> different async IDs'); common.skip('Worker bootstrapping works differently -> different async IDs');
tmpdir.refresh(); tmpdir.refresh();
const file1 = path.join(tmpdir.path, 'file1'); const file1 = tmpdir.resolve('file1');
const file2 = path.join(tmpdir.path, 'file2'); const file2 = tmpdir.resolve('file2');
const onchangex = (x) => (curr, prev) => { const onchangex = (x) => (curr, prev) => {
console.log(`Watcher: ${x}`); console.log(`Watcher: ${x}`);

View File

@ -2,14 +2,13 @@
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const assert = require('assert'); const assert = require('assert');
function buildSnapshot(entry, env) { function buildSnapshot(entry, env) {
const child = spawnSync(process.execPath, [ const child = spawnSync(process.execPath, [
'--snapshot-blob', '--snapshot-blob',
path.join(tmpdir.path, 'snapshot.blob'), tmpdir.resolve('snapshot.blob'),
'--build-snapshot', '--build-snapshot',
entry, entry,
], { ], {
@ -29,14 +28,14 @@ function buildSnapshot(entry, env) {
assert.strictEqual(child.status, 0); assert.strictEqual(child.status, 0);
const stats = fs.statSync(path.join(tmpdir.path, 'snapshot.blob')); const stats = fs.statSync(tmpdir.resolve('snapshot.blob'));
assert(stats.isFile()); assert(stats.isFile());
return { child, stderr, stdout }; return { child, stderr, stdout };
} }
function runWithSnapshot(entry, env) { function runWithSnapshot(entry, env) {
const args = ['--snapshot-blob', path.join(tmpdir.path, 'snapshot.blob')]; const args = ['--snapshot-blob', tmpdir.resolve('snapshot.blob')];
if (entry !== undefined) { if (entry !== undefined) {
args.push(entry); args.push(entry);
} }

View File

@ -19,7 +19,7 @@ fs.readdirSync(apilinks).forEach((fixture) => {
const input = path.join(apilinks, fixture); const input = path.join(apilinks, fixture);
const expectedContent = fs.readFileSync(`${input}on`, 'utf8'); const expectedContent = fs.readFileSync(`${input}on`, 'utf8');
const outputPath = path.join(tmpdir.path, `${fixture}on`); const outputPath = tmpdir.resolve(`${fixture}on`);
execFileSync( execFileSync(
process.execPath, process.execPath,
[script, outputPath, input], [script, outputPath, input],

View File

@ -4,7 +4,6 @@ import tmpdir from '../common/tmpdir.js';
import assert from 'assert'; import assert from 'assert';
import { spawnSync } from 'child_process'; import { spawnSync } from 'child_process';
import fs from 'fs'; import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url'; import { fileURLToPath } from 'url';
import util from 'util'; import util from 'util';
@ -29,7 +28,7 @@ const expected = [
]; ];
tmpdir.refresh(); tmpdir.refresh();
const versionsFile = path.join(tmpdir.path, 'versions.json'); const versionsFile = tmpdir.resolve('versions.json');
debuglog(`${process.execPath} ${versionsTool} ${versionsFile}`); debuglog(`${process.execPath} ${versionsTool} ${versionsFile}`);
const opts = { cwd: tmpdir.path, encoding: 'utf8' }; const opts = { cwd: tmpdir.path, encoding: 'utf8' };
const cp = spawnSync(process.execPath, [ versionsTool, versionsFile ], opts); const cp = spawnSync(process.execPath, [ versionsTool, versionsFile ], opts);

View File

@ -63,7 +63,7 @@ function getReadFileCodeForPath(path) {
for (const extraSnapshotArgs of [[], ['--embedder-snapshot-as-file']]) { for (const extraSnapshotArgs of [[], ['--embedder-snapshot-as-file']]) {
// readSync + eval since snapshots don't support userland require() (yet) // readSync + eval since snapshots don't support userland require() (yet)
const snapshotFixture = fixtures.path('snapshot', 'echo-args.js'); const snapshotFixture = fixtures.path('snapshot', 'echo-args.js');
const blobPath = path.join(tmpdir.path, 'embedder-snapshot.blob'); const blobPath = tmpdir.resolve('embedder-snapshot.blob');
const buildSnapshotArgs = [ const buildSnapshotArgs = [
`eval(${getReadFileCodeForPath(snapshotFixture)})`, 'arg1', 'arg2', `eval(${getReadFileCodeForPath(snapshotFixture)})`, 'arg1', 'arg2',
'--embedder-snapshot-blob', blobPath, '--embedder-snapshot-create', '--embedder-snapshot-blob', blobPath, '--embedder-snapshot-create',
@ -94,7 +94,7 @@ for (const extraSnapshotArgs of [[], ['--embedder-snapshot-as-file']]) {
// Create workers and vm contexts after deserialization // Create workers and vm contexts after deserialization
{ {
const snapshotFixture = fixtures.path('snapshot', 'create-worker-and-vm.js'); const snapshotFixture = fixtures.path('snapshot', 'create-worker-and-vm.js');
const blobPath = path.join(tmpdir.path, 'embedder-snapshot.blob'); const blobPath = tmpdir.resolve('embedder-snapshot.blob');
const buildSnapshotArgs = [ const buildSnapshotArgs = [
`eval(${getReadFileCodeForPath(snapshotFixture)})`, `eval(${getReadFileCodeForPath(snapshotFixture)})`,
'--embedder-snapshot-blob', blobPath, '--embedder-snapshot-create', '--embedder-snapshot-blob', blobPath, '--embedder-snapshot-create',

View File

@ -11,7 +11,7 @@ describe('ESM in main field', { concurrency: true }, () => {
before(() => tmpdir.refresh()); before(() => tmpdir.refresh());
it('should handle fully-specified relative path without any warning', async () => { it('should handle fully-specified relative path without any warning', async () => {
const cwd = path.join(tmpdir.path, Math.random().toString()); const cwd = tmpdir.resolve(Math.random().toString());
const pkgPath = path.join(cwd, './node_modules/pkg/'); const pkgPath = path.join(cwd, './node_modules/pkg/');
await mkdir(pkgPath, { recursive: true }); await mkdir(pkgPath, { recursive: true });
await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")'); await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")');
@ -29,7 +29,7 @@ describe('ESM in main field', { concurrency: true }, () => {
assert.strictEqual(code, 0); assert.strictEqual(code, 0);
}); });
it('should handle fully-specified absolute path without any warning', async () => { it('should handle fully-specified absolute path without any warning', async () => {
const cwd = path.join(tmpdir.path, Math.random().toString()); const cwd = tmpdir.resolve(Math.random().toString());
const pkgPath = path.join(cwd, './node_modules/pkg/'); const pkgPath = path.join(cwd, './node_modules/pkg/');
await mkdir(pkgPath, { recursive: true }); await mkdir(pkgPath, { recursive: true });
await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")'); await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")');
@ -48,7 +48,7 @@ describe('ESM in main field', { concurrency: true }, () => {
}); });
it('should emit warning when "main" and "exports" are missing', async () => { it('should emit warning when "main" and "exports" are missing', async () => {
const cwd = path.join(tmpdir.path, Math.random().toString()); const cwd = tmpdir.resolve(Math.random().toString());
const pkgPath = path.join(cwd, './node_modules/pkg/'); const pkgPath = path.join(cwd, './node_modules/pkg/');
await mkdir(pkgPath, { recursive: true }); await mkdir(pkgPath, { recursive: true });
await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")'); await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")');
@ -65,7 +65,7 @@ describe('ESM in main field', { concurrency: true }, () => {
assert.strictEqual(code, 0); assert.strictEqual(code, 0);
}); });
it('should emit warning when "main" is falsy', async () => { it('should emit warning when "main" is falsy', async () => {
const cwd = path.join(tmpdir.path, Math.random().toString()); const cwd = tmpdir.resolve(Math.random().toString());
const pkgPath = path.join(cwd, './node_modules/pkg/'); const pkgPath = path.join(cwd, './node_modules/pkg/');
await mkdir(pkgPath, { recursive: true }); await mkdir(pkgPath, { recursive: true });
await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")'); await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")');
@ -83,7 +83,7 @@ describe('ESM in main field', { concurrency: true }, () => {
assert.strictEqual(code, 0); assert.strictEqual(code, 0);
}); });
it('should emit warning when "main" is a relative path without extension', async () => { it('should emit warning when "main" is a relative path without extension', async () => {
const cwd = path.join(tmpdir.path, Math.random().toString()); const cwd = tmpdir.resolve(Math.random().toString());
const pkgPath = path.join(cwd, './node_modules/pkg/'); const pkgPath = path.join(cwd, './node_modules/pkg/');
await mkdir(pkgPath, { recursive: true }); await mkdir(pkgPath, { recursive: true });
await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")'); await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")');
@ -101,7 +101,7 @@ describe('ESM in main field', { concurrency: true }, () => {
assert.strictEqual(code, 0); assert.strictEqual(code, 0);
}); });
it('should emit warning when "main" is an absolute path without extension', async () => { it('should emit warning when "main" is an absolute path without extension', async () => {
const cwd = path.join(tmpdir.path, Math.random().toString()); const cwd = tmpdir.resolve(Math.random().toString());
const pkgPath = path.join(cwd, './node_modules/pkg/'); const pkgPath = path.join(cwd, './node_modules/pkg/');
await mkdir(pkgPath, { recursive: true }); await mkdir(pkgPath, { recursive: true });
await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")'); await writeFile(path.join(pkgPath, './index.js'), 'console.log("Hello World!")');

View File

@ -26,7 +26,7 @@ const {
defaultResolve: resolve defaultResolve: resolve
} = internalResolve; } = internalResolve;
const rel = (file) => path.join(tmpdir.path, file); const rel = (file) => tmpdir.resolve(file);
const previousCwd = process.cwd(); const previousCwd = process.cwd();
const nmDir = rel('node_modules'); const nmDir = rel('node_modules');

View File

@ -9,7 +9,7 @@ const fs = require('fs');
tmpdir.refresh(); tmpdir.refresh();
const realPath = path.resolve(__dirname, '../fixtures/es-modules/symlink.mjs'); const realPath = path.resolve(__dirname, '../fixtures/es-modules/symlink.mjs');
const symlinkPath = path.resolve(tmpdir.path, 'symlink.mjs'); const symlinkPath = tmpdir.resolve('symlink.mjs');
try { try {
fs.symlinkSync(realPath, symlinkPath); fs.symlinkSync(realPath, symlinkPath);

View File

@ -15,7 +15,7 @@ const imp = (file) => {
(async () => { (async () => {
tmpdir.refresh(); tmpdir.refresh();
const rel = (file) => path.join(tmpdir.path, file); const rel = (file) => tmpdir.resolve(file);
{ // Load a single script { // Load a single script
const file = rel('con.mjs'); const file = rel('con.mjs');

View File

@ -3,9 +3,9 @@ import { setTimeout } from 'node:timers/promises';
import fs from 'node:fs/promises'; import fs from 'node:fs/promises';
import path from 'node:path'; import path from 'node:path';
await fs.writeFile(path.resolve(tmpdir.path, 'test-runner-concurrency'), 'a.mjs'); await fs.writeFile(tmpdir.resolve('test-runner-concurrency'), 'a.mjs');
while (true) { while (true) {
const file = await fs.readFile(path.resolve(tmpdir.path, 'test-runner-concurrency'), 'utf8'); const file = await fs.readFile(tmpdir.resolve('test-runner-concurrency'), 'utf8');
if (file === 'b.mjs') { if (file === 'b.mjs') {
break; break;
} }

View File

@ -4,9 +4,9 @@ import fs from 'node:fs/promises';
import path from 'node:path'; import path from 'node:path';
while (true) { while (true) {
const file = await fs.readFile(path.resolve(tmpdir.path, 'test-runner-concurrency'), 'utf8'); const file = await fs.readFile(tmpdir.resolve('test-runner-concurrency'), 'utf8');
if (file === 'a.mjs') { if (file === 'a.mjs') {
await fs.writeFile(path.resolve(tmpdir.path, 'test-runner-concurrency'), 'b.mjs'); await fs.writeFile(tmpdir.resolve('test-runner-concurrency'), 'b.mjs');
break; break;
} }
await setTimeout(10); await setTimeout(10);

View File

@ -3,7 +3,7 @@ const url = require('node:url');
const fs = require('node:fs'); const fs = require('node:fs');
const tmpdir = require('../../common/tmpdir'); const tmpdir = require('../../common/tmpdir');
const tmpfile = path.join(tmpdir.path, 'file'); const tmpfile = tmpdir.resolve('file');
fs.writeFileSync(tmpfile, ''); fs.writeFileSync(tmpfile, '');
process.send({ 'watch:require': [path.resolve(__filename)] }); process.send({ 'watch:require': [path.resolve(__filename)] });

View File

@ -11,11 +11,11 @@ const fixtures = require('../common/fixtures');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const npmSandbox = path.join(tmpdir.path, 'npm-sandbox'); const npmSandbox = tmpdir.resolve('npm-sandbox');
fs.mkdirSync(npmSandbox); fs.mkdirSync(npmSandbox);
const homeDir = path.join(tmpdir.path, 'home'); const homeDir = tmpdir.resolve('home');
fs.mkdirSync(homeDir); fs.mkdirSync(homeDir);
const installDir = path.join(tmpdir.path, 'install-dir'); const installDir = tmpdir.resolve('install-dir');
fs.mkdirSync(installDir); fs.mkdirSync(installDir);
const corepackYarnPath = path.join( const corepackYarnPath = path.join(

View File

@ -2,7 +2,6 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const cp = require('child_process'); const cp = require('child_process');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const fs = require('fs'); const fs = require('fs');
const util = require('util'); const util = require('util');
@ -57,7 +56,7 @@ for (const tr in tests) {
throw new Error(`${tr}:\n${util.inspect(proc)}`); throw new Error(`${tr}:\n${util.inspect(proc)}`);
} }
const file = path.join(tmpdir.path, traceFile); const file = tmpdir.resolve(traceFile);
const data = fs.readFileSync(file); const data = fs.readFileSync(file);
const traces = JSON.parse(data.toString()).traceEvents const traces = JSON.parse(data.toString()).traceEvents

View File

@ -19,7 +19,7 @@ tmpdir.refresh();
} }
{ {
const urlTestDir = path.join(tmpdir.path, 'foo%#bar'); const urlTestDir = tmpdir.resolve('foo%#bar');
const urlTestFile = path.join(urlTestDir, path.basename(filename)); const urlTestFile = path.join(urlTestDir, path.basename(filename));
fs.mkdirSync(urlTestDir, { recursive: true }); fs.mkdirSync(urlTestDir, { recursive: true });
fs.copyFileSync(filename, urlTestFile); fs.copyFileSync(filename, urlTestFile);

View File

@ -8,7 +8,6 @@ const tmpdir = require('../../common/tmpdir');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const crypto = require('crypto'); const crypto = require('crypto');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const { pathToFileURL } = require('url'); const { pathToFileURL } = require('url');
tmpdir.refresh(); tmpdir.refresh();
@ -19,7 +18,7 @@ function hash(algo, body) {
return h.digest('base64'); return h.digest('base64');
} }
const policyFilepath = path.join(tmpdir.path, 'policy'); const policyFilepath = tmpdir.resolve('policy');
const depFilepath = require.resolve(`./build/${common.buildType}/binding.node`); const depFilepath = require.resolve(`./build/${common.buildType}/binding.node`);
const depURL = pathToFileURL(depFilepath); const depURL = pathToFileURL(depFilepath);

View File

@ -24,14 +24,13 @@ const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
try { try {
const filepath = path.join(tmpdir.path, 'large.txt'); const filepath = tmpdir.resolve('large.txt');
const fd = fs.openSync(filepath, 'w+'); const fd = fs.openSync(filepath, 'w+');
const offset = 5 * 1024 * 1024 * 1024; // 5GB const offset = 5 * 1024 * 1024 * 1024; // 5GB
const message = 'Large File'; const message = 'Large File';

View File

@ -7,7 +7,6 @@ if (!common.enoughTestMem)
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const cp = require('child_process'); const cp = require('child_process');
const kStringMaxLength = require('buffer').constants.MAX_STRING_LENGTH; const kStringMaxLength = require('buffer').constants.MAX_STRING_LENGTH;
if (common.isAIX && (Number(cp.execSync('ulimit -f')) * 512) < kStringMaxLength) if (common.isAIX && (Number(cp.execSync('ulimit -f')) * 512) < kStringMaxLength)
@ -20,7 +19,7 @@ if (!tmpdir.hasEnoughSpace(kStringMaxLength)) {
common.skip(`Not enough space in ${tmpdir.path}`); common.skip(`Not enough space in ${tmpdir.path}`);
} }
const file = path.join(tmpdir.path, 'toobig.txt'); const file = tmpdir.resolve('toobig.txt');
const stream = fs.createWriteStream(file, { const stream = fs.createWriteStream(file, {
flags: 'a', flags: 'a',
}); });

View File

@ -22,13 +22,12 @@
'use strict'; 'use strict';
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const FILENAME = path.join(tmpdir.path, 'watch-me'); const FILENAME = tmpdir.resolve('watch-me');
const TIMEOUT = 1300; const TIMEOUT = 1300;
let nevents = 0; let nevents = 0;

View File

@ -194,7 +194,7 @@ function drainQueue() {
assert.notStrictEqual(status, 0, 'Should not allow multiple policies'); assert.notStrictEqual(status, 0, 'Should not allow multiple policies');
} }
{ {
const enoentFilepath = path.join(tmpdir.path, 'enoent'); const enoentFilepath = tmpdir.resolve('enoent');
try { try {
fs.unlinkSync(enoentFilepath); fs.unlinkSync(enoentFilepath);
} catch { } catch {

View File

@ -194,7 +194,7 @@ function drainQueue() {
assert.notStrictEqual(status, 0, 'Should not allow multiple policies'); assert.notStrictEqual(status, 0, 'Should not allow multiple policies');
} }
{ {
const enoentFilepath = path.join(tmpdir.path, 'enoent'); const enoentFilepath = tmpdir.resolve('enoent');
try { try {
fs.unlinkSync(enoentFilepath); fs.unlinkSync(enoentFilepath);
} catch { } catch {

View File

@ -194,7 +194,7 @@ function drainQueue() {
assert.notStrictEqual(status, 0, 'Should not allow multiple policies'); assert.notStrictEqual(status, 0, 'Should not allow multiple policies');
} }
{ {
const enoentFilepath = path.join(tmpdir.path, 'enoent'); const enoentFilepath = tmpdir.resolve('enoent');
try { try {
fs.unlinkSync(enoentFilepath); fs.unlinkSync(enoentFilepath);
} catch { } catch {

View File

@ -194,7 +194,7 @@ function drainQueue() {
assert.notStrictEqual(status, 0, 'Should not allow multiple policies'); assert.notStrictEqual(status, 0, 'Should not allow multiple policies');
} }
{ {
const enoentFilepath = path.join(tmpdir.path, 'enoent'); const enoentFilepath = tmpdir.resolve('enoent');
try { try {
fs.unlinkSync(enoentFilepath); fs.unlinkSync(enoentFilepath);
} catch { } catch {

View File

@ -211,7 +211,7 @@ function drainQueue() {
assert.notStrictEqual(status, 0, 'Should not allow multiple policies'); assert.notStrictEqual(status, 0, 'Should not allow multiple policies');
} }
{ {
const enoentFilepath = path.join(tmpdir.path, 'enoent'); const enoentFilepath = tmpdir.resolve('enoent');
try { try {
fs.unlinkSync(enoentFilepath); fs.unlinkSync(enoentFilepath);
} catch { } catch {

View File

@ -211,7 +211,7 @@ function drainQueue() {
assert.notStrictEqual(status, 0, 'Should not allow multiple policies'); assert.notStrictEqual(status, 0, 'Should not allow multiple policies');
} }
{ {
const enoentFilepath = path.join(tmpdir.path, 'enoent'); const enoentFilepath = tmpdir.resolve('enoent');
try { try {
fs.unlinkSync(enoentFilepath); fs.unlinkSync(enoentFilepath);
} catch { } catch {

View File

@ -211,7 +211,7 @@ function drainQueue() {
assert.notStrictEqual(status, 0, 'Should not allow multiple policies'); assert.notStrictEqual(status, 0, 'Should not allow multiple policies');
} }
{ {
const enoentFilepath = path.join(tmpdir.path, 'enoent'); const enoentFilepath = tmpdir.resolve('enoent');
try { try {
fs.unlinkSync(enoentFilepath); fs.unlinkSync(enoentFilepath);
} catch { } catch {

View File

@ -24,11 +24,10 @@
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const f = path.join(tmpdir.path, 'x.txt'); const f = tmpdir.resolve('x.txt');
fs.closeSync(fs.openSync(f, 'w')); fs.closeSync(fs.openSync(f, 'w'));
let changes = 0; let changes = 0;

View File

@ -50,7 +50,7 @@ function validate() {
{ {
// Test with a file argument. // Test with a file argument.
const file = process.report.writeReport('custom-name-1.json'); const file = process.report.writeReport('custom-name-1.json');
const absolutePath = path.join(tmpdir.path, file); const absolutePath = tmpdir.resolve(file);
assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0);
assert.strictEqual(file, 'custom-name-1.json'); assert.strictEqual(file, 'custom-name-1.json');
helper.validate(absolutePath); helper.validate(absolutePath);
@ -61,7 +61,7 @@ function validate() {
// Test with file and error arguments. // Test with file and error arguments.
const file = process.report.writeReport('custom-name-2.json', const file = process.report.writeReport('custom-name-2.json',
new Error('test error')); new Error('test error'));
const absolutePath = path.join(tmpdir.path, file); const absolutePath = tmpdir.resolve(file);
assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0); assert.strictEqual(helper.findReports(process.pid, tmpdir.path).length, 0);
assert.strictEqual(file, 'custom-name-2.json'); assert.strictEqual(file, 'custom-name-2.json');
helper.validate(absolutePath); helper.validate(absolutePath);
@ -117,7 +117,7 @@ function validate() {
{ {
// Test the case where the report file cannot be opened. // Test the case where the report file cannot be opened.
const reportDir = path.join(tmpdir.path, 'does', 'not', 'exist'); const reportDir = tmpdir.resolve('does', 'not', 'exist');
const args = [`--report-directory=${reportDir}`, const args = [`--report-directory=${reportDir}`,
'-e', '-e',
'process.report.writeReport()']; 'process.report.writeReport()'];

View File

@ -8,7 +8,6 @@ common.skipIfInspectorDisabled();
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -22,7 +21,7 @@ const {
// relative --cpu-prof-dir // relative --cpu-prof-dir
{ {
tmpdir.refresh(); tmpdir.refresh();
const dir = path.join(tmpdir.path, 'prof'); const dir = tmpdir.resolve('prof');
const output = spawnSync(process.execPath, [ const output = spawnSync(process.execPath, [
'--cpu-prof', '--cpu-prof',
'--cpu-prof-interval', '--cpu-prof-interval',

View File

@ -21,7 +21,7 @@ const {
{ {
tmpdir.refresh(); tmpdir.refresh();
const dir = path.join(tmpdir.path, 'prof'); const dir = tmpdir.resolve('prof');
const file = path.join(dir, 'test.cpuprofile'); const file = path.join(dir, 'test.cpuprofile');
const output = spawnSync(process.execPath, [ const output = spawnSync(process.execPath, [
'--cpu-prof', '--cpu-prof',

View File

@ -8,7 +8,6 @@ common.skipIfInspectorDisabled();
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -37,7 +36,7 @@ const {
console.log(output.stderr.toString()); console.log(output.stderr.toString());
} }
assert.strictEqual(output.status, 0); assert.strictEqual(output.status, 0);
const dir = path.join(tmpdir.path, 'prof'); const dir = tmpdir.resolve('prof');
assert(fs.existsSync(dir)); assert(fs.existsSync(dir));
const profiles = getCpuProfiles(dir); const profiles = getCpuProfiles(dir);
assert.strictEqual(profiles.length, 1); assert.strictEqual(profiles.length, 1);

View File

@ -8,7 +8,6 @@ common.skipIfInspectorDisabled();
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -37,7 +36,7 @@ const {
console.log(output.stderr.toString()); console.log(output.stderr.toString());
} }
assert.strictEqual(output.status, 0); assert.strictEqual(output.status, 0);
const dir = path.join(tmpdir.path, 'prof'); const dir = tmpdir.resolve('prof');
assert(fs.existsSync(dir)); assert(fs.existsSync(dir));
const profiles = getCpuProfiles(dir); const profiles = getCpuProfiles(dir);
assert.strictEqual(profiles.length, 2); assert.strictEqual(profiles.length, 2);

View File

@ -8,7 +8,6 @@ const fixtures = require('../common/fixtures');
common.skipIfInspectorDisabled(); common.skipIfInspectorDisabled();
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -22,7 +21,7 @@ const {
// --cpu-prof-name // --cpu-prof-name
{ {
tmpdir.refresh(); tmpdir.refresh();
const file = path.join(tmpdir.path, 'test.cpuprofile'); const file = tmpdir.resolve('test.cpuprofile');
const output = spawnSync(process.execPath, [ const output = spawnSync(process.execPath, [
'--cpu-prof', '--cpu-prof',
'--cpu-prof-interval', '--cpu-prof-interval',

View File

@ -9,7 +9,6 @@ common.skipIfInspectorDisabled();
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -24,7 +23,7 @@ const {
{ {
tmpdir.refresh(); tmpdir.refresh();
const dir = path.join(tmpdir.path, 'prof'); const dir = tmpdir.resolve('prof');
const output = spawnSync(process.execPath, [ const output = spawnSync(process.execPath, [
'--cpu-prof', '--cpu-prof',
'--cpu-prof-interval', '--cpu-prof-interval',
@ -50,8 +49,8 @@ const {
{ {
tmpdir.refresh(); tmpdir.refresh();
const dir = path.join(tmpdir.path, 'diag'); const dir = tmpdir.resolve('diag');
const dir2 = path.join(tmpdir.path, 'prof'); const dir2 = tmpdir.resolve('prof');
const output = spawnSync(process.execPath, [ const output = spawnSync(process.execPath, [
'--cpu-prof', '--cpu-prof',
'--cpu-prof-interval', '--cpu-prof-interval',

View File

@ -66,7 +66,7 @@ function getHeapProfiles(dir) {
// Test --diagnostic-dir changes the default for --cpu-prof // Test --diagnostic-dir changes the default for --cpu-prof
{ {
tmpdir.refresh(); tmpdir.refresh();
const dir = path.join(tmpdir.path, 'prof'); const dir = tmpdir.resolve('prof');
const output = spawnSync(process.execPath, [ const output = spawnSync(process.execPath, [
'--heap-prof', '--heap-prof',
'--diagnostic-dir', '--diagnostic-dir',
@ -91,8 +91,8 @@ function getHeapProfiles(dir) {
// Test --heap-prof-dir overwrites --diagnostic-dir // Test --heap-prof-dir overwrites --diagnostic-dir
{ {
tmpdir.refresh(); tmpdir.refresh();
const dir = path.join(tmpdir.path, 'diag'); const dir = tmpdir.resolve('diag');
const dir2 = path.join(tmpdir.path, 'prof'); const dir2 = tmpdir.resolve('prof');
const output = spawnSync(process.execPath, [ const output = spawnSync(process.execPath, [
'--heap-prof', '--heap-prof',
'--heap-prof-interval', '--heap-prof-interval',

View File

@ -6,7 +6,6 @@ const assert = require('assert');
const fixtures = require('../common/fixtures'); const fixtures = require('../common/fixtures');
const fs = require('fs'); const fs = require('fs');
const http2 = require('http2'); const http2 = require('http2');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
@ -30,7 +29,7 @@ let offsetTimeout = common.platformTimeout(100);
let didReceiveData = false; let didReceiveData = false;
const content = Buffer.alloc(writeSize, 0x44); const content = Buffer.alloc(writeSize, 0x44);
const filepath = path.join(tmpdir.path, 'http2-large-write.tmp'); const filepath = tmpdir.resolve('http2-large-write.tmp');
fs.writeFileSync(filepath, content, 'binary'); fs.writeFileSync(filepath, content, 'binary');
const fd = fs.openSync(filepath, 'r'); const fd = fs.openSync(filepath, 'r');
process.on('beforeExit', () => fs.closeSync(fd)); process.on('beforeExit', () => fs.closeSync(fd));

View File

@ -21,10 +21,10 @@ const { strictEqual } = require('assert');
const assert = require('assert'); const assert = require('assert');
const inputFile = fixtures.path('sea.js'); const inputFile = fixtures.path('sea.js');
const requirableFile = join(tmpdir.path, 'requirable.js'); const requirableFile = tmpdir.resolve('requirable.js');
const configFile = join(tmpdir.path, 'sea-config.json'); const configFile = tmpdir.resolve('sea-config.json');
const seaPrepBlob = join(tmpdir.path, 'sea-prep.blob'); const seaPrepBlob = tmpdir.resolve('sea-prep.blob');
const outputFile = join(tmpdir.path, process.platform === 'win32' ? 'sea.exe' : 'sea'); const outputFile = tmpdir.resolve(process.platform === 'win32' ? 'sea.exe' : 'sea');
tmpdir.refresh(); tmpdir.refresh();
@ -43,7 +43,7 @@ writeFileSync(configFile, `
`); `);
// Copy input to working directory // Copy input to working directory
copyFileSync(inputFile, join(tmpdir.path, 'sea.js')); copyFileSync(inputFile, tmpdir.resolve('sea.js'));
execFileSync(process.execPath, ['--experimental-sea-config', 'sea-config.json'], { execFileSync(process.execPath, ['--experimental-sea-config', 'sea-config.json'], {
cwd: tmpdir.path cwd: tmpdir.path
}); });

View File

@ -15,16 +15,15 @@ skipIfSingleExecutableIsNotSupported();
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const { copyFileSync, writeFileSync, existsSync } = require('fs'); const { copyFileSync, writeFileSync, existsSync } = require('fs');
const { execFileSync } = require('child_process'); const { execFileSync } = require('child_process');
const { join } = require('path');
const assert = require('assert'); const assert = require('assert');
const configFile = join(tmpdir.path, 'sea-config.json'); const configFile = tmpdir.resolve('sea-config.json');
const seaPrepBlob = join(tmpdir.path, 'sea-prep.blob'); const seaPrepBlob = tmpdir.resolve('sea-prep.blob');
const outputFile = join(tmpdir.path, process.platform === 'win32' ? 'sea.exe' : 'sea'); const outputFile = tmpdir.resolve(process.platform === 'win32' ? 'sea.exe' : 'sea');
tmpdir.refresh(); tmpdir.refresh();
writeFileSync(join(tmpdir.path, 'empty.js'), '', 'utf-8'); writeFileSync(tmpdir.resolve('empty.js'), '', 'utf-8');
writeFileSync(configFile, ` writeFileSync(configFile, `
{ {
"main": "empty.js", "main": "empty.js",

View File

@ -14,17 +14,16 @@ skipIfSingleExecutableIsNotSupported();
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const { copyFileSync, writeFileSync, existsSync } = require('fs'); const { copyFileSync, writeFileSync, existsSync } = require('fs');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
const { join } = require('path');
const assert = require('assert'); const assert = require('assert');
const configFile = join(tmpdir.path, 'sea-config.json'); const configFile = tmpdir.resolve('sea-config.json');
const seaPrepBlob = join(tmpdir.path, 'sea-prep.blob'); const seaPrepBlob = tmpdir.resolve('sea-prep.blob');
const outputFile = join(tmpdir.path, process.platform === 'win32' ? 'sea.exe' : 'sea'); const outputFile = tmpdir.resolve(process.platform === 'win32' ? 'sea.exe' : 'sea');
{ {
tmpdir.refresh(); tmpdir.refresh();
writeFileSync(join(tmpdir.path, 'snapshot.js'), '', 'utf-8'); writeFileSync(tmpdir.resolve('snapshot.js'), '', 'utf-8');
writeFileSync(configFile, ` writeFileSync(configFile, `
{ {
"main": "snapshot.js", "main": "snapshot.js",
@ -57,7 +56,7 @@ const outputFile = join(tmpdir.path, process.platform === 'win32' ? 'sea.exe' :
}); });
`; `;
writeFileSync(join(tmpdir.path, 'snapshot.js'), code, 'utf-8'); writeFileSync(tmpdir.resolve('snapshot.js'), code, 'utf-8');
writeFileSync(configFile, ` writeFileSync(configFile, `
{ {
"main": "snapshot.js", "main": "snapshot.js",

View File

@ -21,10 +21,10 @@ const { strictEqual } = require('assert');
const assert = require('assert'); const assert = require('assert');
const inputFile = fixtures.path('sea.js'); const inputFile = fixtures.path('sea.js');
const requirableFile = join(tmpdir.path, 'requirable.js'); const requirableFile = tmpdir.resolve('requirable.js');
const configFile = join(tmpdir.path, 'sea-config.json'); const configFile = tmpdir.resolve('sea-config.json');
const seaPrepBlob = join(tmpdir.path, 'sea-prep.blob'); const seaPrepBlob = tmpdir.resolve('sea-prep.blob');
const outputFile = join(tmpdir.path, process.platform === 'win32' ? 'sea.exe' : 'sea'); const outputFile = tmpdir.resolve(process.platform === 'win32' ? 'sea.exe' : 'sea');
tmpdir.refresh(); tmpdir.refresh();
@ -43,7 +43,7 @@ writeFileSync(configFile, `
`); `);
// Copy input to working directory // Copy input to working directory
copyFileSync(inputFile, join(tmpdir.path, 'sea.js')); copyFileSync(inputFile, tmpdir.resolve('sea.js'));
execFileSync(process.execPath, ['--experimental-sea-config', 'sea-config.json'], { execFileSync(process.execPath, ['--experimental-sea-config', 'sea-config.json'], {
cwd: tmpdir.path cwd: tmpdir.path
}); });

View File

@ -20,10 +20,10 @@ const { strictEqual } = require('assert');
const assert = require('assert'); const assert = require('assert');
const inputFile = fixtures.path('sea.js'); const inputFile = fixtures.path('sea.js');
const requirableFile = join(tmpdir.path, 'requirable.js'); const requirableFile = tmpdir.resolve('requirable.js');
const configFile = join(tmpdir.path, 'sea-config.json'); const configFile = tmpdir.resolve('sea-config.json');
const seaPrepBlob = join(tmpdir.path, 'sea-prep.blob'); const seaPrepBlob = tmpdir.resolve('sea-prep.blob');
const outputFile = join(tmpdir.path, process.platform === 'win32' ? 'sea.exe' : 'sea'); const outputFile = tmpdir.resolve(process.platform === 'win32' ? 'sea.exe' : 'sea');
tmpdir.refresh(); tmpdir.refresh();
@ -42,7 +42,7 @@ writeFileSync(configFile, `
`); `);
// Copy input to working directory // Copy input to working directory
copyFileSync(inputFile, join(tmpdir.path, 'sea.js')); copyFileSync(inputFile, tmpdir.resolve('sea.js'));
execFileSync(process.execPath, ['--experimental-sea-config', 'sea-config.json'], { execFileSync(process.execPath, ['--experimental-sea-config', 'sea-config.json'], {
cwd: tmpdir.path cwd: tmpdir.path
}); });

View File

@ -45,7 +45,6 @@ function doTest() {
const assert = require('assert'); const assert = require('assert');
const tls = require('tls'); const tls = require('tls');
const fs = require('fs'); const fs = require('fs');
const join = require('path').join;
const fixtures = require('../common/fixtures'); const fixtures = require('../common/fixtures');
const spawn = require('child_process').spawn; const spawn = require('child_process').spawn;
@ -69,7 +68,7 @@ function doTest() {
const sessionFileName = (function() { const sessionFileName = (function() {
const ticketFileName = 'tls-session-ticket.txt'; const ticketFileName = 'tls-session-ticket.txt';
const tmpPath = join(tmpdir.path, ticketFileName); const tmpPath = tmpdir.resolve(ticketFileName);
fs.writeFileSync(tmpPath, fixtures.readSync(ticketFileName)); fs.writeFileSync(tmpPath, fixtures.readSync(ticketFileName));
return tmpPath; return tmpPath;
}()); }());

View File

@ -117,7 +117,7 @@ describe('watch mode', { concurrency: true, timeout: 60_000 }, () => {
it('should watch changes to a file with watch-path', { it('should watch changes to a file with watch-path', {
skip: !supportsRecursive, skip: !supportsRecursive,
}, async () => { }, async () => {
const dir = path.join(tmpdir.path, 'subdir1'); const dir = tmpdir.resolve('subdir1');
mkdirSync(dir); mkdirSync(dir);
const file = createTmpFile(); const file = createTmpFile();
const watchedFile = createTmpFile('', '.js', dir); const watchedFile = createTmpFile('', '.js', dir);
@ -138,7 +138,7 @@ describe('watch mode', { concurrency: true, timeout: 60_000 }, () => {
it('should watch when running an non-existing file - when specified under --watch-path', { it('should watch when running an non-existing file - when specified under --watch-path', {
skip: !supportsRecursive skip: !supportsRecursive
}, async () => { }, async () => {
const dir = path.join(tmpdir.path, 'subdir2'); const dir = tmpdir.resolve('subdir2');
mkdirSync(dir); mkdirSync(dir);
const file = path.join(dir, 'non-existing.js'); const file = path.join(dir, 'non-existing.js');
const watchedFile = createTmpFile('', '.js', dir); const watchedFile = createTmpFile('', '.js', dir);
@ -156,7 +156,7 @@ describe('watch mode', { concurrency: true, timeout: 60_000 }, () => {
it('should watch when running an non-existing file - when specified under --watch-path with equals', { it('should watch when running an non-existing file - when specified under --watch-path with equals', {
skip: !supportsRecursive skip: !supportsRecursive
}, async () => { }, async () => {
const dir = path.join(tmpdir.path, 'subdir3'); const dir = tmpdir.resolve('subdir3');
mkdirSync(dir); mkdirSync(dir);
const file = path.join(dir, 'non-existing.js'); const file = path.join(dir, 'non-existing.js');
const watchedFile = createTmpFile('', '.js', dir); const watchedFile = createTmpFile('', '.js', dir);
@ -295,21 +295,21 @@ console.log(values.random);
it('should not watch when running an missing file', { it('should not watch when running an missing file', {
skip: !supportsRecursive skip: !supportsRecursive
}, async () => { }, async () => {
const nonExistingfile = path.join(tmpdir.path, `${tmpFiles++}.js`); const nonExistingfile = tmpdir.resolve(`${tmpFiles++}.js`);
await failWriteSucceed({ file: nonExistingfile, watchedFile: nonExistingfile }); await failWriteSucceed({ file: nonExistingfile, watchedFile: nonExistingfile });
}); });
it('should not watch when running an missing mjs file', { it('should not watch when running an missing mjs file', {
skip: !supportsRecursive skip: !supportsRecursive
}, async () => { }, async () => {
const nonExistingfile = path.join(tmpdir.path, `${tmpFiles++}.mjs`); const nonExistingfile = tmpdir.resolve(`${tmpFiles++}.mjs`);
await failWriteSucceed({ file: nonExistingfile, watchedFile: nonExistingfile }); await failWriteSucceed({ file: nonExistingfile, watchedFile: nonExistingfile });
}); });
it('should watch changes to previously missing dependency', { it('should watch changes to previously missing dependency', {
skip: !supportsRecursive skip: !supportsRecursive
}, async () => { }, async () => {
const dependency = path.join(tmpdir.path, `${tmpFiles++}.js`); const dependency = tmpdir.resolve(`${tmpFiles++}.js`);
const relativeDependencyPath = `./${path.basename(dependency)}`; const relativeDependencyPath = `./${path.basename(dependency)}`;
const dependant = createTmpFile(`console.log(require('${relativeDependencyPath}'))`); const dependant = createTmpFile(`console.log(require('${relativeDependencyPath}'))`);
@ -320,7 +320,7 @@ console.log(values.random);
skip: !supportsRecursive skip: !supportsRecursive
}, async () => { }, async () => {
const relativeDependencyPath = `./${tmpFiles++}.mjs`; const relativeDependencyPath = `./${tmpFiles++}.mjs`;
const dependency = path.join(tmpdir.path, relativeDependencyPath); const dependency = tmpdir.resolve(relativeDependencyPath);
const dependant = createTmpFile(`import ${JSON.stringify(relativeDependencyPath)}`, '.mjs'); const dependant = createTmpFile(`import ${JSON.stringify(relativeDependencyPath)}`, '.mjs');
await failWriteSucceed({ file: dependant, watchedFile: dependency }); await failWriteSucceed({ file: dependant, watchedFile: dependency });

View File

@ -4,7 +4,6 @@ const tmpdir = require('../common/tmpdir');
const fs = require('fs'); const fs = require('fs');
const assert = require('assert'); const assert = require('assert');
const util = require('util'); const util = require('util');
const { join } = require('path');
const { spawnSync } = require('child_process'); const { spawnSync } = require('child_process');
// Test that --prof also tracks Worker threads. // Test that --prof also tracks Worker threads.
@ -67,7 +66,7 @@ if (process.argv[2] === 'child') {
for (const logfile of logfiles) { for (const logfile of logfiles) {
const lines = fs.readFileSync( const lines = fs.readFileSync(
join(tmpdir.path, logfile), 'utf8').split('\n'); tmpdir.resolve(logfile), 'utf8').split('\n');
const ticks = lines.filter((line) => /^tick,/.test(line)).length; const ticks = lines.filter((line) => /^tick,/.test(line)).length;
// Test that at least 15 ticks have been recorded for both parent and child // Test that at least 15 ticks have been recorded for both parent and child

View File

@ -15,10 +15,9 @@ if (isCPPSymbolsNotMapped) {
const assert = require('assert'); const assert = require('assert');
const { spawn, spawnSync } = require('child_process'); const { spawn, spawnSync } = require('child_process');
const path = require('path');
const { writeFileSync } = require('fs'); const { writeFileSync } = require('fs');
const LOG_FILE = path.join(tmpdir.path, 'tick-processor.log'); const LOG_FILE = tmpdir.resolve('tick-processor.log');
const RETRY_TIMEOUT = 150; const RETRY_TIMEOUT = 150;
const BROKEN_PART = 'tick,'; const BROKEN_PART = 'tick,';
const WARN_REG_EXP = /\(node:\d+\) \[BROKEN_PROFILE_FILE] Warning: Profile file .* is broken/; const WARN_REG_EXP = /\(node:\d+\) \[BROKEN_PROFILE_FILE] Warning: Profile file .* is broken/;

View File

@ -2,12 +2,11 @@
require('../common'); require('../common');
const fs = require('fs'); const fs = require('fs');
const cp = require('child_process'); const cp = require('child_process');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const LOG_FILE = path.join(tmpdir.path, 'tick-processor.log'); const LOG_FILE = tmpdir.resolve('tick-processor.log');
const RETRY_TIMEOUT = 150; const RETRY_TIMEOUT = 150;
function runTest(test) { function runTest(test) {

View File

@ -7,9 +7,9 @@ const { join } = require('path');
const { WASI } = require('wasi'); const { WASI } = require('wasi');
const modulePath = join(__dirname, 'wasm', 'stdin.wasm'); const modulePath = join(__dirname, 'wasm', 'stdin.wasm');
const buffer = readFileSync(modulePath); const buffer = readFileSync(modulePath);
const stdinFile = join(tmpdir.path, 'stdin.txt'); const stdinFile = tmpdir.resolve('stdin.txt');
const stdoutFile = join(tmpdir.path, 'stdout.txt'); const stdoutFile = tmpdir.resolve('stdout.txt');
const stderrFile = join(tmpdir.path, 'stderr.txt'); const stderrFile = tmpdir.resolve('stderr.txt');
tmpdir.refresh(); tmpdir.refresh();
// Write 33 x's. The test's buffer only holds 31 x's + a terminator. // Write 33 x's. The test's buffer only holds 31 x's + a terminator.

View File

@ -38,15 +38,15 @@ if (process.argv[2] === 'wasi-child') {
// Setup the sandbox environment. // Setup the sandbox environment.
tmpdir.refresh(); tmpdir.refresh();
const sandbox = path.join(tmpdir.path, 'sandbox'); const sandbox = tmpdir.resolve('sandbox');
const sandboxedFile = path.join(sandbox, 'input.txt'); const sandboxedFile = path.join(sandbox, 'input.txt');
const externalFile = path.join(tmpdir.path, 'outside.txt'); const externalFile = tmpdir.resolve('outside.txt');
const sandboxedDir = path.join(sandbox, 'subdir'); const sandboxedDir = path.join(sandbox, 'subdir');
const sandboxedSymlink = path.join(sandboxedDir, 'input_link.txt'); const sandboxedSymlink = path.join(sandboxedDir, 'input_link.txt');
const escapingSymlink = path.join(sandboxedDir, 'outside.txt'); const escapingSymlink = path.join(sandboxedDir, 'outside.txt');
const loopSymlink1 = path.join(sandboxedDir, 'loop1'); const loopSymlink1 = path.join(sandboxedDir, 'loop1');
const loopSymlink2 = path.join(sandboxedDir, 'loop2'); const loopSymlink2 = path.join(sandboxedDir, 'loop2');
const sandboxedTmp = path.join(tmpdir.path, 'tmp'); const sandboxedTmp = tmpdir.resolve('tmp');
fs.mkdirSync(sandbox); fs.mkdirSync(sandbox);
fs.mkdirSync(sandboxedDir); fs.mkdirSync(sandboxedDir);