Skip to content

Commit 9402aaf

Browse files
jorisvandenbosschemroeschke
authored andcommitted
TST (string dtype): xfail all currently failing tests with future.infer_string (#59329)
* TST (string dtype): xfail all currently failing tests with future.infer_string * more xfails * more xfails * add missing strict=False * also run slow and single cpu tests * fix single_cpu tests * xfail some slow tests * stop suppressing non-zero exit code from pytest on string CI build * remove accidentally added xlsx file --------- Co-authored-by: Matthew Roeschke <[email protected]>
1 parent 253169a commit 9402aaf

File tree

131 files changed

+540
-23
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+540
-23
lines changed

.github/workflows/unit-tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ jobs:
8787
pandas_copy_on_write: "warn"
8888
- name: "Future infer strings"
8989
env_file: actions-311.yaml
90-
pattern: "not slow and not network and not single_cpu"
9190
pandas_future_infer_string: "1"
9291
- name: "Pypy"
9392
env_file: actions-pypy-39.yaml

ci/run_tests.sh

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,5 @@ if [[ "$PATTERN" ]]; then
1616
PYTEST_CMD="$PYTEST_CMD -m \"$PATTERN\""
1717
fi
1818

19-
# temporarily let pytest always succeed (many tests are not yet passing in the
20-
# build enabling the future string dtype)
21-
if [[ "$PANDAS_FUTURE_INFER_STRING" == "1" ]]; then
22-
PYTEST_CMD="$PYTEST_CMD || true"
23-
fi
24-
2519
echo $PYTEST_CMD
2620
sh -c "$PYTEST_CMD"

pandas/tests/apply/test_frame_apply.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import numpy as np
55
import pytest
66

7+
from pandas._config import using_string_dtype
8+
79
from pandas.core.dtypes.dtypes import CategoricalDtype
810

911
import pandas as pd
@@ -61,6 +63,7 @@ def test_apply(float_frame, engine, request):
6163
assert result.index is float_frame.index
6264

6365

66+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)", strict=False)
6467
@pytest.mark.parametrize("axis", [0, 1])
6568
@pytest.mark.parametrize("raw", [True, False])
6669
def test_apply_args(float_frame, axis, raw, engine, request):
@@ -1169,6 +1172,7 @@ def test_agg_with_name_as_column_name():
11691172
tm.assert_series_equal(result, expected)
11701173

11711174

1175+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)")
11721176
def test_agg_multiple_mixed():
11731177
# GH 20909
11741178
mdf = DataFrame(
@@ -1286,6 +1290,7 @@ def test_agg_reduce(axis, float_frame):
12861290
tm.assert_frame_equal(result, expected)
12871291

12881292

1293+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)")
12891294
def test_nuiscance_columns():
12901295
# GH 15015
12911296
df = DataFrame(
@@ -1462,6 +1467,7 @@ def test_apply_datetime_tz_issue(engine, request):
14621467
tm.assert_series_equal(result, expected)
14631468

14641469

1470+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)", strict=False)
14651471
@pytest.mark.parametrize("df", [DataFrame({"A": ["a", None], "B": ["c", "d"]})])
14661472
@pytest.mark.parametrize("method", ["min", "max", "sum"])
14671473
def test_mixed_column_raises(df, method, using_infer_string):

pandas/tests/apply/test_numba.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import numpy as np
22
import pytest
33

4+
from pandas._config import using_string_dtype
5+
46
import pandas.util._test_decorators as td
57

68
from pandas import (
@@ -17,6 +19,7 @@ def apply_axis(request):
1719
return request.param
1820

1921

22+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)")
2023
def test_numba_vs_python_noop(float_frame, apply_axis):
2124
func = lambda x: x
2225
result = float_frame.apply(func, engine="numba", axis=apply_axis)
@@ -40,6 +43,7 @@ def test_numba_vs_python_string_index():
4043
)
4144

4245

46+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)")
4347
def test_numba_vs_python_indexing():
4448
frame = DataFrame(
4549
{"a": [1, 2, 3], "b": [4, 5, 6], "c": [7.0, 8.0, 9.0]},

pandas/tests/apply/test_str.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import numpy as np
55
import pytest
66

7+
from pandas._config import using_string_dtype
8+
79
from pandas.core.dtypes.common import is_number
810

911
from pandas import (
@@ -86,6 +88,7 @@ def test_apply_np_transformer(float_frame, op, how):
8688
tm.assert_frame_equal(result, expected)
8789

8890

91+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)", strict=False)
8992
@pytest.mark.parametrize(
9093
"series, func, expected",
9194
chain(
@@ -144,6 +147,7 @@ def test_agg_cython_table_series(series, func, expected):
144147
assert result == expected
145148

146149

150+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)", strict=False)
147151
@pytest.mark.parametrize(
148152
"series, func, expected",
149153
chain(

pandas/tests/arrays/categorical/test_analytics.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import numpy as np
55
import pytest
66

7+
from pandas._config import using_string_dtype
8+
79
from pandas.compat import PYPY
810

911
from pandas import (
@@ -296,6 +298,7 @@ def test_nbytes(self):
296298
exp = 3 + 3 * 8 # 3 int8s for values + 3 int64s for categories
297299
assert cat.nbytes == exp
298300

301+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)")
299302
def test_memory_usage(self):
300303
cat = Categorical([1, 2, 3])
301304

pandas/tests/arrays/categorical/test_api.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import numpy as np
44
import pytest
55

6+
from pandas._config import using_string_dtype
7+
68
from pandas.compat import PY311
79

810
from pandas import (
@@ -156,6 +158,7 @@ def test_reorder_categories_raises(self, new_categories):
156158
with pytest.raises(ValueError, match=msg):
157159
cat.reorder_categories(new_categories)
158160

161+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)")
159162
def test_add_categories(self):
160163
cat = Categorical(["a", "b", "c", "a"], ordered=True)
161164
old = cat.copy()

pandas/tests/arrays/categorical/test_constructors.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,7 @@ def test_interval(self):
743743
tm.assert_numpy_array_equal(cat.codes, expected_codes)
744744
tm.assert_index_equal(cat.categories, idx)
745745

746+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)")
746747
def test_categorical_extension_array_nullable(self, nulls_fixture):
747748
# GH:
748749
arr = pd.arrays.StringArray._from_sequence(

pandas/tests/arrays/floating/test_arithmetic.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import numpy as np
44
import pytest
55

6+
from pandas._config import using_string_dtype
7+
68
import pandas as pd
79
import pandas._testing as tm
810
from pandas.core.arrays import FloatingArray
@@ -122,6 +124,7 @@ def test_arith_zero_dim_ndarray(other):
122124
# -----------------------------------------------------------------------------
123125

124126

127+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)", strict=False)
125128
def test_error_invalid_values(data, all_arithmetic_operators, using_infer_string):
126129
op = all_arithmetic_operators
127130
s = pd.Series(data)

pandas/tests/arrays/integer/test_arithmetic.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import numpy as np
44
import pytest
55

6+
from pandas._config import using_string_dtype
7+
68
import pandas as pd
79
import pandas._testing as tm
810
from pandas.core import ops
@@ -172,6 +174,7 @@ def test_numpy_zero_dim_ndarray(other):
172174
# -----------------------------------------------------------------------------
173175

174176

177+
@pytest.mark.xfail(using_string_dtype(), reason="TODO(infer_string)", strict=False)
175178
def test_error_invalid_values(data, all_arithmetic_operators, using_infer_string):
176179
op = all_arithmetic_operators
177180
s = pd.Series(data)

0 commit comments

Comments
 (0)