mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-27 05:24:34 -07:00
fix(cli): gemini command stuck in git bash (#6397)
Co-authored-by: Arya Gummadi <aryagummadi@google.com>
This commit is contained in:
@@ -67,4 +67,31 @@ describe('stdin context', () => {
|
||||
'Expected the model to identify the secret word from stdin',
|
||||
).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should exit quickly if stdin stream does not end', async () => {
|
||||
/*
|
||||
This simulates scenario where gemini gets stuck waiting for stdin.
|
||||
This happens in situations where process.stdin.isTTY is false
|
||||
even though gemini is intended to run interactively.
|
||||
*/
|
||||
|
||||
const rig = new TestRig();
|
||||
await rig.setup('should exit quickly if stdin stream does not end');
|
||||
|
||||
try {
|
||||
await rig.run({ stdinDoesNotEnd: true });
|
||||
throw new Error('Expected rig.run to throw an error');
|
||||
} catch (error: unknown) {
|
||||
expect(error).toBeInstanceOf(Error);
|
||||
const err = error as Error;
|
||||
|
||||
expect(err.message).toContain('Process exited with code 1');
|
||||
expect(err.message).toContain('No input provided via stdin.');
|
||||
console.log('Error message:', err.message);
|
||||
}
|
||||
const lastRequest = rig.readLastApiRequest();
|
||||
expect(lastRequest).toBeNull();
|
||||
|
||||
// If this test times out, runs indefinitely, it's a regression.
|
||||
}, 3000);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user