Skip to content

Tiny deprecate the --range-begin in run_suite.py#13381

Merged
hnyls2002 merged 2 commits intomainfrom
lsyin/tiny-deprecate-ci-range
Nov 16, 2025
Merged

Tiny deprecate the --range-begin in run_suite.py#13381
hnyls2002 merged 2 commits intomainfrom
lsyin/tiny-deprecate-ci-range

Conversation

@hnyls2002
Copy link
Copy Markdown
Collaborator

This argument is no longer used.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @hnyls2002, 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 cleaning up the run_suite.py script by removing deprecated and unused command-line arguments related to test range selection. The change streamlines the argument parsing and ensures that test file partitioning is handled exclusively through the --auto-partition-size mechanism, improving clarity and preventing the use of obsolete functionality.

Highlights

  • Argument Deprecation: The --range-begin and --range-end command-line arguments have been removed from run_suite.py as they are no longer used.
  • Test Partitioning Logic: The script now enforces the use of --auto-partition-size for test file partitioning. If not provided, a ValueError is raised, effectively removing the old manual range-based slicing.
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
Copy Markdown
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 deprecates and removes the --range-begin and --range-end arguments from run_suite.py, making test partitioning mandatory. This is a good simplification.

My review identifies two critical issues that arise from this change: one new bug and one pre-existing bug that is now easily triggered. Both can cause the script to crash. I've provided a code suggestion to fix both issues by adding necessary validation and data type conversion, making the script more robust.

Comment thread test/srt/run_suite.py Outdated
@hnyls2002
Copy link
Copy Markdown
Collaborator Author

/gemini review

@hnyls2002 hnyls2002 merged commit 1869f25 into main Nov 16, 2025
19 of 52 checks passed
@hnyls2002 hnyls2002 deleted the lsyin/tiny-deprecate-ci-range branch November 16, 2025 15:15
Copy link
Copy Markdown
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 removes the unused command-line arguments --range-begin and --range-end from run_suite.py. The change is a good cleanup that improves code maintainability. However, I've identified a subtle change in behavior that could lead to potential issues. By removing the else block, the code no longer creates a shallow copy of the files list, which could lead to unintended modifications of the global suites dictionary. I've added a comment with a suggestion to address this.

Comment thread test/srt/run_suite.py
Comment on lines 661 to 662
if args.auto_partition_size:
files = auto_partition(files, args.auto_partition_id, args.auto_partition_size)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

By removing the else block that contained the slicing files[args.range_begin : args.range_end], the code no longer creates a shallow copy of the files list when args.auto_partition_size is not set. This means the original list from the suites dictionary is passed to run_unittest_files. If run_unittest_files were to modify the list in-place, it would cause an unintended side effect of modifying the global suites dictionary.

While the original intent of the else block was to handle range_begin and range_end, the slicing also provided the benefit of creating a shallow copy. To maintain this safe behavior, I suggest explicitly creating a shallow copy in an else branch.

Suggested change
if args.auto_partition_size:
files = auto_partition(files, args.auto_partition_id, args.auto_partition_size)
if args.auto_partition_size:
files = auto_partition(files, args.auto_partition_id, args.auto_partition_size)
else:
# Explicitly create a shallow copy to avoid modifying the original list in `suites`.
files = files[:]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants