From 81d412216abbf82697b578be2d32e97c5d57df7a Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Fri, 25 Mar 2022 07:44:27 -0800 Subject: [PATCH] fix: list files when config writes to output (#13023) --- packages/playwright-test/src/cli.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/playwright-test/src/cli.ts b/packages/playwright-test/src/cli.ts index 540bf81ca6..27b6641539 100644 --- a/packages/playwright-test/src/cli.ts +++ b/packages/playwright-test/src/cli.ts @@ -178,6 +178,9 @@ async function runTests(args: string[], opts: { [key: string]: any }) { async function listTestFiles(opts: { [key: string]: any }) { + // Redefine process.stdout.write in case config decides to pollute stdio. + const write = process.stdout.write.bind(process.stdout); + process.stdout.write = (() => {}) as any; const configFileOrDirectory = opts.config ? path.resolve(process.cwd(), opts.config) : process.cwd(); const resolvedConfigFile = Runner.resolveConfigFile(configFileOrDirectory)!; if (restartWithExperimentalTsEsm(resolvedConfigFile)) @@ -186,7 +189,7 @@ async function listTestFiles(opts: { [key: string]: any }) { const runner = new Runner({}, { defaultConfig: {} }); await runner.loadConfigFromResolvedFile(resolvedConfigFile); const report = await runner.listTestFiles(resolvedConfigFile, opts.project); - process.stdout.write(JSON.stringify(report), () => { + write(JSON.stringify(report), () => { process.exit(0); }); }