From 932807f5f1956cc64243c59bf721d3f4a8394229 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 16 Jun 2026 18:01:19 -0700 Subject: [PATCH 1/2] Revert xfail_strict=false for pandas tests Reverts the temporary xfail_strict=false setting introduced in #22677. If flaky xpasses surface, we should add them to the skip list and investigate individually rather than globally disabling strict xfail. Closes #22681 --- python/cudf/cudf/pandas/scripts/run-pandas-tests.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/python/cudf/cudf/pandas/scripts/run-pandas-tests.sh b/python/cudf/cudf/pandas/scripts/run-pandas-tests.sh index 57561a1fb9a5..78af8e711778 100755 --- a/python/cudf/cudf/pandas/scripts/run-pandas-tests.sh +++ b/python/cudf/cudf/pandas/scripts/run-pandas-tests.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # Run Pandas unit tests with cudf.pandas. @@ -54,8 +54,7 @@ if [ ! -d "pandas-tests" ]; then # Vendored from pandas/pyproject.toml cat > pandas-tests/pyproject.toml << \EOF [tool.pytest.ini_options] -# flaky xpasses tracked at https://github.com/rapidsai/cudf/issues/22681 -xfail_strict = false +xfail_strict = true markers = [ "single_cpu: tests that should run on a single cpu only", "slow: mark a test as slow", From fe0d231d4dd773879bd14a4675a367f6a618c0c2 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 16 Jun 2026 19:40:08 -0700 Subject: [PATCH 2/2] Fix XPASS(strict) failures after restoring xfail_strict=true - Remove 36 stale entries from NODEIDS_THAT_FAIL (tests now pass) - Add 53 pandas-internally-xfailed tests to NODEIDS_TO_SKIP with descriptive reasons (these xpass under cudf.pandas) - Skip flaky test_groupby_all_nan_groups_drop (intermittent assertion failure tracked in #22681) --- .../pandas/scripts/pandas-testing-plugin.py | 98 +++++++++++-------- 1 file changed, 58 insertions(+), 40 deletions(-) diff --git a/python/cudf/cudf/pandas/scripts/pandas-testing-plugin.py b/python/cudf/cudf/pandas/scripts/pandas-testing-plugin.py index b4cda7f5bb48..05b67c2d2b92 100644 --- a/python/cudf/cudf/pandas/scripts/pandas-testing-plugin.py +++ b/python/cudf/cudf/pandas/scripts/pandas-testing-plugin.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 import json @@ -165,7 +165,6 @@ def pytest_unconfigure(config): "tests/arrays/categorical/test_analytics.py::TestCategoricalAnalytics::test_searchsorted[None]": "TODO: Add a reason for failure", "tests/arrays/categorical/test_analytics.py::TestCategoricalAnalytics::test_searchsorted[True]": "TODO: Add a reason for failure", "tests/arrays/categorical/test_api.py::TestPrivateCategoricalAPI::test_codes_immutable": "TODO: Add a reason for failure", - "tests/arrays/categorical/test_constructors.py::TestCategoricalConstructors::test_constructor_preserves_freq": "TODO: Add a reason for failure", "tests/arrays/categorical/test_constructors.py::TestCategoricalConstructors::test_from_sequence_copy": "TODO: Add a reason for failure", "tests/arrays/categorical/test_indexing.py::TestCategoricalIndexing::test_where_new_category_raises": "TODO: Add a reason for failure", "tests/arrays/categorical/test_missing.py::TestCategoricalMissing::test_compare_categorical_with_missing[a10-a20-categories0]": "AssertionError: Attributes of Series are different", @@ -308,8 +307,6 @@ def pytest_unconfigure(config): "tests/base/test_conversion.py::test_array[index-arr3-_left]": "TODO: Add a reason for failure", "tests/base/test_conversion.py::test_array[index-arr4-_sparse_values]": "TODO: Add a reason for failure", "tests/base/test_conversion.py::test_array[series-arr4-_sparse_values]": "TODO: Add a reason for failure", - "tests/base/test_conversion.py::test_to_numpy[array-False-arr1-expected1-False]": "AssertionError: numpy array are different", - "tests/base/test_conversion.py::test_to_numpy[array-True-arr1-expected1-False]": "AssertionError: numpy array are different", "tests/base/test_conversion.py::test_to_numpy_copy[arr0-False]": "TODO: Add a reason for failure", "tests/base/test_conversion.py::test_to_numpy_copy[arr0-True]": "TODO: Add a reason for failure", "tests/base/test_conversion.py::test_values_consistent[arr0-ndarray-int64]": "TODO: Add a reason for failure", @@ -892,7 +889,6 @@ def pytest_unconfigure(config): "tests/extension/test_categorical.py::TestCategorical::test_memory_usage": "AssertionError", "tests/extension/test_categorical.py::TestCategorical::test_searchsorted[True]": "TODO: Add a reason for failure", "tests/extension/test_categorical.py::TestCategorical::test_series_constructor_no_data_with_index": "AssertionError: Attributes of Series are different", - "tests/extension/test_categorical.py::TestCategorical::test_to_numpy": "TODO: Add a reason for failure", "tests/extension/test_categorical.py::TestCategorical::test_unstack[frame-index1]": "AssertionError: DataFrame.iloc[:, 1] (column name='('A', 'B')') are different", "tests/extension/test_categorical.py::TestCategorical::test_unstack[frame-index2]": "AssertionError: DataFrame.iloc[:, 1] (column name='('A', 'B')') are different", "tests/extension/test_categorical.py::TestCategorical::test_unstack[frame-index3]": "AssertionError: DataFrame.iloc[:, 0] (column name='('A', 'A')') are different", @@ -1573,7 +1569,6 @@ def pytest_unconfigure(config): "tests/frame/methods/test_shift.py::TestDataFrameShift::test_shift_dt64values_int_fill_deprecated": "TODO: Add a reason for failure", "tests/frame/methods/test_sort_index.py::TestDataFrameSortIndex::test_sort_index_intervalindex": "TODO: Add a reason for failure", "tests/frame/methods/test_sort_index.py::TestDataFrameSortIndex::test_sort_index_nan": "TODO: Add a reason for failure", - "tests/frame/methods/test_sort_index.py::TestDataFrameSortIndex::test_sort_index_reorder_on_ops": "TODO: Add a reason for failure", "tests/frame/methods/test_sort_values.py::TestDataFrameSortValues::test_sort_by_column_named_none": "AssertionError: DataFrame.index are different", "tests/frame/methods/test_sort_values.py::TestDataFrameSortValues::test_sort_values_by_empty_list": "TODO: Add a reason for failure", "tests/frame/methods/test_to_csv.py::TestDataFrameToCSV::test_gz_lineend": "TODO: Add a reason for failure", @@ -2099,7 +2094,6 @@ def pytest_unconfigure(config): "tests/generic/test_generic.py::TestNDFrame::test_numpy_transpose[DataFrame]": "TODO: Add a reason for failure", "tests/generic/test_generic.py::TestNDFrame::test_transpose_frame": "TODO: Add a reason for failure", "tests/generic/test_series.py::TestSeries::test_metadata_propagation_indiv": "TODO: Add a reason for failure", - "tests/groupby/aggregate/test_aggregate.py::test_agg_multiple_with_as_index_false_subset_to_a_single_column": "TODO: Add a reason for failure", "tests/groupby/aggregate/test_aggregate.py::test_agg_str_with_kwarg_axis_1_raises[count]": "TODO: Add a reason for failure", "tests/groupby/aggregate/test_aggregate.py::test_agg_str_with_kwarg_axis_1_raises[first]": "TODO: Add a reason for failure", "tests/groupby/aggregate/test_aggregate.py::test_agg_str_with_kwarg_axis_1_raises[idxmax]": "TODO: Add a reason for failure", @@ -2242,13 +2236,6 @@ def pytest_unconfigure(config): "tests/groupby/methods/test_value_counts.py::test_value_counts_time_grouper[ns-False]": "TODO: Add a reason for failure", "tests/groupby/methods/test_value_counts.py::test_value_counts_time_grouper[s-False]": "TODO: Add a reason for failure", "tests/groupby/methods/test_value_counts.py::test_value_counts_time_grouper[us-False]": "TODO: Add a reason for failure", - "tests/groupby/test_all_methods.py::test_duplicate_columns[all-False]": "ValueError: Duplicate column names are not allowed", - "tests/groupby/test_all_methods.py::test_duplicate_columns[any-False]": "ValueError: Duplicate column names are not allowed", - "tests/groupby/test_all_methods.py::test_duplicate_columns[cummax-False]": "TODO: Add a reason for failure", - "tests/groupby/test_all_methods.py::test_duplicate_columns[cummin-False]": "TODO: Add a reason for failure", - "tests/groupby/test_all_methods.py::test_duplicate_columns[cumprod-False]": "TODO: Add a reason for failure", - "tests/groupby/test_all_methods.py::test_duplicate_columns[cumsum-False]": "TODO: Add a reason for failure", - "tests/groupby/test_all_methods.py::test_duplicate_columns[rank-False]": "TODO: Add a reason for failure", "tests/groupby/test_all_methods.py::test_not_c_contiguous_mask[all]": "assert not True", "tests/groupby/test_all_methods.py::test_not_c_contiguous_mask[any]": "assert not True", "tests/groupby/test_all_methods.py::test_not_c_contiguous_mask[bfill]": "assert not True", @@ -2315,7 +2302,6 @@ def pytest_unconfigure(config): "tests/groupby/test_apply.py::test_time_field_bug": "TODO: Add a reason for failure", "tests/groupby/test_categorical.py::test_describe_categorical_columns": "cudf's multi-level groupby aggregation and stack() drop the categorical column-index dtype", "tests/groupby/test_counting.py::TestCounting::test_ngroup_distinct": "TODO: Add a reason for failure", - "tests/groupby/test_cumulative.py::test_cython_api2[False]": "AssertionError: DataFrame are different", "tests/groupby/test_cumulative.py::test_groupby_cumprod_nan_influences_other_columns": "TODO: Add a reason for failure", "tests/groupby/test_cumulative.py::test_numpy_compat[cumprod]": "TODO: Add a reason for failure", "tests/groupby/test_cumulative.py::test_numpy_compat[cumsum]": "TODO: Add a reason for failure", @@ -2381,14 +2367,9 @@ def pytest_unconfigure(config): "tests/groupby/test_groupby.py::test_groups_repr_truncates[5-{0: [0], 1: [1], 2: [2], 3: [3], 4: [4]}]": "TODO: Add a reason for failure", "tests/groupby/test_groupby.py::test_groups_sort_dropna[False-False]": "AssertionError: numpy array are different", "tests/groupby/test_groupby.py::test_groups_sort_dropna[False-True]": "AssertionError: numpy array are different", - "tests/groupby/test_groupby.py::test_indices_concatenation_order": "TODO: Add a reason for failure", - "tests/groupby/test_groupby.py::test_ops_not_as_index[all]": 'AssertionError: Column name="a" are different', - "tests/groupby/test_groupby.py::test_ops_not_as_index[any]": 'AssertionError: Column name="a" are different', "tests/groupby/test_groupby.py::test_ops_not_as_index[idxmin]": "TODO: Add a reason for failure", "tests/groupby/test_groupby.py::test_ops_not_as_index[size]": "TODO: Add a reason for failure", - "tests/groupby/test_groupby.py::test_single_element_list_grouping[a]": "TODO: Add a reason for failure", "tests/groupby/test_groupby.py::test_single_element_listlike_level_grouping[level_arg0-False]": "AssertionError: assert ['x', 'y'] == [('x',), ('y',)]", - "tests/groupby/test_groupby.py::test_single_element_listlike_level_grouping[level_arg2-True]": "assert [1, 2] == [(1,), (2,)]", "tests/groupby/test_groupby.py::test_wrap_aggregated_output_multindex": "TODO: Add a reason for failure", "tests/groupby/test_groupby_dropna.py::test_groupby_nan_included": "GroupBy.indices returns cupy arrays nested in a dict that cudf.pandas does not wrap, so assert_numpy_array_equal sees mismatched array classes", "tests/groupby/test_groupby_subclass.py::test_groupby_preserves_metadata": "TODO: Add a reason for failure", @@ -2611,16 +2592,6 @@ def pytest_unconfigure(config): "tests/groupby/test_timegrouper.py::TestGroupBy::test_groupby_with_timegrouper": "TODO: Add a reason for failure", "tests/groupby/test_timegrouper.py::TestGroupBy::test_scalar_call_versus_list_call": "TODO: Add a reason for failure", "tests/groupby/test_timegrouper.py::TestGroupBy::test_timegrouper_apply_return_type_series": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cumcount-A]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cumcount-keys1]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cummax-A]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cummax-keys1]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cummin-A]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cummin-keys1]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cumprod-A]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cumprod-keys1]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cumsum-A]": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_as_index_no_change[cumsum-keys1]": "TODO: Add a reason for failure", "tests/groupby/transform/test_transform.py::test_as_index_no_change[size-A]": "TODO: Add a reason for failure", "tests/groupby/transform/test_transform.py::test_as_index_no_change[size-keys1]": "TODO: Add a reason for failure", "tests/groupby/transform/test_transform.py::test_cython_transform_series[cumprod-args0-]": "TODO: Add a reason for failure", @@ -2668,7 +2639,6 @@ def pytest_unconfigure(config): "tests/groupby/transform/test_transform.py::test_pct_change[Series-1-None]": "AssertionError: Series are different", "tests/groupby/transform/test_transform.py::test_transform_cumcount": "TODO: Add a reason for failure", "tests/groupby/transform/test_transform.py::test_transform_fast": "TODO: Add a reason for failure", - "tests/groupby/transform/test_transform.py::test_transform_mixed_type": "TODO: Add a reason for failure", "tests/groupby/transform/test_transform.py::test_transform_numeric_ret[count-a-expected0]": "TODO: Add a reason for failure", "tests/groupby/transform/test_transform.py::test_transform_numeric_ret[count-cols1-expected1]": "TODO: Add a reason for failure", "tests/groupby/transform/test_transform.py::test_transform_numeric_ret[size-a-expected0]": "TODO: Add a reason for failure", @@ -2886,10 +2856,6 @@ def pytest_unconfigure(config): "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_ensure_copied_data[neither]": "TODO: Add a reason for failure", "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_ensure_copied_data[right]": "TODO: Add a reason for failure", "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_insert[data0]": "TODO: Add a reason for failure", - "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_length[both-breaks4]": "TODO: Add a reason for failure", - "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_length[left-breaks4]": "TODO: Add a reason for failure", - "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_length[neither-breaks4]": "TODO: Add a reason for failure", - "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_length[right-breaks4]": "TODO: Add a reason for failure", "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_maybe_convert_i8[datetime64[us, US/Eastern]]": "TypeError: Cannot interpret 'datetime64[us, US/Eastern]' as a data type", "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_maybe_convert_i8_errors[Interval-datetime64[us, US/Eastern]-datetime64[us]]": "TypeError: Cannot interpret 'datetime64[us, US/Eastern]' as a data type", "tests/indexes/interval/test_interval.py::TestIntervalIndex::test_maybe_convert_i8_errors[Interval-datetime64[us, US/Eastern]-timedelta64[us]]": "TypeError: Cannot interpret 'datetime64[us, US/Eastern]' as a data type", @@ -3001,7 +2967,6 @@ def pytest_unconfigure(config): "tests/indexes/numeric/test_numeric.py::TestIntNumericIndex::test_constructor[int16]": "TODO: Add a reason for failure", "tests/indexes/numeric/test_numeric.py::TestIntNumericIndex::test_constructor[int32]": "TODO: Add a reason for failure", "tests/indexes/numeric/test_numeric.py::TestIntNumericIndex::test_constructor[int64]": "TODO: Add a reason for failure", - "tests/indexes/period/test_constructors.py::TestPeriodIndex::test_constructor_fromarraylike": "TODO: Add a reason for failure", "tests/indexes/period/test_join.py::TestJoin::test_join_self[inner]": "TODO: Add a reason for failure", "tests/indexes/period/test_join.py::TestJoin::test_join_self[left]": "TODO: Add a reason for failure", "tests/indexes/period/test_join.py::TestJoin::test_join_self[outer]": "TODO: Add a reason for failure", @@ -5009,7 +4974,6 @@ def pytest_unconfigure(config): "tests/series/methods/test_round.py::TestSeriesRound::test_round_numpy_with_nan[Float64]": "TODO: Add a reason for failure", "tests/series/methods/test_sort_index.py::TestSeriesSortIndex::test_sort_index_na_position": "AssertionError: Series.index are different", "tests/series/methods/test_sort_index.py::TestSeriesSortIndexKey::test_sort_index_na_position_key[None]": "AssertionError: Series.index are different", - "tests/series/methods/test_sort_values.py::TestSeriesSortValues::test_sort_values_categorical": "TODO: Add a reason for failure", "tests/series/methods/test_truncate.py::TestTruncate::test_truncate_datetimeindex_tz": "AssertionError: Series.index are different", "tests/series/methods/test_tz_localize.py::TestTZLocalize::test_series_tz_localize_ambiguous_bool": "Failed: DID NOT RAISE ", "tests/series/methods/test_unique.py::TestUnique::test_tz_unique": "TypeError: Cannot interpret 'datetime64[us, US/Eastern]' as a data type", @@ -5598,6 +5562,9 @@ def pytest_unconfigure(config): "tests/apply/test_frame_apply.py::test_apply_empty_infer_type[python-1-True-mean-index]": "Asserts private APIs", "tests/arithmetic/test_datetime64.py::TestDatetime64OverflowHandling::test_datetimeindex_sub_datetimeindex_overflow": "Asserts private APIs", "tests/arithmetic/test_datetime64.py::TestDatetime64OverflowHandling::test_datetimeindex_sub_timestamp_overflow": "Asserts private APIs", + "tests/arithmetic/test_string.py::test_add[string=object]": "pandas xfails (reason: Need to update expected for numpy object dtype), but xpasses with cudf.pandas", + "tests/arithmetic/test_string.py::test_add_2d[string=str[pyarrow]]": "pandas xfails (reason: Failed: DID NOT RAISE ), but xpasses with cudf.pandas", + "tests/arithmetic/test_string.py::test_add_2d[string=string[pyarrow]]": "pandas xfails (reason: Failed: DID NOT RAISE ), but xpasses with cudf.pandas", "tests/arrays/boolean/test_construction.py::test_boolean_array_constructor_copy": "Asserts private APIs", "tests/arrays/boolean/test_construction.py::test_coerce_to_array": "Asserts private APIs", "tests/arrays/string_/test_string.py::test_memory_usage[string=str[python]]": "GPU/CPU memory_usage differs from sys.getsizeof", @@ -5702,7 +5669,24 @@ def pytest_unconfigure(config): "tests/extension/decimal/test_decimal.py::TestDecimalArray::test_getitem_series_integer_with_missing_raises[integer-array]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/decimal/test_decimal.py::test_array_copy_on_write": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/json/test_json.py::TestJSONArray::test_getitem_series_integer_with_missing_raises[integer-array]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[ns]-False-c-_NoDefault.no_default]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[ns]-False-c-pyarrow]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[ns]-False-python-_NoDefault.no_default]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[ns]-False-python-pyarrow]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[us]-False-c-_NoDefault.no_default]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[us]-False-c-pyarrow]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[us]-False-python-_NoDefault.no_default]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_EA_types[timestamp[us]-False-python-pyarrow]": "pandas xfails (reason: https://github.com/pandas-dev/pandas/issues/49767), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_accumulate_series[bool-cumsum-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_accumulate_series[bool-cumsum-True]": "pandas xfails (reason: cumsum not implemented for bool), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_frame_with_scalar[uint16-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint16), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_frame_with_scalar[uint32-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint32), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_frame_with_scalar[uint64-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint64), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_frame_with_scalar[uint8-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint8), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_series_with_scalar[uint16-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint16), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_series_with_scalar[uint32-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint32), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_series_with_scalar[uint64-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint64), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_arith_series_with_scalar[uint8-__rpow__]": "pandas xfails (reason: GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for uint8), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_compare_array[timestamp[ms]-eq]": "Flaky/order-dependent", "tests/extension/test_arrow.py::TestArrowArray::test_compare_array[timestamp[s]-eq]": "Flaky/order-dependent", "tests/extension/test_arrow.py::TestArrowArray::test_compare_array[timestamp[us]-eq]": "Flaky/order-dependent", @@ -5768,6 +5752,8 @@ def pytest_unconfigure(config): "tests/extension/test_arrow.py::TestArrowArray::test_memory_usage[uint32]": "GPU/CPU memory_usage differs from sys.getsizeof", "tests/extension/test_arrow.py::TestArrowArray::test_memory_usage[uint64]": "GPU/CPU memory_usage differs from sys.getsizeof", "tests/extension/test_arrow.py::TestArrowArray::test_memory_usage[uint8]": "GPU/CPU memory_usage differs from sys.getsizeof", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_boolean[string-all-False]": "pandas xfails (reason: all is not implemented in pyarrow=23.0.1 for string), but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_boolean[string-any-False]": "pandas xfails (reason: any is not implemented in pyarrow=23.0.1 for string), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[bool-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[bool-median-False]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[bool-skew-False]": "pandas xfails, but xpasses with cudf.pandas", @@ -5778,15 +5764,25 @@ def pytest_unconfigure(config): "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[decimal128(7, 3)-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[double-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[double-kurt-True]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[double-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[float-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[float-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int16-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int16-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int32-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int32-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int64-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int64-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int8-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[int8-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint16-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint16-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint32-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint32-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint64-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint64-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint8-kurt-False]": "pandas xfails, but xpasses with cudf.pandas", + "tests/extension/test_arrow.py::TestArrowArray::test_reduce_series_numeric[uint8-skew-True]": "pandas xfails (reason: https://github.com/apache/arrow/issues/45733), but xpasses with cudf.pandas", "tests/extension/test_arrow.py::TestArrowArray::test_series_constructor[binary]": "Asserts private APIs", "tests/extension/test_arrow.py::TestArrowArray::test_series_constructor[bool]": "Asserts private APIs", "tests/extension/test_arrow.py::TestArrowArray::test_series_constructor[date32[day]]": "Asserts private APIs", @@ -5860,10 +5856,19 @@ def pytest_unconfigure(config): "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_memory_usage[object]": "GPU/CPU memory_usage differs from sys.getsizeof", "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_series_constructor[float]": "Asserts private APIs", "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_series_constructor[object]": "Asserts private APIs", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_integer_array[object-True-list]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_integer_array[object-True-numpy-array]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_loc_iloc_slice[object]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_mask[object-True-numpy-array]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_mask_broadcast[object-None]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_mask_broadcast[object-loc]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_sequence_broadcasts[object-True]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", + "tests/extension/test_numpy.py::TestNumpyExtensionArray::test_setitem_slice[object-True]": "pandas xfails (reason: Fails for object dtype), but xpasses with cudf.pandas", "tests/extension/test_period.py::TestPeriodArray::test_getitem_series_integer_with_missing_raises[2D-integer-array]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_period.py::TestPeriodArray::test_getitem_series_integer_with_missing_raises[D-integer-array]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_period.py::TestPeriodArray::test_series_constructor[2D]": "Asserts private APIs", "tests/extension/test_period.py::TestPeriodArray::test_series_constructor[D]": "Asserts private APIs", + "tests/extension/test_sparse.py::TestSparseArray::test_fillna_length_mismatch[nan]": "pandas xfails (reason: Not Applicable), but xpasses with cudf.pandas", "tests/extension/test_sparse.py::TestSparseArray::test_getitem_series_integer_with_missing_raises[0-integer-array]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_sparse.py::TestSparseArray::test_getitem_series_integer_with_missing_raises[nan-integer-array]": "pandas xfails, but xpasses with cudf.pandas", "tests/extension/test_sparse.py::TestSparseArray::test_series_constructor[0]": "Asserts private APIs", @@ -5895,20 +5900,30 @@ def pytest_unconfigure(config): "tests/frame/indexing/test_indexing.py::TestDataFrameIndexing::test_iloc_ea_series_indexer_with_na": "Flaky xfails (TODO: Validate with pandas 3)", "tests/frame/indexing/test_indexing.py::TestDataFrameIndexing::test_type_error_multiindex": "Flaky xfails (TODO: Validate with pandas 3)", "tests/frame/methods/test_dot.py::TestSeriesDot::test_dot_2d_ndarray": "Flaky xfails (TODO: Validate with pandas 3)", + "tests/frame/methods/test_info.py::test_info_memory_usage_deep_pypy": "pandas xfails (reason: on PyPy deep=True does not change result), but xpasses with cudf.pandas", "tests/frame/methods/test_info.py::test_memory_usage_empty_no_warning": "GPU/CPU memory_usage differs from sys.getsizeof", "tests/frame/methods/test_sort_index.py::TestDataFrameSortIndex::test_sort_index": "Flaky xfails (TODO: Validate with pandas 3)", "tests/frame/methods/test_sort_index.py::TestDataFrameSortIndex::test_sort_index_inplace": "Flaky xfails (TODO: Validate with pandas 3)", + "tests/frame/test_query_eval.py::TestDataFrameEval::test_extension_array_eval[numexpr-pandas]": "pandas xfails (reason: numexpr does not support extension array dtypes), but xpasses with cudf.pandas", + "tests/frame/test_query_eval.py::TestDataFrameEval::test_extension_array_eval[numexpr-python]": "pandas xfails (reason: numexpr does not support extension array dtypes), but xpasses with cudf.pandas", + "tests/generic/test_finalize.py::test_categorical_accessor[method0]": "pandas xfails (reason: not implemented), but xpasses with cudf.pandas", + "tests/generic/test_finalize.py::test_categorical_accessor[method1]": "pandas xfails (reason: not implemented), but xpasses with cudf.pandas", + "tests/generic/test_finalize.py::test_categorical_accessor[method2]": "pandas xfails (reason: not implemented), but xpasses with cudf.pandas", + "tests/generic/test_finalize.py::test_categorical_accessor[method4]": "pandas xfails (reason: not implemented), but xpasses with cudf.pandas", + "tests/generic/test_finalize.py::test_categorical_accessor[method7]": "pandas xfails (reason: not implemented), but xpasses with cudf.pandas", + "tests/generic/test_finalize.py::test_categorical_accessor[method8]": "pandas xfails (reason: not implemented), but xpasses with cudf.pandas", + "tests/groupby/test_groupby.py::test_groupby_all_nan_groups_drop": "Flaky: intermittent AssertionError (https://github.com/rapidsai/cudf/issues/22681)", "tests/groupby/test_groupby.py::test_ops_not_as_index[idxmin]": "pandas xfails, but xpasses with cudf.pandas", "tests/groupby/test_groupby.py::test_single_element_list_grouping[selection2]": "Flaky xfails (TODO: Validate with pandas 3)", - "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[max]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[max-min_count]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", + "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[max]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[mean]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", - "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[min]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[min-min_count]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", + "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[min]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[std_0]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[std_1]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", - "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[sum]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[sum-min_count]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", + "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[sum]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[var_0]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/groupby/test_numba.py::TestEngine::test_as_index_false_unsupported[var_1]": "cuDF computes reductions on GPU without numba; pandas-specific limitation does not apply", "tests/indexes/datetimes/test_partial_slicing.py::TestSlicing::test_slice_month": "Flaky xfails (TODO: Validate with pandas 3)", @@ -6804,15 +6819,18 @@ def pytest_unconfigure(config): "tests/io/json/test_compression.py::test_with_s3_url[tar]": "Requires moto server running on http://localhost:5000", "tests/io/json/test_compression.py::test_with_s3_url[xz]": "Requires moto server running on http://localhost:5000", "tests/io/json/test_compression.py::test_with_s3_url[zip]": "Requires moto server running on http://localhost:5000", + "tests/io/json/test_readlines.py::test_readjson_unicode[pyarrow]": "pandas xfails (reason: Pyarrow only supports a file path as an input and line delimited jsonand doesn't support chunksize parameter.), but xpasses with cudf.pandas", "tests/io/parser/common/test_file_buffer_url.py::test_eof_states[pyarrow-escape-in-quoted-field]": "Crashes pytest workers (TODO: Validate on pandas 3)", "tests/io/parser/common/test_file_buffer_url.py::test_eof_states[pyarrow-escaped-char]": "Crashes pytest workers (TODO: Validate on pandas 3)", "tests/io/parser/common/test_file_buffer_url.py::test_eof_states[pyarrow-in-field]": "Crashes pytest workers (TODO: Validate on pandas 3)", "tests/io/parser/common/test_file_buffer_url.py::test_eof_states[pyarrow-in-quoted-field]": "Crashes pytest workers (TODO: Validate on pandas 3)", "tests/io/parser/common/test_file_buffer_url.py::test_eof_states[pyarrow-skip-line]": "Crashes pytest workers (TODO: Validate on pandas 3)", "tests/io/parser/common/test_file_buffer_url.py::test_eof_states[pyarrow-whitespace-line]": "Crashes pytest workers (TODO: Validate on pandas 3)", + "tests/io/parser/test_unsupported.py::test_invalid_file_inputs[python]": "pandas xfails (reason: python engine supports lists.), but xpasses with cudf.pandas", "tests/io/test_fsspec.py::test_s3_parquet": "Requires moto server running on http://localhost:5000", "tests/io/test_parquet.py::TestParquetFastParquet::test_s3_roundtrip": "Requires moto server running on http://localhost:5000", "tests/io/test_pickle.py::test_pickle_frame_v124_unpickle_130": "TODO: Add reason to skip (need to validate on pandas 3)", + "tests/plotting/test_datetimelike.py::TestTSPlot::test_add_matplotlib_datetime64": "pandas xfails (reason: GH9053 matplotlib does not use ax.xaxis.converter), but xpasses with cudf.pandas", "tests/reshape/merge/test_merge.py::TestMergeDtypes::test_merge_with_intc_columns": "Flaky/version-sensitive cudf.pandas dispatch", "tests/reshape/merge/test_merge.py::TestMergeDtypes::test_merge_with_uintc_columns": "Flaky/version-sensitive cudf.pandas dispatch", "tests/reshape/merge/test_multi.py::TestMergeMulti::test_merge_na_keys": "Flaky xfails (TODO: Validate with pandas 3)",