Skip to content

test(routing): add null-value rejection test for cost matrix#1596

Closed
ramakrishnap-nv wants to merge 8 commits into
mainfrom
test/routing-null-matrix-validation-main
Closed

test(routing): add null-value rejection test for cost matrix#1596
ramakrishnap-nv wants to merge 8 commits into
mainfrom
test/routing-null-matrix-validation-main

Conversation

@ramakrishnap-nv

Copy link
Copy Markdown
Collaborator

Closes #1220.

add_cost_matrix rejects NULL values via validate_matrix; adds a negative test to lock down that contract.

ramakrishnap-nv and others added 8 commits July 20, 2026 11:23
Importing cuopt.routing pulled in cuopt.routing.utils / utils_wrapper, whose
generate_dataset had cudf.Series() as default argument values. Default
arguments are evaluated at import time, and constructing an (even empty)
cudf.Series requires a GPU, so `import cuopt.routing` failed with
cudaErrorNoDevice on a GPU-less host -- e.g. a CPU-only client building and
serializing a routing problem to submit to a remote solver.

Move the empty-series construction from the signatures into the function
bodies via None sentinels. `import cudf` itself does not touch the GPU, so
the modules now import GPU-free; the helpers behave identically when called.
Add __all__ to the routing package for explicit re-exports, and a subprocess
test that imports the package with no visible GPU.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
The dataset-generation and batch helpers (generate_dataset,
DatasetDistribution, add_vehicle_constraints, ...) are undocumented,
local-testing utilities that require a GPU. Re-exporting them from the
cuopt.routing package made `import cuopt.routing` pull in utils / utils_wrapper
and fail with cudaErrorNoDevice on a GPU-less host -- e.g. a CPU-only client
building and serializing a routing problem for a remote solver.

Stop re-exporting them so importing routing no longer touches that GPU
machinery; they remain available via `cuopt.routing.utils` for the tests that
use them. save_data_model_to_yaml is imported from utils at its call site for
the same reason. Repoint the one test that used the re-exports to
cuopt.routing.utils, and add a subprocess test that (with no visible GPU)
imports cuopt.routing, asserts utils/utils_wrapper are not pulled in, builds a
DataModel, and imports cuopt.routing.utils.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
With the dataset/batch helpers no longer re-exported from cuopt.routing,
importing the package never touches utils / utils_wrapper, so it is GPU-free
without the None-sentinel change to generate_dataset. Revert utils.py and
utils_wrapper.pyx to keep the diff focused on the namespace move, and drop the
utils-imports-without-a-gpu test. The test that importing cuopt.routing does
not require a GPU is kept.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
The GPU-free-import test only asserted generate_dataset was gone, so a
regression re-exposing DatasetDistribution, add_vehicle_constraints,
create_pickup_delivery_data, or update_routes_and_vehicles would still pass.
Enumerate all five moved names and fail if any leaks back onto cuopt.routing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
Tracked in #1592.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
…ilds

Also crashing with std::bad_array_new_length on all wheel runners in
CI run 29775058848. Tracked in #1592.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
Closes #1220

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@ramakrishnap-nv
ramakrishnap-nv requested a review from a team as a code owner July 21, 2026 15:31
@ramakrishnap-nv
ramakrishnap-nv requested a review from tmckayus July 21, 2026 15:31
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The routing package now avoids eager GPU-dependent utility imports and limits its public exports to core symbols. Solver YAML saving uses a local utility import. Tests cover GPU-free imports, routing validation, utility call paths, and temporarily skipped failing linear-programming cases.

Changes

Routing import surface

