Skip to content

Add a ut for basic check#2612

Merged
chunxiaozheng merged 2 commits intoLMCache:devfrom
maobaolong:test_basic_check
Feb 18, 2026
Merged

Add a ut for basic check#2612
chunxiaozheng merged 2 commits intoLMCache:devfrom
maobaolong:test_basic_check

Conversation

@maobaolong
Copy link
Copy Markdown
Collaborator

What this PR does / why we need it:

Special notes for your reviewers:

If applicable:

  • this PR contains user facing changes - docs added
  • this PR contains unit tests

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @maobaolong, 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 introduces a new suite of unit tests for the basic_check module. These tests significantly enhance the robustness and reliability of the module by thoroughly validating the CheckModeRegistry's functionality, the check_mode decorator's behavior, the argument parsing logic, and the overall execution flow of the main function. This ensures that core components behave as expected under various conditions, improving maintainability.

Highlights

  • CheckModeRegistry Tests: Added comprehensive unit tests for the CheckModeRegistry class, covering registration, retrieval, duplicate mode handling, and the mechanism for loading modes from check_mode_ modules, including error handling and ensuring single-time loading.
  • CheckMode Decorator Tests: Implemented tests for the @check_mode decorator to verify that it correctly sets is_check_mode and mode_name attributes on decorated functions, and that the decorated functions remain callable.
  • Argument Parsing Tests: Included tests for the parse_args function to validate the parsing of required modes, various optional flags such as --model, --num-keys, --concurrency, and --offset, and to confirm that default values are correctly applied when arguments are not provided.
  • Main Function Tests: Developed asynchronous tests for the main function, ensuring proper behavior when listing available modes, handling unknown modes gracefully, and correctly invoking registered mode functions with the parsed command-line arguments.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • tests/v1/test_basic_check.py
    • Added a new test file to provide comprehensive unit test coverage for the lmcache.v1.basic_check module.
Activity
  • No human activity has been recorded on this pull request yet.
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 introduces a comprehensive suite of unit tests for the basic_check script and its associated components, such as CheckModeRegistry and the @check_mode decorator. The tests are well-structured, leveraging pytest features effectively to cover a variety of scenarios including argument parsing, mode discovery, and execution flow. The test coverage for the new functionality is good. I have one suggestion to enhance the readability of a test case.

Comment thread tests/v1/test_basic_check.py Outdated
… function

Address gemini-bot's feedback to enhance code maintainability:
- Replaced the cryptic lambda expression using generator.throw() pattern
- Introduced a clear helper function 'raiser' to raise ImportError
- Maintains the same test behavior while improving readability

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
Copy link
Copy Markdown
Contributor

@sammshen sammshen left a comment

Choose a reason for hiding this comment

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

LGTM!

@maobaolong maobaolong added Testing Related to unittests or end-to-end tests full Run comprehensive tests on this PR labels Feb 18, 2026
Copy link
Copy Markdown
Collaborator

@chunxiaozheng chunxiaozheng left a comment

Choose a reason for hiding this comment

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

lgtm

@chunxiaozheng chunxiaozheng enabled auto-merge (squash) February 18, 2026 02:09
@chunxiaozheng chunxiaozheng merged commit b3502df into LMCache:dev Feb 18, 2026
24 checks passed
DongDongJu pushed a commit to DongDongJu/LMCache that referenced this pull request Feb 22, 2026
* Add a ut for basic check

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

* Improve test code readability by replacing cryptic lambda with helper function

Address gemini-bot's feedback to enhance code maintainability:
- Replaced the cryptic lambda expression using generator.throw() pattern
- Introduced a clear helper function 'raiser' to raise ImportError
- Maintains the same test behavior while improving readability

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

---------

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
Signed-off-by: DongDongJu <commisori28@gmail.com>
DongDongJu pushed a commit to DongDongJu/LMCache that referenced this pull request Feb 22, 2026
* Add a ut for basic check

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

* Improve test code readability by replacing cryptic lambda with helper function

Address gemini-bot's feedback to enhance code maintainability:
- Replaced the cryptic lambda expression using generator.throw() pattern
- Introduced a clear helper function 'raiser' to raise ImportError
- Maintains the same test behavior while improving readability

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

---------

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
sammshen pushed a commit to sammshen/LMCache that referenced this pull request Mar 1, 2026
* Add a ut for basic check

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

* Improve test code readability by replacing cryptic lambda with helper function

Address gemini-bot's feedback to enhance code maintainability:
- Replaced the cryptic lambda expression using generator.throw() pattern
- Introduced a clear helper function 'raiser' to raise ImportError
- Maintains the same test behavior while improving readability

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

---------

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
hlin99 pushed a commit to hlin99/LMCache that referenced this pull request Mar 2, 2026
* Add a ut for basic check

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

* Improve test code readability by replacing cryptic lambda with helper function

Address gemini-bot's feedback to enhance code maintainability:
- Replaced the cryptic lambda expression using generator.throw() pattern
- Introduced a clear helper function 'raiser' to raise ImportError
- Maintains the same test behavior while improving readability

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

---------

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
mauryaavinash95 pushed a commit to mauryaavinash95/LMCache that referenced this pull request Mar 7, 2026
* Add a ut for basic check

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

* Improve test code readability by replacing cryptic lambda with helper function

Address gemini-bot's feedback to enhance code maintainability:
- Replaced the cryptic lambda expression using generator.throw() pattern
- Introduced a clear helper function 'raiser' to raise ImportError
- Maintains the same test behavior while improving readability

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

---------

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
shaoxiawjc pushed a commit to shaoxiawjc/LMCache that referenced this pull request Mar 11, 2026
* Add a ut for basic check

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

* Improve test code readability by replacing cryptic lambda with helper function

Address gemini-bot's feedback to enhance code maintainability:
- Replaced the cryptic lambda expression using generator.throw() pattern
- Introduced a clear helper function 'raiser' to raise ImportError
- Maintains the same test behavior while improving readability

Signed-off-by: baoloongmao <baoloongmao@tencent.com>

---------

Signed-off-by: baoloongmao <baoloongmao@tencent.com>
Signed-off-by: shaoxiawjc <wjc2800@163.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full Run comprehensive tests on this PR Testing Related to unittests or end-to-end tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants