Skip to content

Commit 0c3dd06

Browse files
authored
CLN/TST: Remove ensure_clean_dir for tmp_dir fixture (pandas-dev#48899)
1 parent 8dd114f commit 0c3dd06

File tree

6 files changed

+80
-115
lines changed

6 files changed

+80
-115
lines changed

pandas/_testing/__init__.py

-2
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@
102102
RNGContext,
103103
decompress_file,
104104
ensure_clean,
105-
ensure_clean_dir,
106105
ensure_safe_environment_variables,
107106
set_timezone,
108107
use_numexpr,
@@ -1087,7 +1086,6 @@ def shares_memory(left, right) -> bool:
10871086
"EMPTY_STRING_PATTERN",
10881087
"ENDIAN",
10891088
"ensure_clean",
1090-
"ensure_clean_dir",
10911089
"ensure_safe_environment_variables",
10921090
"equalContents",
10931091
"external_error_raised",

pandas/_testing/contexts.py

-20
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from contextlib import contextmanager
44
import os
55
from pathlib import Path
6-
from shutil import rmtree
76
import tempfile
87
from types import TracebackType
98
from typing import (
@@ -129,25 +128,6 @@ def ensure_clean(
129128
path.unlink()
130129

131130

132-
@contextmanager
133-
def ensure_clean_dir() -> Generator[str, None, None]:
134-
"""
135-
Get a temporary directory path and agrees to remove on close.
136-
137-
Yields
138-
------
139-
Temporary directory path
140-
"""
141-
directory_name = tempfile.mkdtemp(suffix="")
142-
try:
143-
yield directory_name
144-
finally:
145-
try:
146-
rmtree(directory_name)
147-
except OSError:
148-
pass
149-
150-
151131
@contextmanager
152132
def ensure_safe_environment_variables() -> Generator[None, None, None]:
153133
"""

pandas/tests/io/formats/test_to_csv.py

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import io
22
import os
3-
from pathlib import Path
43
import sys
54
from zipfile import ZipFile
65

@@ -614,16 +613,15 @@ def test_to_csv_zip_arguments(self, compression, archive_name):
614613
("archive.zip", "archive"),
615614
],
616615
)
617-
def test_to_csv_zip_infer_name(self, filename, expected_arcname):
616+
def test_to_csv_zip_infer_name(self, tmp_path, filename, expected_arcname):
618617
# GH 39465
619618
df = DataFrame({"ABC": [1]})
620-
with tm.ensure_clean_dir() as dir:
621-
path = Path(dir, filename)
622-
df.to_csv(path, compression="zip")
623-
with ZipFile(path) as zp:
624-
assert len(zp.filelist) == 1
625-
archived_file = zp.filelist[0].filename
626-
assert archived_file == expected_arcname
619+
path = tmp_path / filename
620+
df.to_csv(path, compression="zip")
621+
with ZipFile(path) as zp:
622+
assert len(zp.filelist) == 1
623+
archived_file = zp.filelist[0].filename
624+
assert archived_file == expected_arcname
627625

628626
@pytest.mark.parametrize("df_new_type", ["Int64"])
629627
def test_to_csv_na_rep_long_string(self, df_new_type):

pandas/tests/io/test_compression.py

+15-16
Original file line numberDiff line numberDiff line change
@@ -298,22 +298,21 @@ def test_ambiguous_archive_zip():
298298
pd.read_csv(path)
299299

300300

301-
def test_ambiguous_archive_tar():
302-
with tm.ensure_clean_dir() as dir:
303-
csvAPath = os.path.join(dir, "a.csv")
304-
with open(csvAPath, "w") as a:
305-
a.write("foo,bar\n")
306-
csvBPath = os.path.join(dir, "b.csv")
307-
with open(csvBPath, "w") as b:
308-
b.write("foo,bar\n")
309-
310-
tarpath = os.path.join(dir, "archive.tar")
311-
with tarfile.TarFile(tarpath, "w") as tar:
312-
tar.add(csvAPath, "a.csv")
313-
tar.add(csvBPath, "b.csv")
314-
315-
with pytest.raises(ValueError, match="Multiple files found in TAR archive"):
316-
pd.read_csv(tarpath)
301+
def test_ambiguous_archive_tar(tmp_path):
302+
csvAPath = tmp_path / "a.csv"
303+
with open(csvAPath, "w") as a:
304+
a.write("foo,bar\n")
305+
csvBPath = tmp_path / "b.csv"
306+
with open(csvBPath, "w") as b:
307+
b.write("foo,bar\n")
308+
309+
tarpath = tmp_path / "archive.tar"
310+
with tarfile.TarFile(tarpath, "w") as tar:
311+
tar.add(csvAPath, "a.csv")
312+
tar.add(csvBPath, "b.csv")
313+
314+
with pytest.raises(ValueError, match="Multiple files found in TAR archive"):
315+
pd.read_csv(tarpath)
317316

318317

319318
def test_tar_gz_to_different_filename():

pandas/tests/io/test_parquet.py

+58-61
Original file line numberDiff line numberDiff line change
@@ -879,37 +879,36 @@ def test_expand_user(self, df_compat, monkeypatch):
879879
with pytest.raises(OSError, match=r".*TestingUser.*"):
880880
df_compat.to_parquet("~/file.parquet")
881881

882-
def test_partition_cols_supported(self, pa, df_full):
882+
def test_partition_cols_supported(self, tmp_path, pa, df_full):
883883
# GH #23283
884884
partition_cols = ["bool", "int"]
885885
df = df_full
886-
with tm.ensure_clean_dir() as path:
887-
df.to_parquet(path, partition_cols=partition_cols, compression=None)
888-
check_partition_names(path, partition_cols)
889-
assert read_parquet(path).shape == df.shape
886+
df.to_parquet(tmp_path, partition_cols=partition_cols, compression=None)
887+
check_partition_names(tmp_path, partition_cols)
888+
assert read_parquet(tmp_path).shape == df.shape
890889

891-
def test_partition_cols_string(self, pa, df_full):
890+
def test_partition_cols_string(self, tmp_path, pa, df_full):
892891
# GH #27117
893892
partition_cols = "bool"
894893
partition_cols_list = [partition_cols]
895894
df = df_full
896-
with tm.ensure_clean_dir() as path:
897-
df.to_parquet(path, partition_cols=partition_cols, compression=None)
898-
check_partition_names(path, partition_cols_list)
899-
assert read_parquet(path).shape == df.shape
895+
df.to_parquet(tmp_path, partition_cols=partition_cols, compression=None)
896+
check_partition_names(tmp_path, partition_cols_list)
897+
assert read_parquet(tmp_path).shape == df.shape
900898

901-
@pytest.mark.parametrize("path_type", [str, pathlib.Path])
902-
def test_partition_cols_pathlib(self, pa, df_compat, path_type):
899+
@pytest.mark.parametrize(
900+
"path_type", [str, lambda x: x], ids=["string", "pathlib.Path"]
901+
)
902+
def test_partition_cols_pathlib(self, tmp_path, pa, df_compat, path_type):
903903
# GH 35902
904904

905905
partition_cols = "B"
906906
partition_cols_list = [partition_cols]
907907
df = df_compat
908908

909-
with tm.ensure_clean_dir() as path_str:
910-
path = path_type(path_str)
911-
df.to_parquet(path, partition_cols=partition_cols_list)
912-
assert read_parquet(path).shape == df.shape
909+
path = path_type(tmp_path)
910+
df.to_parquet(path, partition_cols=partition_cols_list)
911+
assert read_parquet(path).shape == df.shape
913912

914913
def test_empty_dataframe(self, pa):
915914
# GH #27339
@@ -1082,58 +1081,57 @@ def test_s3_roundtrip(self, df_compat, s3_resource, fp, s3so):
10821081
write_kwargs={"compression": None, "storage_options": s3so},
10831082
)
10841083

1085-
def test_partition_cols_supported(self, fp, df_full):
1084+
def test_partition_cols_supported(self, tmp_path, fp, df_full):
10861085
# GH #23283
10871086
partition_cols = ["bool", "int"]
10881087
df = df_full
1089-
with tm.ensure_clean_dir() as path:
1090-
df.to_parquet(
1091-
path,
1092-
engine="fastparquet",
1093-
partition_cols=partition_cols,
1094-
compression=None,
1095-
)
1096-
assert os.path.exists(path)
1097-
import fastparquet
1088+
df.to_parquet(
1089+
tmp_path,
1090+
engine="fastparquet",
1091+
partition_cols=partition_cols,
1092+
compression=None,
1093+
)
1094+
assert os.path.exists(tmp_path)
1095+
import fastparquet
10981096

1099-
actual_partition_cols = fastparquet.ParquetFile(path, False).cats
1100-
assert len(actual_partition_cols) == 2
1097+
actual_partition_cols = fastparquet.ParquetFile(str(tmp_path), False).cats
1098+
assert len(actual_partition_cols) == 2
11011099

1102-
def test_partition_cols_string(self, fp, df_full):
1100+
def test_partition_cols_string(self, tmp_path, fp, df_full):
11031101
# GH #27117
11041102
partition_cols = "bool"
11051103
df = df_full
1106-
with tm.ensure_clean_dir() as path:
1107-
df.to_parquet(
1108-
path,
1109-
engine="fastparquet",
1110-
partition_cols=partition_cols,
1111-
compression=None,
1112-
)
1113-
assert os.path.exists(path)
1114-
import fastparquet
1104+
df.to_parquet(
1105+
tmp_path,
1106+
engine="fastparquet",
1107+
partition_cols=partition_cols,
1108+
compression=None,
1109+
)
1110+
assert os.path.exists(tmp_path)
1111+
import fastparquet
11151112

1116-
actual_partition_cols = fastparquet.ParquetFile(path, False).cats
1117-
assert len(actual_partition_cols) == 1
1113+
actual_partition_cols = fastparquet.ParquetFile(str(tmp_path), False).cats
1114+
assert len(actual_partition_cols) == 1
11181115

1119-
def test_partition_on_supported(self, fp, df_full):
1116+
def test_partition_on_supported(self, tmp_path, fp, df_full):
11201117
# GH #23283
11211118
partition_cols = ["bool", "int"]
11221119
df = df_full
1123-
with tm.ensure_clean_dir() as path:
1124-
df.to_parquet(
1125-
path,
1126-
engine="fastparquet",
1127-
compression=None,
1128-
partition_on=partition_cols,
1129-
)
1130-
assert os.path.exists(path)
1131-
import fastparquet
1120+
df.to_parquet(
1121+
tmp_path,
1122+
engine="fastparquet",
1123+
compression=None,
1124+
partition_on=partition_cols,
1125+
)
1126+
assert os.path.exists(tmp_path)
1127+
import fastparquet
11321128

1133-
actual_partition_cols = fastparquet.ParquetFile(path, False).cats
1134-
assert len(actual_partition_cols) == 2
1129+
actual_partition_cols = fastparquet.ParquetFile(str(tmp_path), False).cats
1130+
assert len(actual_partition_cols) == 2
11351131

1136-
def test_error_on_using_partition_cols_and_partition_on(self, fp, df_full):
1132+
def test_error_on_using_partition_cols_and_partition_on(
1133+
self, tmp_path, fp, df_full
1134+
):
11371135
# GH #23283
11381136
partition_cols = ["bool", "int"]
11391137
df = df_full
@@ -1142,14 +1140,13 @@ def test_error_on_using_partition_cols_and_partition_on(self, fp, df_full):
11421140
"partitioning data"
11431141
)
11441142
with pytest.raises(ValueError, match=msg):
1145-
with tm.ensure_clean_dir() as path:
1146-
df.to_parquet(
1147-
path,
1148-
engine="fastparquet",
1149-
compression=None,
1150-
partition_on=partition_cols,
1151-
partition_cols=partition_cols,
1152-
)
1143+
df.to_parquet(
1144+
tmp_path,
1145+
engine="fastparquet",
1146+
compression=None,
1147+
partition_on=partition_cols,
1148+
partition_cols=partition_cols,
1149+
)
11531150

11541151
def test_empty_dataframe(self, fp):
11551152
# GH #27339

pandas/tests/util/test_util.py

-7
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,6 @@ def test_convert_rows_list_to_csv_str():
4444
assert ret == expected
4545

4646

47-
def test_create_temp_directory():
48-
with tm.ensure_clean_dir() as path:
49-
assert os.path.exists(path)
50-
assert os.path.isdir(path)
51-
assert not os.path.exists(path)
52-
53-
5447
@pytest.mark.parametrize("strict_data_files", [True, False])
5548
def test_datapath_missing(datapath):
5649
with pytest.raises(ValueError, match="Could not find file"):

0 commit comments

Comments
 (0)