Layer / File(s) Summary
Constrain routing exports
python/cuopt/cuopt/routing/__init__.py
The package initializer imports core routing symbols, documents direct utility imports, and restricts __all__ to the supported public entities.
Localize YAML utility import
python/cuopt/cuopt/routing/vehicle_routing.py
Solve imports routing utilities locally when saving a configured data model to YAML.
Validate routing behavior
python/cuopt/cuopt/tests/routing/*
Tests verify GPU-free package importing, CPU-side DataModel construction, direct utility usage, and rejection of NULL cost-matrix values.

Linear programming test stabilization

Layer / File(s) Summary
Skip failing MPS and heuristic cases
python/cuopt/cuopt/tests/linear_programming/test_incumbent_callbacks.py, python/cuopt/cuopt/tests/linear_programming/test_lp_solver.py
Selected MPS parameter cases and test_heuristics_only are skipped with reasons describing the bad-array failure.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • NVIDIA/cuopt#1591: Updates the routing package export surface and GPU-free import behavior with a related local utility import change.

Suggested labels: non-breaking, improvement

Suggested reviewers: tmckayus

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR also changes routing exports, import behavior, and several unrelated tests beyond the linked null-matrix validation work. Split unrelated routing/package and test updates into separate PRs, keeping this change focused on the NULL cost-matrix validation test.
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding a null-value rejection test for the routing cost matrix.
Description check ✅ Passed The description is directly related and matches the added negative test and validation contract.
Linked Issues check ✅ Passed The PR adds test_dist_mat_null and verifies DataModel.add_cost_matrix rejects NULL cost matrices, matching #1220.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test/routing-null-matrix-validation-main

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

@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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@python/cuopt/cuopt/tests/linear_programming/test_incumbent_callbacks.py`:
- Around line 113-119: Replace the unconditional _BAD_ARRAY_SKIP marker applied
to the MPS callback regression tests with a condition that activates only in the
affected wheel-build context or wheel-specific CI. Keep both MPS cases and
callback variants enabled during normal source/development pytest runs, while
preserving the existing skip reason for impacted wheel environments.

In `@python/cuopt/cuopt/tests/linear_programming/test_lp_solver.py`:
- Around line 679-685: Update the skip marker for test_heuristics_only so it
applies only to affected wheel builds, using the repository’s existing
wheel-build detection or conditional-skip convention. Keep the test enabled in
non-wheel environments to preserve heuristic-only solver regression coverage,
while retaining the documented reason for skipped wheel runs.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 58b56242-b72f-4534-aa91-c7e254a40b8d

📥 Commits

Reviewing files that changed from the base of the PR and between 1e4e679 and 77f07a4.

📒 Files selected for processing (7)
  • python/cuopt/cuopt/routing/__init__.py
  • python/cuopt/cuopt/routing/vehicle_routing.py
  • python/cuopt/cuopt/tests/linear_programming/test_incumbent_callbacks.py
  • python/cuopt/cuopt/tests/linear_programming/test_lp_solver.py
  • python/cuopt/cuopt/tests/routing/test_distance_engine.py
  • python/cuopt/cuopt/tests/routing/test_gpu_free_import.py
  • python/cuopt/cuopt/tests/routing/test_warnings_exceptions.py

Comment on lines +113 to +119
_BAD_ARRAY_SKIP = pytest.mark.skip(
reason=(
"Temporarily disabled: aborts with std::bad_array_new_length "
"in wheel builds after the fast MPS parser landed (#1429). "
"Tracked in https://github.com/NVIDIA/cuopt/issues/1592."
)
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not unconditionally skip these regression tests.

The reason limits the failure to wheel builds, but pytest.mark.skip disables both MPS cases—and both callback variants—in every test environment. Make the skip conditional on the affected wheel-build context, or apply it only in wheel-specific CI, so normal source/dev runs retain callback regression coverage.

As per path instructions, Python tests should prioritize regression coverage for fixed bugs.

Also applies to: 122-126, 136-137

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@python/cuopt/cuopt/tests/linear_programming/test_incumbent_callbacks.py`
around lines 113 - 119, Replace the unconditional _BAD_ARRAY_SKIP marker applied
to the MPS callback regression tests with a condition that activates only in the
affected wheel-build context or wheel-specific CI. Keep both MPS cases and
callback variants enabled during normal source/development pytest runs, while
preserving the existing skip reason for impacted wheel environments.

Source: Path instructions

Comment on lines +679 to +685
@pytest.mark.skip(
reason=(
"Temporarily disabled: swath1 aborts with std::bad_array_new_length "
"in wheel builds after the fast MPS parser landed (#1429). "
"Tracked in https://github.com/NVIDIA/cuopt/issues/1592."
)
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Keep test_heuristics_only enabled outside affected wheel builds.

This unconditional skip removes all coverage for the heuristic-only solver path, although the documented failure is specific to wheel builds. Use a build-specific conditional skip or restrict the skip to wheel CI; otherwise regressions in this test will be silently missed everywhere.

As per path instructions, Python tests should prioritize regression coverage for fixed bugs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@python/cuopt/cuopt/tests/linear_programming/test_lp_solver.py` around lines
679 - 685, Update the skip marker for test_heuristics_only so it applies only to
affected wheel builds, using the repository’s existing wheel-build detection or
conditional-skip convention. Keep the test enabled in non-wheel environments to
preserve heuristic-only solver regression coverage, while retaining the
documented reason for skipped wheel runs.

Source: Path instructions

@ramakrishnap-nv

Copy link
Copy Markdown
Collaborator Author

Closing in favour of the original PR #1220, which will be retargeted to main.

@ramakrishnap-nv
ramakrishnap-nv deleted the test/routing-null-matrix-validation-main branch July 21, 2026 15:38
@github-actions

Copy link
Copy Markdown

CI Test Summary

27 failed · 4 passed · 0 skipped

conda-cpp-tests / 13.3.0, 3.13, amd64, ubuntu26.04, rtxpro6000, latest-driver, latest-deps — 1 failed test
  • FastMpsParserEdgeTest.QcMatrixRowsMatchReferenceBitwise
conda-cpp-tests / 13.3.0, 3.14, amd64, ubuntu26.04, h100, latest-driver, latest-deps — 1 failed test
  • FastMpsParserEdgeTest.QcMatrixRowsMatchReferenceBitwise
conda-cpp-tests / 13.3.0, 3.13, arm64, ubuntu26.04, l4, latest-driver, latest-deps — 1 failed test
  • FastMpsParserEdgeTest.QcMatrixRowsMatchReferenceBitwise
conda-cpp-tests / 13.0.3, 3.12, amd64, ubuntu24.04, l4, latest-driver, latest-deps — 1 failed test
  • FastMpsParserEdgeTest.QcMatrixRowsMatchReferenceBitwise
conda-cpp-tests / 13.0.3, 3.14, arm64, rockylinux8, l4, latest-driver, latest-deps — 1 failed test
  • FastMpsParserEdgeTest.QcMatrixRowsMatchReferenceBitwise
conda-cpp-tests / 12.9.2, 3.14, amd64, ubuntu22.04, h100, latest-driver, latest-deps — 3 failed tests
  • cli_test_t.missing_required_argument
  • cli_test_t.unrecognized_argument
  • cli_test_t.partial_solution_file
conda-cpp-tests / 12.2.2, 3.11, arm64, ubuntu22.04, a100, latest-driver, latest-deps — 3 failed tests
  • cli_test_t.missing_required_argument
  • cli_test_t.unrecognized_argument
  • cli_test_t.partial_solution_file
conda-cpp-tests / 12.2.2, 3.11, amd64, rockylinux8, v100, earliest-driver, oldest-deps — 1 failed test
  • FastMpsParserEdgeTest.QcMatrixRowsMatchReferenceBitwise
wheel-tests-cuopt / 13.0.3, 3.12, amd64, ubuntu24.04, rtxpro6000, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
wheel-tests-cuopt / 12.9.2, 3.11, amd64, ubuntu22.04, l4, latest-driver, oldest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
wheel-tests-cuopt / 13.3.0, 3.14, amd64, ubuntu26.04, rtxpro6000, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
wheel-tests-cuopt / 13.3.0, 3.13, amd64, rockylinux8, rtxpro6000, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
wheel-tests-cuopt / 13.0.3, 3.12, arm64, rockylinux8, l4, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
wheel-tests-cuopt / 12.2.2, 3.11, arm64, ubuntu22.04, a100, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
wheel-tests-cuopt / 12.9.2, 3.14, amd64, ubuntu24.04, h100, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
wheel-tests-cuopt / 13.3.0, 3.14, arm64, ubuntu26.04, l4, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 12.2.2, 3.11, amd64, rockylinux8, l4, earliest-driver, oldest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 13.3.0, 3.13, amd64, ubuntu26.04, rtxpro6000, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 13.3.0, 3.14, arm64, ubuntu26.04, l4, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 13.3.0, 3.14, amd64, ubuntu26.04, h100, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 12.9.2, 3.14, amd64, ubuntu22.04, h100, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 13.0.3, 3.12, amd64, ubuntu24.04, rtxpro6000, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 12.2.2, 3.12, amd64, ubuntu22.04, l4, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py
conda-python-tests / 13.0.3, 3.12, arm64, ubuntu22.04, l4, latest-driver, latest-deps — 20 failed tests
  • tests/routing/test_gpu_free_import.py::test_routing_imports_without_a_gpu
  • tests/linear_programming/test_cpu_only_execution.py
  • tests/linear_programming/test_grpc_client.py
  • tests/linear_programming/test_incumbent_callbacks.py
  • tests/linear_programming/test_lp_solver.py
  • tests/linear_programming/test_parser.py
  • tests/linear_programming/test_python_API.py
  • tests/quadratic_programming/test_qp.py
  • tests/routing/test_batch_solve.py
  • tests/routing/test_data_model.py
  • tests/routing/test_deferred.py
  • tests/routing/test_distance_engine.py
  • tests/routing/test_host_arrays.py
  • tests/routing/test_initial_solutions.py
  • tests/routing/test_re_routing.py
  • tests/routing/test_solver.py
  • tests/routing/test_solver_settings.py
  • tests/routing/test_vehicle_properties.py
  • tests/routing/test_warnings_exceptions.py
  • tests/socp/test_socp.py

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant