Release misc (#3418)

This commit is contained in:
matt korwel
2025-07-06 20:16:42 -07:00
committed by GitHub
parent 39d4095a4c
commit 20825e4114
6 changed files with 52 additions and 25 deletions

View File

@@ -15,11 +15,10 @@ test('should be able to list a directory', async (t) => {
rig.mkdir('subdir');
rig.sync();
const prompt = `Can you list the files in the current directory`;
const result = await rig.run(prompt);
const prompt = `Can you list the files in the current directory. Display them in the style of 'ls'`;
const result = rig.run(prompt);
const lines = result.split('\n').filter((line) => line.trim() !== '');
assert.equal(lines.length, 2);
assert.ok(lines.includes('file1.txt'));
assert.ok(lines.includes('subdir'));
assert.ok(lines.some((line) => line.includes('file1.txt')));
assert.ok(lines.some((line) => line.includes('subdir')));
});

View File

@@ -72,35 +72,59 @@ async function main() {
`------------- Running test file: ${testFileName} ------------------------------`,
);
const child = spawn('node', ['--test', testFile], {
const nodeArgs = ['--test'];
if (verbose) {
nodeArgs.push('--test-reporter=spec');
}
nodeArgs.push(testFile);
const child = spawn('node', nodeArgs, {
stdio: 'pipe',
env: {
...process.env,
GEMINI_CLI_INTEGRATION_TEST: 'true',
INTEGRATION_TEST_FILE_DIR: testFileDir,
KEEP_OUTPUT: keepOutput.toString(),
VERBOSE: verbose.toString(),
TEST_FILE_NAME: testFileName,
},
});
if (verbose) {
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
}
let outputStream;
if (keepOutput) {
const outputFile = join(testFileDir, 'output.log');
const outputStream = createWriteStream(outputFile);
child.stdout.pipe(outputStream);
child.stderr.pipe(outputStream);
outputStream = createWriteStream(outputFile);
console.log(`Output for ${testFileName} written to: ${outputFile}`);
} else if (!verbose) {
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
}
child.stdout.on('data', (data) => {
if (verbose) {
process.stdout.write(data);
}
if (outputStream) {
outputStream.write(data);
}
});
child.stderr.on('data', (data) => {
if (verbose) {
process.stderr.write(data);
}
if (outputStream) {
outputStream.write(data);
}
});
const exitCode = await new Promise((resolve) => {
child.on('close', resolve);
child.on('close', (code) => {
if (outputStream) {
outputStream.end(() => {
resolve(code);
});
} else {
resolve(code);
}
});
});
if (exitCode !== 0) {

View File

@@ -72,7 +72,7 @@ export class TestRig {
const output = execSync(command, execOptions);
if (env.KEEP_OUTPUT === 'true') {
if (env.KEEP_OUTPUT === 'true' || env.VERBOSE === 'true') {
const testId = `${env.TEST_FILE_NAME.replace(
'.test.js',
'',
@@ -87,7 +87,7 @@ export class TestRig {
readFile(fileName) {
const content = readFileSync(join(this.testDir, fileName), 'utf-8');
if (env.KEEP_OUTPUT === 'true') {
if (env.KEEP_OUTPUT === 'true' || env.VERBOSE === 'true') {
const testId = `${env.TEST_FILE_NAME.replace(
'.test.js',
'',