Skip to content

xfail test_umap_outliers - #7938

Merged
rapids-bot[bot] merged 1 commit into
NVIDIA:release/26.04from
jinsolp:xfail-umap-outliers
Mar 31, 2026
Merged

xfail test_umap_outliers#7938
rapids-bot[bot] merged 1 commit into
NVIDIA:release/26.04from
jinsolp:xfail-umap-outliers

Conversation

@jinsolp

@jinsolp jinsolp commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

Related issue: #7930

xfailing this test to unblock CI for release.

This is not a major bug but something with our algo and heuristics that makes it more "prone to failing" with good compute-power GPUs (hence the flaky failure appearing only recently after rtx pro 6000 joined the CI list).
Working on finding good heuristics by running a bunch of benchmarks on different GPUs.

@jinsolp jinsolp self-assigned this Mar 31, 2026
@jinsolp jinsolp added the bug Something isn't working label Mar 31, 2026
@jinsolp
jinsolp requested a review from a team as a code owner March 31, 2026 22:35
@jinsolp jinsolp added the non-breaking Non-breaking change label Mar 31, 2026
@jinsolp
jinsolp requested a review from jcrist March 31, 2026 22:35
@github-actions github-actions Bot added the Cython / Python Cython or Python issue label Mar 31, 2026
@coderabbitai

coderabbitai Bot commented Mar 31, 2026

Copy link
Copy Markdown
📝 Walkthrough

Summary by CodeRabbit

  • Tests
    • Adjusted test expectations to properly handle known test scenarios.

Walkthrough

Added a pytest.mark.xfail decorator to the test_umap_outliers test function with a specific reason, marking the test as expected to fail under current conditions.

Changes

Cohort / File(s) Summary
Test Expectations
python/cuml/tests/test_umap.py
Added pytest.mark.xfail decorator to test_umap_outliers, marking the test as expected to fail rather than treating failures as regressions.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested labels

Cython / Python

Suggested reviewers

  • jcrist
  • csadorf
  • betatim
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: marking the test_umap_outliers test as expected to fail (xfail).
Description check ✅ Passed The description is directly related to the changeset, explaining the reason for xfailing the test, linking to the related issue, and providing context about the underlying problem.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
python/cuml/tests/test_umap.py (1)

992-994: Consider adding strict=True to the xfail marker since global xfail_strict is not enabled.

Without strict=True or a global xfail_strict=true setting in pytest config, if this test begins passing, CI will silently mark it XPASS without failing, potentially masking that the underlying issue has been resolved. Adding strict=True ensures CI will fail when the test passes, alerting developers to the fix.

Suggested patch
 `@pytest.mark.parametrize`("random_state", [None, 42])
 `@pytest.mark.parametrize`("force_serial_epochs", [True, False])
 `@pytest.mark.xfail`(
-    reason="With current heuristics, UMAP may produce outliers on GPUs with high SM counts."
+    reason="With current heuristics, UMAP may produce outliers on GPUs with high SM counts.",
+    strict=True,
 )
 def test_umap_outliers(
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@python/cuml/tests/test_umap.py` around lines 992 - 994, The xfail marker on
the UMAP test uses pytest.mark.xfail without strict mode, so a now-passing test
would be silently marked XPASS; update the decorator in
python/cuml/tests/test_umap.py (the pytest.mark.xfail applied to the UMAP test
function) to include strict=True while preserving the existing reason string so
CI will fail if the test unexpectedly passes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@python/cuml/tests/test_umap.py`:
- Around line 992-994: The xfail marker on the UMAP test uses pytest.mark.xfail
without strict mode, so a now-passing test would be silently marked XPASS;
update the decorator in python/cuml/tests/test_umap.py (the pytest.mark.xfail
applied to the UMAP test function) to include strict=True while preserving the
existing reason string so CI will fail if the test unexpectedly passes.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 42da62ac-beb5-411e-b96b-afe1f3abb38c

📥 Commits

Reviewing files that changed from the base of the PR and between 8cf29e1 and 2b602ec.

📒 Files selected for processing (1)
  • python/cuml/tests/test_umap.py

@jinsolp

jinsolp commented Mar 31, 2026

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit 6c4d087 into NVIDIA:release/26.04 Mar 31, 2026
96 checks passed
@jinsolp
jinsolp deleted the xfail-umap-outliers branch March 31, 2026 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Cython / Python Cython or Python issue non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants