Skip to content

Conversation

cgwalters
Copy link
Collaborator

No description provided.

Copy link

Summary of Changes

Hello @cgwalters, 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 consists of two main sets of changes: significant refactoring of the integration test suite to centralize command execution logic, and enhancements to the libvirt CLI commands to provide more user-friendly and machine-readable output formats.

Highlights

  • Integration Test Refactoring: Introduced a new CapturedOutput struct and helper functions (run_command, run_bcvk) to standardize and simplify command execution and output assertion across integration tests. This reduces boilerplate and improves readability and error reporting in tests.
  • Enhanced libvirt CLI Output: Improved the user experience for libvirt base-disks list and libvirt list commands by adopting comfy_table for better formatted tabular output. Additionally, libvirt base-disks list now supports a --format json option for programmatic consumption.
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

@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 introduces a helpful refactoring for running commands in integration tests, which greatly improves code clarity and reduces boilerplate. The addition of JSON output for libvirt base-disks list is also a valuable feature.

My main concern is the removal of timeout wrappers from the integration tests. This could lead to CI pipelines hanging indefinitely if a command stalls. I've left comments with high severity on this issue in the relevant test files.

I've also suggested a medium severity improvement to use a clap::ValueEnum for the new --format option to improve type safety and user experience.

…upport

Replace manual printf-style table formatting with comfy_table for consistent,
well-formatted output across all list commands. Add --format=json support to
base-disks list command to match the pattern used by other list commands,
enabling machine-readable output for integration and scripting.

Assisted-By: Claude Code
Signed-off-by: Colin Walters <[email protected]>
cargo-nextest wraps each test in its own process, with a timeout
and output capture. We don't need to do it in each test.

This removes lots of boilerplate.

Signed-off-by: Colin Walters <[email protected]>
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.

1 participant