Skip to content

Commit 287ca88

Browse files
note spurious overflow for single elem td64 series
1 parent f0b34b0 commit 287ca88

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

pandas/tests/series/test_reductions.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def test_td64_summation_retains_ns_precision_over_expected_range(value: pd.Timed
6868
@given(
6969
st.integers(
7070
min_value=10 ** (np.finfo(np.float64).precision),
71-
max_value=pd.Timedelta.max.value,
71+
max_value=pd.Timedelta.max.value - 2**9,
7272
)
7373
.filter(lambda i: int(np.float64(i)) != i)
7474
.map(pd.Timedelta)
@@ -81,6 +81,20 @@ def test_td64_summation_loses_ns_precision_if_float_conversion_rounds(
8181
assert result != value
8282

8383

84+
@given(
85+
st.integers(
86+
min_value=pd.Timedelta.max.value - 2**9 + 1,
87+
max_value=pd.Timedelta.max.value,
88+
).map(pd.Timedelta)
89+
)
90+
def test_td64_summation_raises_spurious_overflow_error_for_single_elem_series_with_near_max_value(
91+
value: pd.Timedelta,
92+
):
93+
msg = "Python int too large to convert to C long"
94+
with pytest.raises(OverflowError, match=msg):
95+
pd.Series(value).sum()
96+
97+
8498
def test_td64_summation_overflow():
8599
# GH#9442
86100
ser = Series(pd.date_range("20130101", periods=100000, freq="H"))

0 commit comments

Comments
 (0)