fix(ci): fix windows e2e tests (#7749)

This commit is contained in:
Gal Zahavi
2025-09-05 16:54:46 -07:00
committed by GitHub
parent 968e938949
commit dfd622e096
4 changed files with 14 additions and 15 deletions

View File

@@ -96,8 +96,8 @@ describe('ShellExecutionService programmatic integration tests', () => {
);
it('should abort a running process', async () => {
// A command that runs for a bit. 'sleep' on unix, 'timeout' on windows.
const command = process.platform === 'win32' ? 'timeout /t 20' : 'sleep 20';
// A command that runs for a bit.
const command = 'node -e "setTimeout(() => {}, 20000)"';
const onOutputEvent = vi.fn();
const abortController = new AbortController();

View File

@@ -5,7 +5,6 @@
*/
import { execSync, spawn } from 'node:child_process';
import { parse } from 'shell-quote';
import { mkdirSync, writeFileSync, readFileSync } from 'node:fs';
import { join, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
@@ -182,7 +181,7 @@ export class TestRig {
| { prompt?: string; stdin?: string; stdinDoesNotEnd?: boolean },
...args: string[]
): Promise<string> {
let command = `node ${this.bundlePath} --yolo`;
const commandArgs = [this.bundlePath, '--yolo'];
const execOptions: {
cwd: string;
encoding: 'utf-8';
@@ -193,25 +192,22 @@ export class TestRig {
};
if (typeof promptOrOptions === 'string') {
command += ` --prompt ${JSON.stringify(promptOrOptions)}`;
commandArgs.push('--prompt', promptOrOptions);
} else if (
typeof promptOrOptions === 'object' &&
promptOrOptions !== null
) {
if (promptOrOptions.prompt) {
command += ` --prompt ${JSON.stringify(promptOrOptions.prompt)}`;
commandArgs.push('--prompt', promptOrOptions.prompt);
}
if (promptOrOptions.stdin) {
execOptions.input = promptOrOptions.stdin;
}
}
command += ` ${args.join(' ')}`;
commandArgs.push(...args);
const commandArgs = parse(command);
const node = commandArgs.shift() as string;
const child = spawn(node, commandArgs as string[], {
const child = spawn('node', commandArgs, {
cwd: this.testDir!,
stdio: 'pipe',
});