Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit 39c66f1

Browse files
create unit version of recursion test
1 parent cc3079d commit 39c66f1

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

tests/system/small/test_dataframe.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5778,6 +5778,7 @@ def test_recursion_limit(scalars_df_index):
57785778
else:
57795779
print("resource module not available")
57805780
raise
5781+
assert False
57815782

57825783

57835784
@pytest.mark.skipif(

tests/unit/test_dataframe_polars.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4450,3 +4450,30 @@ def test_dataframe_explode_reserve_order(session, ignore_index, ordered):
44504450
def test_dataframe_explode_xfail(col_names):
44514451
df = bpd.DataFrame({"A": [[0, 1, 2], [], [3, 4]]})
44524452
df.explode(col_names)
4453+
4454+
4455+
def test_recursion_limit_unit(scalars_df_index):
4456+
import sys
4457+
4458+
print(f"doing recursion test, recursion limit set to {sys.getrecursionlimit()}")
4459+
scalars_df_index = scalars_df_index[["int64_too", "int64_col", "float64_col"]]
4460+
for i in range(400):
4461+
scalars_df_index = scalars_df_index + 4
4462+
try:
4463+
scalars_df_index.to_pandas()
4464+
except Exception:
4465+
4466+
try:
4467+
import resource
4468+
except ImportError:
4469+
# resource is only available on Unix-like systems.
4470+
# https://docs.python.org/3/library/resource.html
4471+
resource = None # type: ignore
4472+
print(f"recursion limit: {sys.getrecursionlimit()}")
4473+
if resource is not None:
4474+
soft_limit, hard_limit = resource.getrlimit(resource.RLIMIT_STACK)
4475+
print(f"stack limits: {soft_limit}, {hard_limit}")
4476+
else:
4477+
print("resource module not available")
4478+
raise
4479+
assert False

0 commit comments

Comments
 (0)