test: Skip test_decode_delta_rule.py #2600
Conversation
Summary of ChangesHello @bkryu, 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 temporary measure to skip the Highlights
🧠 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
Activity
Using Gemini Code AssistThe 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
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 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
|
📝 WalkthroughWalkthroughA global pytest skip marker is added to the beginning of the test file Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request skips the test_decode_delta_rule.py test file to address CI failures. While this is a valid approach to unblock the pipeline, I've suggested adding a reference to a tracking issue in the skip reason. This ensures the test is not forgotten and can be re-enabled in the future, helping to maintain test coverage and code quality.
| import torch | ||
| import pytest | ||
|
|
||
| pytestmark = pytest.mark.skip(reason="Temporarily skipped due to CI failures.") |
There was a problem hiding this comment.
While skipping tests can be a temporary solution for CI failures, it's crucial to track this technical debt. Please add a reference to a tracking issue in the reason string to ensure these tests are re-enabled once the underlying problem is fixed.
| pytestmark = pytest.mark.skip(reason="Temporarily skipped due to CI failures.") | |
| pytestmark = pytest.mark.skip(reason="Temporarily skipped due to CI failures. See issue #XYZ for tracking.") |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@tests/gdn/test_decode_delta_rule.py`:
- Line 26: Replace the unconditional pytestmark skip with a targeted
pytest.mark.skipif that uses flashinfer.utils helpers (e.g.,
get_compute_capability and is_sm90a_supported) to detect unsupported GPU
architectures and skip only when appropriate; wrap the module-level imports of
reference_delta_rule, flashinfer.gdn_decode, and flashinfer.utils in a
try/except ImportError (or guard with an explicit collect-time check) so
import-time failures don’t break test collection, and update the skip reason to
include a tracking reference (issue/ticket ID) so the intent and owner are
recorded.
| import torch | ||
| import pytest | ||
|
|
||
| pytestmark = pytest.mark.skip(reason="Temporarily skipped due to CI failures.") |
There was a problem hiding this comment.
Prefer a targeted skipif using flashinfer.utils rather than an unconditional blanket skip; also add a tracking reference.
Three concerns:
- Coding guideline: Per project rules, test files must use
flashinfer.utilsfunctions (get_compute_capability,is_sm90a_supported, etc.) to skip tests on unsupported GPU architectures. An unconditionalpytest.mark.skipsilently drops the tests on every machine and every CI run, including ones where they would pass. If the root cause is that the tests fail on a specific architecture, convert this to askipif:
💡 Architecture-conditional skip (guideline-compliant alternative)
-pytestmark = pytest.mark.skip(reason="Temporarily skipped due to CI failures.")
+from flashinfer.utils import get_compute_capability as _get_cc
+import torch as _torch
+pytestmark = pytest.mark.skipif(
+ _get_cc(_torch.device("cuda"))[0] not in [9, 10, 11, 12],
+ reason="GDN decode requires SM90+ (temporarily skipped on non-SM90 CI runners).",
+)-
Import execution:
pytestmarkonly suppresses test execution, not module-level code. Lines 28–44 (importingreference_delta_rule,flashinfer.gdn_decode, andflashinfer.utils) still run during pytest collection. If the CI failures are import-time errors (e.g., a missing compiled kernel), the skip won't prevent a collection error — the module would need atry/except ImportErrorguard around those imports, or aconftest.py-levelcollect_ignore. -
No tracking reference: "Temporarily skipped due to CI failures." lacks a link to the issue or ticket tracking the root cause, making it hard to know when it is safe to re-enable.
As per coding guidelines: "Test files must use flashinfer.utils functions (get_compute_capability, is_sm90a_supported, etc.) to skip tests on unsupported GPU architectures."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@tests/gdn/test_decode_delta_rule.py` at line 26, Replace the unconditional
pytestmark skip with a targeted pytest.mark.skipif that uses flashinfer.utils
helpers (e.g., get_compute_capability and is_sm90a_supported) to detect
unsupported GPU architectures and skip only when appropriate; wrap the
module-level imports of reference_delta_rule, flashinfer.gdn_decode, and
flashinfer.utils in a try/except ImportError (or guard with an explicit
collect-time check) so import-time failures don’t break test collection, and
update the skip reason to include a tracking reference (issue/ticket ID) so the
intent and owner are recorded.
Remove module-level pytestmark skip (added in #2600) and replace with per-function @pytest.mark.skip on the previously-failing tests, so that the new test_decode_kernel_bf16_padding_indices runs in CI while the others remain skipped until their failures are addressed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
📌 Description
test_decode_delta_rule.pyis failing in internal and public CI, blocking any other PRs from being merged.Disable the unit test script for now until a fix has been checked in.
🔍 Related Issues
🚀 Pull Request Checklist
Thank you for contributing to FlashInfer! Before we review your pull request, please make sure the following items are complete.
✅ Pre-commit Checks
pre-commitby runningpip install pre-commit(or used your preferred method).pre-commit install.pre-commit run --all-filesand fixed any reported issues.🧪 Tests
unittest, etc.).Reviewer Notes
Summary by CodeRabbit