gemini-cli - 💡(How to fix) Fix https://github.com/google-gemini/gemini-cli/blob/abhi%2Fevent-driven-tools.a2a/integration-tests%2Fextensions-install.test.ts [6 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
google-gemini/gemini-cli#25891Fetched 2026-04-24 06:13:30
View on GitHub
Comments
6
Participants
1
Timeline
12
Reactions
0
Participants
Timeline (top)
commented ×6mentioned ×2subscribed ×2issue_type_added ×1
RAW_BUFFERClick to expand / collapse

What would you like to be added?

-server="socks5://myproxy:8080"

--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE myproxy"/**

  • @license
  • Copyright 2025 Google LLC
  • SPDX-License-Identifier: Apache-2.0 */

import { describe, expect, it, beforeEach, afterEach } from 'vitest'; import { TestRig } from './test-helper.js'; import { writeFileSync } from 'node:fs'; import { join } from 'node:path';

const extension = { "name": "test-extension-install", "version": "0.0.1" };

const extensionUpdate = { "name": "test-extension-install", "version": "0.0.2" };

describe('extension install', () => { let rig: TestRig;

beforeEach(() => { rig = new TestRig(); });

afterEach(async () => await rig.cleanup());

it('installs a local extension, verifies a command, and updates it', async () => { rig.setup('extension install test'); const testServerPath = join(rig.testDir!, 'gemini-extension.json'); writeFileSync(testServerPath, extension); try { const result = await rig.runCommand( ['extensions', 'install', ${rig.testDir!}], { stdin: 'y\n' }, ); expect(result).toContain('test-extension-install');

  const listResult = await rig.runCommand(['extensions', 'list']);
  expect(listResult).toContain('test-extension-install');
  writeFileSync(testServerPath, extensionUpdate);
  const updateResult = await rig.runCommand([
    'extensions',
    'update',
    `test-extension-install`,
  ]);
  expect(updateResult).toContain('0.0.2');
} finally {
  await rig.runCommand([
    'extensions',
    'uninstall',
    'test-extension-install',
  ]);
  • [ ]

Why is this needed?

/**

  • @license
  • Copyright 2025 Google LLC
  • SPDX-License-Identifier: Apache-2.0 */

import { describe, expect, it, beforeEach, afterEach } from 'vitest'; import { TestRig } from './test-helper.js'; import { writeFileSync } from 'node:fs'; import { join } from 'node:path';

const extension = { "name": "test-extension-install", "version": "0.0.1" };

const extensionUpdate = { "name": "test-extension-install", "version": "0.0.2" };

describe('extension install', () => { let rig: TestRig;

beforeEach(() => { rig = new TestRig(); });

afterEach(async () => await rig.cleanup());

it('installs a local extension, verifies a command, and updates it', async () => { rig.setup('extension install test'); const testServerPath = join(rig.testDir!, 'gemini-extension.json'); writeFileSync(testServerPath, extension); try { const result = await rig.runCommand( ['extensions', 'install', ${rig.testDir!}], { stdin: 'y\n' }, ); expect(result).toContain('test-extension-install');

  const listResult = await rig.runCommand(['extensions', 'list']);
  expect(listResult).toContain('test-extension-install');
  writeFileSync(testServerPath, extensionUpdate);
  const updateResult = await rig.runCommand([
    'extensions',
    'update',
    `test-extension-install`,
  ]);
  expect(updateResult).toContain('0.0.2');
} finally {
  await rig.runCommand([
    'extensions',
    'uninstall',
    'test-extension-install',
  ]);

Additional context

https://knowledge.workspace.google.com/admin/groups/changes-to-internal-and-external-classifications-in-google-groups?hl=en&visit_id=639125785050231069-4151437130&rd=1#google_groups_UI_updates

extent analysis

TL;DR

The issue seems to be related to installing and updating extensions, and the fix might involve modifying the test setup or the extension installation process.

Guidance

  • Review the TestRig class and its setup and cleanup methods to ensure they are correctly configured for the extension installation test.
  • Verify that the gemini-extension.json file is being written correctly to the test directory and that its contents are valid.
  • Check the runCommand method to ensure it is correctly handling the installation and update commands for the extension.
  • Consider adding error handling or logging to the test to better understand any issues that may be occurring during the installation or update process.

Notes

The provided code and context do not give a clear indication of the specific issue, so these suggestions are general and may need to be refined based on further information.

Recommendation

Apply workaround: Modify the test setup or extension installation process to better handle any potential issues, as the exact cause of the problem is not clear from the provided information.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING