Workaround PATH casing issues on Windows

This commit is contained in:
Henry Mercer
2022-06-17 12:25:13 -07:00
parent 611b1e2d98
commit 6063828d4d
3 changed files with 18 additions and 1 deletions
+7
View File
@@ -64,6 +64,13 @@ function setupTests(test) {
const processStderrWrite = process.stderr.write.bind(process.stderr);
t.context.stderrWrite = processStderrWrite;
process.stderr.write = wrapOutput(t.context);
// Workaround an issue in tests where the case insensitivity of the `$PATH`
// environment variable on Windows isn't preserved, i.e. `process.env.PATH`
// is not the same as `process.env.Path`.
const pathKeys = Object.keys(process.env).filter((k) => k.toLowerCase() === "path");
if (pathKeys.length > 0) {
process.env.PATH = process.env[pathKeys[0]];
}
// Many tests modify environment variables. Take a copy now so that
// we reset them after the test to keep tests independent of each other.
// process.env only has strings fields, so a shallow copy is fine.