From f1b042003499a316e56daa3f811404ff57c0d8dd Mon Sep 17 00:00:00 2001 From: Simon Adorf Date: Wed, 5 Aug 2026 14:32:44 +0000 Subject: [PATCH 1/4] Remove stale metrics and clustering xfails --- python/cuml/tests/test_metrics.py | 1 - python/cuml/tests/test_spectral_clustering.py | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/python/cuml/tests/test_metrics.py b/python/cuml/tests/test_metrics.py index ef8f431e28..59edee6b1c 100644 --- a/python/cuml/tests/test_metrics.py +++ b/python/cuml/tests/test_metrics.py @@ -390,7 +390,6 @@ def test_silhouette_samples_batched(metric, chunk_divider, labeled_clusters): assert False -@pytest.mark.xfail def test_silhouette_score_batched_non_monotonic(): vecs = np.array( [[0.0, 0.0, 0.0], [1.0, 1.0, 1.0], [2.0, 2.0, 2.0], [10.0, 10.0, 10.0]] diff --git a/python/cuml/tests/test_spectral_clustering.py b/python/cuml/tests/test_spectral_clustering.py index 799e68b322..90095709ef 100644 --- a/python/cuml/tests/test_spectral_clustering.py +++ b/python/cuml/tests/test_spectral_clustering.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # @@ -243,7 +243,6 @@ def test_precomputed_matrix_formats(converter, dtype): assert ari > min_ari -@pytest.mark.xfail(reason="https://github.com/rapidsai/cuml/issues/7714") @given( n_samples=st.integers(min_value=100, max_value=2000), n_features=st.integers(min_value=2, max_value=20), From cf55c995b7548753d41fac56910032a50ed10952 Mon Sep 17 00:00:00 2001 From: Simon Adorf Date: Wed, 5 Aug 2026 14:32:44 +0000 Subject: [PATCH 2/4] Remove stale sparse t-SNE xfails --- python/cuml/tests/test_tsne.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/cuml/tests/test_tsne.py b/python/cuml/tests/test_tsne.py index 6606a7ba09..23a3ab3bf2 100644 --- a/python/cuml/tests/test_tsne.py +++ b/python/cuml/tests/test_tsne.py @@ -392,7 +392,6 @@ def test_tsne_distance_metrics(metric): assert array_equal(sk_trust, cuml_trust, 0.05, with_sign=True) -@pytest.mark.xfail(reason="https://github.com/rapidsai/cuml/issues/6682") @pytest.mark.parametrize("method", ["fft", "barnes_hut", "exact"]) @pytest.mark.parametrize( "metric", ["l2", "euclidean", "cityblock", "l1", "manhattan", "cosine"] From 2c144f59a7d0995f9b3d95c896968e13d0a3c5c3 Mon Sep 17 00:00:00 2001 From: Simon Adorf Date: Wed, 5 Aug 2026 14:32:44 +0000 Subject: [PATCH 3/4] Remove stale UMAP xfails --- python/cuml/tests/test_umap.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/python/cuml/tests/test_umap.py b/python/cuml/tests/test_umap.py index 4d1b89f353..4c40072d23 100644 --- a/python/cuml/tests/test_umap.py +++ b/python/cuml/tests/test_umap.py @@ -64,12 +64,7 @@ def test_blobs_cluster(nrows, n_feats, build_algo): [ pytest.param( 500, - marks=[ - pytest.mark.unit, - pytest.mark.xfail( - reason="https://github.com/rapidsai/cuvs/issues/184" - ), - ], + marks=pytest.mark.unit, ), quality_param(5000), stress_param(500000), @@ -1244,15 +1239,8 @@ def test_umap_small_fit_large_transform(): @pytest.mark.parametrize("random_state", [None, 42]) @pytest.mark.parametrize("force_serial_epochs", [True, False, None]) def test_umap_outliers( - n_neighbors, n_components, random_state, force_serial_epochs, request + n_neighbors, n_components, random_state, force_serial_epochs ): - if force_serial_epochs is False: - request.node.add_marker( - pytest.mark.xfail( - reason="With current heuristics, UMAP may produce outliers " - "on GPUs with high SM counts when force_serial_epochs is False." - ) - ) if random_state is None: n_rows = 50_000 build_algo = "nn_descent" From 8ad8e2ca17a665643244fbf9b4fccca272bf5748 Mon Sep 17 00:00:00 2001 From: Simon Adorf Date: Wed, 5 Aug 2026 19:41:11 +0000 Subject: [PATCH 4/4] Restore UMAP outlier xfail --- python/cuml/tests/test_umap.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/python/cuml/tests/test_umap.py b/python/cuml/tests/test_umap.py index 4c40072d23..7c09b901e1 100644 --- a/python/cuml/tests/test_umap.py +++ b/python/cuml/tests/test_umap.py @@ -1239,8 +1239,15 @@ def test_umap_small_fit_large_transform(): @pytest.mark.parametrize("random_state", [None, 42]) @pytest.mark.parametrize("force_serial_epochs", [True, False, None]) def test_umap_outliers( - n_neighbors, n_components, random_state, force_serial_epochs + n_neighbors, n_components, random_state, force_serial_epochs, request ): + if force_serial_epochs is False: + request.node.add_marker( + pytest.mark.xfail( + reason="With current heuristics, UMAP may produce outliers " + "on GPUs with high SM counts when force_serial_epochs is False." + ) + ) if random_state is None: n_rows = 50_000 build_algo = "nn_descent"