From c4da99840d0995d8b90dfc3e71d5ab1372759dc1 Mon Sep 17 00:00:00 2001 From: galz10 Date: Mon, 9 Feb 2026 10:46:55 -0800 Subject: [PATCH] fix(cli): disable folder trust in test environments Disable folder trust when running in integration tests (GEMINI_CLI_INTEGRATION_TEST) or unit tests (VITEST) to prevent interactive prompts from blocking automated tests. Also updates config.test.ts to isolate folder trust tests from these environment variables so the underlying logic can still be verified. --- packages/cli/src/config/config.test.ts | 15 +++++++++++++++ packages/cli/src/config/config.ts | 6 +++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index 5268404e44..7f7a8dbbf5 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -1792,14 +1792,29 @@ describe('loadCliConfig model selection', () => { }); describe('loadCliConfig folderTrust', () => { + let originalVitest: string | undefined; + let originalIntegrationTest: string | undefined; + beforeEach(() => { vi.resetAllMocks(); vi.mocked(os.homedir).mockReturnValue('/mock/home/user'); vi.stubEnv('GEMINI_API_KEY', 'test-api-key'); vi.spyOn(ExtensionManager.prototype, 'getExtensions').mockReturnValue([]); + + originalVitest = process.env['VITEST']; + originalIntegrationTest = process.env['GEMINI_CLI_INTEGRATION_TEST']; + delete process.env['VITEST']; + delete process.env['GEMINI_CLI_INTEGRATION_TEST']; }); afterEach(() => { + if (originalVitest !== undefined) { + process.env['VITEST'] = originalVitest; + } + if (originalIntegrationTest !== undefined) { + process.env['GEMINI_CLI_INTEGRATION_TEST'] = originalIntegrationTest; + } + vi.unstubAllEnvs(); vi.restoreAllMocks(); }); diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index dfd2adc0a8..fcc62721af 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -437,7 +437,11 @@ export async function loadCliConfig( const ideMode = settings.ide?.enabled ?? false; - const folderTrust = settings.security?.folderTrust?.enabled ?? false; + const folderTrust = + process.env['GEMINI_CLI_INTEGRATION_TEST'] === 'true' || + process.env['VITEST'] === 'true' + ? false + : (settings.security?.folderTrust?.enabled ?? false); const trustedFolder = isWorkspaceTrusted(settings, cwd)?.isTrusted ?? false; // Set the context filename in the server's memoryTool module BEFORE loading memory