mirror of https://github.com/nodejs/node.git
test: do not assume cwd in snapshot tests
PR-URL: https://github.com/nodejs/node/pull/53146 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: James M Snell <jasnell@gmail.com>pull/53826/head
parent
1e930e93d4
commit
bac28678e6
|
@ -25,7 +25,7 @@ function replaceWindowsPaths(str) {
|
|||
}
|
||||
|
||||
function replaceFullPaths(str) {
|
||||
return str.replaceAll(process.cwd(), '');
|
||||
return str.replaceAll(path.resolve(__dirname, '../..'), '');
|
||||
}
|
||||
|
||||
function transform(...args) {
|
||||
|
@ -78,7 +78,7 @@ async function spawnAndAssert(filename, transform = (x) => x, { tty = false, ...
|
|||
return;
|
||||
}
|
||||
const flags = common.parseTestFlags(filename);
|
||||
const executable = tty ? 'tools/pseudo-tty.py' : process.execPath;
|
||||
const executable = tty ? path.join(__dirname, '../..', 'tools/pseudo-tty.py') : process.execPath;
|
||||
const args = tty ? [process.execPath, ...flags, filename] : [...flags, filename];
|
||||
const { stdout, stderr } = await common.spawnPromisified(executable, args, options);
|
||||
await assertSnapshot(transform(`${stdout}${stderr}`), filename);
|
||||
|
|
|
@ -3,6 +3,8 @@ import * as fixtures from '../common/fixtures.mjs';
|
|||
import * as snapshot from '../common/assertSnapshot.js';
|
||||
import { describe, it } from 'node:test';
|
||||
import { hostname } from 'node:os';
|
||||
import { chdir, cwd } from 'node:process';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
const skipForceColors =
|
||||
process.config.variables.icu_gyp_path !== 'tools/icu/icu-generic.gyp' ||
|
||||
|
@ -14,8 +16,10 @@ function replaceTestDuration(str) {
|
|||
.replaceAll(/duration_ms [0-9.]+/g, 'duration_ms *');
|
||||
}
|
||||
|
||||
const root = fileURLToPath(new URL('../..', import.meta.url)).slice(0, -1);
|
||||
|
||||
const color = '(\\[\\d+m)';
|
||||
const stackTraceBasePath = new RegExp(`${color}\\(${process.cwd().replaceAll(/[\\^$*+?.()|[\]{}]/g, '\\$&')}/?${color}(.*)${color}\\)`, 'g');
|
||||
const stackTraceBasePath = new RegExp(`${color}\\(${root.replaceAll(/[\\^$*+?.()|[\]{}]/g, '\\$&')}/?${color}(.*)${color}\\)`, 'g');
|
||||
|
||||
function replaceSpecDuration(str) {
|
||||
return str
|
||||
|
@ -151,6 +155,9 @@ const tests = [
|
|||
}),
|
||||
}));
|
||||
|
||||
if (cwd() !== root) {
|
||||
chdir(root);
|
||||
}
|
||||
describe('test runner output', { concurrency: true }, () => {
|
||||
for (const { name, fn } of tests) {
|
||||
it(name, fn);
|
||||
|
|
Loading…
Reference in New Issue