From 47671d5bedcd89897fc73ecf92fddda9dce86ee9 Mon Sep 17 00:00:00 2001 From: Chris Tate Date: Wed, 21 Oct 2026 15:54:23 -0500 Subject: [PATCH] Give the fs corpus programs per-process scratch directories 5568-fs-cp-errors built its fixture in a /tmp directory named after the program file, which it deletes and recreates. The Node oracle and the native runs of one program run at the same time, so two runs with the same name deleted each other's files and the program exited 1 on random shards. Its root, and that of the five other corpus programs that name a /tmp/scr-* directory after the program file alone, now ends in the process id, as 5571-fs-cp-deep's does. --- tests/corpus/1541-fs-readdir-dirent.ts | 2 +- tests/corpus/5565-fs-dirent-untyped.mjs | 2 +- tests/corpus/5567-fs-cpsync.ts | 2 +- tests/corpus/5568-fs-cp-errors.js | 2 +- tests/corpus/5569-fs-cp-symlinks.ts | 2 +- tests/corpus/5570-fs-cp-async.ts | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/corpus/1541-fs-readdir-dirent.ts b/tests/corpus/1541-fs-readdir-dirent.ts index ac30ab615..8db6243b2 100644 --- a/tests/corpus/1541-fs-readdir-dirent.ts +++ b/tests/corpus/1541-fs-readdir-dirent.ts @@ -15,7 +15,7 @@ function tail(path: string): string { } return path.slice(i + 1); } -const dir = `/tmp/scr-dirent-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}`; +const dir = `/tmp/scr-dirent-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}-${process.pid}`; if (fs.existsSync(dir)) fs.rmSync(dir, { recursive: true, force: true }); fs.mkdirSync(dir); fs.mkdirSync(`${dir}/sub-a`); diff --git a/tests/corpus/5565-fs-dirent-untyped.mjs b/tests/corpus/5565-fs-dirent-untyped.mjs index acb5be704..9751c3d1f 100644 --- a/tests/corpus/5565-fs-dirent-untyped.mjs +++ b/tests/corpus/5565-fs-dirent-untyped.mjs @@ -9,7 +9,7 @@ function tail(path) { while (i >= 0 && path.charAt(i) !== "/" && path.charAt(i) !== "\\") i = i - 1; return path.slice(i + 1); } -const dir = `/tmp/scr-dirent-untyped-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}`; +const dir = `/tmp/scr-dirent-untyped-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}-${process.pid}`; if (fs.existsSync(dir)) fs.rmSync(dir, { recursive: true, force: true }); fs.mkdirSync(`${dir}/sub`, { recursive: true }); fs.writeFileSync(`${dir}/a.txt`, "x"); diff --git a/tests/corpus/5567-fs-cpsync.ts b/tests/corpus/5567-fs-cpsync.ts index 7e258ca85..ef736ec92 100644 --- a/tests/corpus/5567-fs-cpsync.ts +++ b/tests/corpus/5567-fs-cpsync.ts @@ -8,7 +8,7 @@ function tail(path: string): string { while (i >= 0 && path.charAt(i) !== "/" && path.charAt(i) !== "\\") i = i - 1; return path.slice(i + 1); } -const root = `/tmp/scr-cpsync-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}`; +const root = `/tmp/scr-cpsync-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}-${process.pid}`; if (fs.existsSync(root)) fs.rmSync(root, { recursive: true, force: true }); fs.mkdirSync(root); const home = process.cwd(); diff --git a/tests/corpus/5568-fs-cp-errors.js b/tests/corpus/5568-fs-cp-errors.js index e9a87f14e..9089d612c 100644 --- a/tests/corpus/5568-fs-cp-errors.js +++ b/tests/corpus/5568-fs-cp-errors.js @@ -11,7 +11,7 @@ function tail(path) { while (i >= 0 && path.charAt(i) !== "/" && path.charAt(i) !== "\\") i = i - 1; return path.slice(i + 1); } -const root = `/tmp/scr-cp-errors-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}`; +const root = `/tmp/scr-cp-errors-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}-${process.pid}`; if (fs.existsSync(root)) fs.rmSync(root, { recursive: true, force: true }); fs.mkdirSync(root); const home = process.cwd(); diff --git a/tests/corpus/5569-fs-cp-symlinks.ts b/tests/corpus/5569-fs-cp-symlinks.ts index ae4621ce6..2bc3c8ba4 100644 --- a/tests/corpus/5569-fs-cp-symlinks.ts +++ b/tests/corpus/5569-fs-cp-symlinks.ts @@ -9,7 +9,7 @@ function tail(path: string): string { while (i >= 0 && path.charAt(i) !== "/" && path.charAt(i) !== "\\") i = i - 1; return path.slice(i + 1); } -const root = `/tmp/scr-cp-links-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}`; +const root = `/tmp/scr-cp-links-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}-${process.pid}`; if (fs.existsSync(root)) fs.rmSync(root, { recursive: true, force: true }); fs.mkdirSync(root); const home = process.cwd(); diff --git a/tests/corpus/5570-fs-cp-async.ts b/tests/corpus/5570-fs-cp-async.ts index 9f3ce6c87..d83750095 100644 --- a/tests/corpus/5570-fs-cp-async.ts +++ b/tests/corpus/5570-fs-cp-async.ts @@ -9,7 +9,7 @@ function tail(path: string): string { while (i >= 0 && path.charAt(i) !== "/" && path.charAt(i) !== "\\") i = i - 1; return path.slice(i + 1); } -const root = `/tmp/scr-cp-async-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}`; +const root = `/tmp/scr-cp-async-${tail(process.argv[1] === undefined ? "x" : process.argv[1])}-${process.pid}`; if (fs.existsSync(root)) fs.rmSync(root, { recursive: true, force: true }); fs.mkdirSync(root); const home = process.cwd();