Skip to content

Comments

chore: fix folder trust tests#10636

Merged
chrstnb merged 1 commit intomainfrom
fix-folder-trust-tests
Oct 7, 2025
Merged

chore: fix folder trust tests#10636
chrstnb merged 1 commit intomainfrom
fix-folder-trust-tests

Conversation

@adamfweidman
Copy link
Contributor

@adamfweidman adamfweidman commented Oct 7, 2025

TLDR

Dive Deeper

We are incorrectly mocking node:process vs process

Reviewer Test Plan

npm run test

Testing Matrix

🍏 🪟 🐧
npm run x
npx
Docker
Podman - -
Seatbelt - -

Linked issues / bugs

@adamfweidman adamfweidman requested review from a team as code owners October 7, 2025 13:58
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @adamfweidman, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on resolving issues within the folder trust tests that emerged after a recent package-lock.json refresh. The primary fix involves correcting how the Node.js process module is mocked in these tests. Additionally, the PR enhances the reliability of file extraction by refactoring the utility to leverage native Node.js libraries for handling .tar.gz and .zip archives, moving away from external command execution. These changes collectively ensure the stability and correctness of the CLI's folder trust mechanisms and file operations.

Highlights

  • Dependency Management: Updated package-lock.json and packages/cli/package.json to include new dependencies like tar and extract-zip, along with their types and transitive dependencies. This also involved updating existing package versions like minizlib and tar.
  • Refactored File Extraction: The extractFile utility, responsible for handling .tar.gz and .zip archives, has been rewritten. It now uses dedicated Node.js packages (tar and extract-zip) instead of relying on spawnSync to call external system commands, improving robustness and cross-platform compatibility.
  • Improved Test Mocks: Tests related to folder trust have been updated to correctly mock node:process instead of the global process object. This change addresses issues exposed by recent dependency updates and ensures test stability.
  • New File Extraction Tests: Comprehensive unit tests have been added for the extractFile utility, covering successful extraction of .tar.gz and .zip files, as well as proper error handling for unsupported archive formats.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively fixes the folder trust tests by correctly mocking node:process instead of the global process object. The changes in FolderTrustDialog.test.tsx and useFolderTrust.test.ts are accurate and follow modern mocking practices.

A significant improvement is the refactoring of the extractFile function in packages/cli/src/config/extensions/github.ts. Replacing spawnSync with the tar and extract-zip npm packages is an excellent change that enhances security by eliminating a potential command injection vulnerability, and improves portability by removing the dependency on system-installed binaries. The addition of corresponding tests for this new implementation is also a great practice.

The dependency updates in package.json and package-lock.json are consistent with these changes. Overall, this is a high-quality contribution that not only fixes the immediate issue but also proactively improves the codebase's security and robustness. Well done.

@github-actions
Copy link

github-actions bot commented Oct 7, 2025

Size Change: -2 B (0%)

Total Size: 17.6 MB

ℹ️ View Unchanged
Filename Size Change
./bundle/gemini.js 17.6 MB -2 B (0%)
./bundle/sandbox-macos-permissive-closed.sb 1.03 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 830 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-closed.sb 3.29 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B

compressed-size-action

@chrstnb chrstnb enabled auto-merge October 7, 2025 14:11
@adamfweidman adamfweidman force-pushed the fix-folder-trust-tests branch from 4709ae7 to 4a7b009 Compare October 7, 2025 14:21
@chrstnb chrstnb added this pull request to the merge queue Oct 7, 2025
Merged via the queue into main with commit c4656fb Oct 7, 2025
19 of 20 checks passed
@chrstnb chrstnb deleted the fix-folder-trust-tests branch October 7, 2025 14:35
chrstnb pushed a commit that referenced this pull request Oct 7, 2025
thacio added a commit to thacio/auditaria that referenced this pull request Oct 7, 2025
giraffe-tree pushed a commit to giraffe-tree/gemini-cli that referenced this pull request Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants