Skip to content

Disable barrier tests#968

Open
rgsl888prabhu wants to merge 1 commit intoNVIDIA:mainfrom
rgsl888prabhu:fix_nightly_build_failures
Open

Disable barrier tests#968
rgsl888prabhu wants to merge 1 commit intoNVIDIA:mainfrom
rgsl888prabhu:fix_nightly_build_failures

Conversation

@rgsl888prabhu
Copy link
Collaborator

Description

These tests are flaky and are disabled, and these will be moved to C layer later.

Checklist

  • I am familiar with the Contributing Guidelines.
  • Testing
    • New or existing tests cover these changes
    • Added tests
    • Created an issue to follow-up
    • NA
  • Documentation
    • The documentation is up to date with these changes
    • Added new documentation
    • NA

@rgsl888prabhu rgsl888prabhu requested a review from a team as a code owner March 17, 2026 21:16
@rgsl888prabhu rgsl888prabhu requested a review from tmckayus March 17, 2026 21:16
@rgsl888prabhu rgsl888prabhu self-assigned this Mar 17, 2026
@rgsl888prabhu rgsl888prabhu added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Mar 17, 2026
@anandhkb anandhkb added this to the 26.04 milestone Mar 17, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 17, 2026

📝 Walkthrough

Walkthrough

Parameterized test cases in test_barrier_solver_settings and test_problem_update within the linear programming test suite are now marked with pytest.param skip decorators. These configurations remain inactive pending resolution of a barrier initial-point fix. All other test configurations remain unchanged.

Changes

Cohort / File(s) Summary
Test Configuration Updates
python/cuopt/cuopt/tests/linear_programming/test_python_API.py
Specific parameterized test configurations marked as skipped using pytest.param with barrier-related skip reason. Affects test_barrier_solver_settings and test_problem_update test cases pending fix.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Disable barrier tests' directly and clearly summarizes the main change: marking barrier-related test cases as skipped.
Description check ✅ Passed The description explains that the barrier tests are flaky and disabled, and will be moved to C layer later, which aligns with the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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

Tip

You can validate your CodeRabbit configuration file in your editor.

If your editor has YAML language server, you can enable auto-completion and validation by adding # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json at the top of your CodeRabbit configuration file.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

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 `@python/cuopt/cuopt/tests/linear_programming/test_python_API.py`:
- Around line 515-525: The unconditional skips on the pytest.param entries for
the barrier-augmented configurations (the pytest.param with keys CUOPT_FOLDING,
CUOPT_DUALIZE, CUOPT_ORDERING, CUOPT_AUGMENTED and the other similar
pytest.param blocks) must be made trackable and time-bounded: replace the bare
pytest.mark.skip(...) with a skip reason that includes a tracker/issue ID (e.g.
"CUOPT-XXXXX") and a clear re-enable condition ("re-enable when barrier
initial-point fix is in the build"), add a TODO comment referencing the issue ID
next to the pytest.param, and (where appropriate) consider using
pytest.mark.xfail or pytest.skipif with a short expiry date or env-flag to avoid
permanent loss of numerical-correctness coverage; also ensure the tests validate
numerical correctness of the optimization results rather than only running
without error.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 47726764-8795-42ce-bb01-2286bed18e31

📥 Commits

Reviewing files that changed from the base of the PR and between 591ac5f and 692a99d.

📒 Files selected for processing (1)
  • python/cuopt/cuopt/tests/linear_programming/test_python_API.py

Comment on lines +515 to +525
pytest.param(
"mixed",
{
CUOPT_FOLDING: 1,
CUOPT_DUALIZE: 0,
CUOPT_ORDERING: -1,
CUOPT_AUGMENTED: 1,
},
marks=pytest.mark.skip(
reason="Barrier augmented-system numerical issue; re-enable when barrier initial-point fix is in the build"
),
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Avoid indefinite untracked skips for barrier coverage.

At Line 515, Line 563, and Line 624, these cases are now unconditionally skipped, which drops numerical-correctness coverage for key barrier configurations. Please make the disablement explicitly time-bounded/trackable (issue ID + re-enable condition) so this does not become permanent technical debt.

Suggested change
+_BARRIER_TEMP_DISABLE_MARK = pytest.mark.xfail(
+    reason=(
+        "TODO(#<issue-id>): Barrier augmented-system numerical issue. "
+        "Re-enable after barrier initial-point fix lands in build."
+    ),
+    run=False,
+)
+
         pytest.param(
             "mixed",
             {
                 CUOPT_FOLDING: 1,
                 CUOPT_DUALIZE: 0,
                 CUOPT_ORDERING: -1,
                 CUOPT_AUGMENTED: 1,
             },
-            marks=pytest.mark.skip(
-                reason="Barrier augmented-system numerical issue; re-enable when barrier initial-point fix is in the build"
-            ),
+            marks=_BARRIER_TEMP_DISABLE_MARK,
         ),
@@
         pytest.param(
             "augmented_system",
             {
                 CUOPT_AUGMENTED: 1,
             },
-            marks=pytest.mark.skip(
-                reason="Barrier augmented-system numerical issue; re-enable when barrier initial-point fix is in the build"
-            ),
+            marks=_BARRIER_TEMP_DISABLE_MARK,
         ),
@@
         pytest.param(
             "combo3_with_dual_init",
             {
                 CUOPT_AUGMENTED: 1,
                 CUOPT_BARRIER_DUAL_INITIAL_POINT: 1,
                 CUOPT_ELIMINATE_DENSE_COLUMNS: True,
             },
-            marks=pytest.mark.skip(
-                reason="Barrier augmented-system numerical issue; re-enable when barrier initial-point fix is in the build"
-            ),
+            marks=_BARRIER_TEMP_DISABLE_MARK,
         ),
As per coding guidelines **"Write tests validating numerical correctness of optimization results (not just 'runs without error')"**.

Also applies to: 563-570, 624-633

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@python/cuopt/cuopt/tests/linear_programming/test_python_API.py` around lines
515 - 525, The unconditional skips on the pytest.param entries for the
barrier-augmented configurations (the pytest.param with keys CUOPT_FOLDING,
CUOPT_DUALIZE, CUOPT_ORDERING, CUOPT_AUGMENTED and the other similar
pytest.param blocks) must be made trackable and time-bounded: replace the bare
pytest.mark.skip(...) with a skip reason that includes a tracker/issue ID (e.g.
"CUOPT-XXXXX") and a clear re-enable condition ("re-enable when barrier
initial-point fix is in the build"), add a TODO comment referencing the issue ID
next to the pytest.param, and (where appropriate) consider using
pytest.mark.xfail or pytest.skipif with a short expiry date or env-flag to avoid
permanent loss of numerical-correctness coverage; also ensure the tests validate
numerical correctness of the optimization results rather than only running
without error.

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

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants