From 4b6c8f1fe4218a7c508f55bd4b5d9176efbebf28 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:04:04 -0700 Subject: [PATCH] Get tests working on node that requires shell arg These silently fail on Windows after a recent change in node.js --- bin/test.js | 8 ++++++-- bin/test_api.js | 6 +++++- bin/test_playwright.js | 7 +++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/bin/test.js b/bin/test.js index b9725acd..16248955 100644 --- a/bin/test.js +++ b/bin/test.js @@ -31,7 +31,6 @@ if (process.argv.length > 2) { } const checkCoverage = flagArgs.indexOf('--coverage') >= 0; - if (checkCoverage) { flagArgs.splice(flagArgs.indexOf('--coverage'), 1); const executable = npmBinScript('nyc'); @@ -44,6 +43,7 @@ if (checkCoverage) { { cwd: path.resolve(__dirname, '..'), env, + shell: true, stdio: 'inherit' } ); @@ -56,6 +56,7 @@ const run = cp.spawnSync( { cwd: path.resolve(__dirname, '..'), env, + shell: true, stdio: 'inherit' } ); @@ -64,4 +65,7 @@ function npmBinScript(script) { return path.resolve(__dirname, `../node_modules/.bin/` + (process.platform === 'win32' ? `${script}.cmd` : script)); } -process.exit(run.status); +if (run.error) { + console.error(run.error); +} +process.exit(run.status ?? -1); diff --git a/bin/test_api.js b/bin/test_api.js index ff166727..bdfbc7af 100644 --- a/bin/test_api.js +++ b/bin/test_api.js @@ -50,6 +50,7 @@ server.stdout.on('data', (data) => { [...testFiles, ...flagArgs], { cwd: path.resolve(__dirname, '..'), env, + shell: true, stdio: 'inherit' } ); @@ -61,7 +62,10 @@ server.stdout.on('data', (data) => { server.kill(); - process.exit(run.status); + if (run.error) { + console.error(run.error); + } + process.exit(run.status ?? -1); } }); diff --git a/bin/test_playwright.js b/bin/test_playwright.js index 0cd6f85c..f5621a18 100644 --- a/bin/test_playwright.js +++ b/bin/test_playwright.js @@ -40,12 +40,15 @@ async function run() { console.log(`\n\x1b[32m${command}\x1b[0m`, args); const run = cp.spawnSync(command, args, { cwd: path.resolve(__dirname, '..'), + shell: true, stdio: 'inherit' } ); - if (run.status) { - process.exit(run.status); + + if (run.error) { + console.error(run.error); } + process.exit(run.status ?? -1); } } run();