Skip to content

Commit

Permalink
test: execute shell directly for refresh()
Browse files Browse the repository at this point in the history
PR-URL: nodejs#55051
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
  • Loading branch information
anonrig authored Feb 10, 2025
1 parent 3844e7e commit 03e9adf
Showing 1 changed file with 19 additions and 8 deletions.
27 changes: 19 additions & 8 deletions test/common/tmpdir.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,28 @@ const fs = require('fs');
const path = require('path');
const { pathToFileURL } = require('url');
const { isMainThread } = require('worker_threads');
const isUnixLike = process.platform !== 'win32';
let escapePOSIXShell;

function rmSync(pathname, useSpawn) {
if (useSpawn) {
const escapedPath = pathname.replaceAll('\\', '\\\\');
spawnSync(
process.execPath,
[
'-e',
`require("fs").rmSync("${escapedPath}", { maxRetries: 3, recursive: true, force: true });`,
],
);
if (isUnixLike) {
escapePOSIXShell ??= require('./index.js').escapePOSIXShell;
for (let i = 0; i < 3; i++) {
const { status } = spawnSync(...escapePOSIXShell`rm -rf "${pathname}"`);
if (status === 0) {
break;
}
}
} else {
spawnSync(
process.execPath,
[
'-e',
`fs.rmSync(${JSON.stringify(pathname)}, { maxRetries: 3, recursive: true, force: true });`,
],
);
}
} else {
fs.rmSync(pathname, { maxRetries: 3, recursive: true, force: true });
}
Expand Down

0 comments on commit 03e9adf

Please sign in to comment.