Skip to content

Commit 05394cd

Browse files
mbyrnepr2vstinner
andcommitted
Use code-review suggestions.
Co-authored-by: Victor Stinner <vstinner@python.org>
1 parent ace2952 commit 05394cd

2 files changed

Lines changed: 39 additions & 20 deletions

File tree

‎Lib/tempfile.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,14 @@ def _sanitize_params(prefix, suffix, dir):
120120
if suffix is None:
121121
suffix = output_type()
122122
if _os.path.dirname(suffix):
123-
raise ValueError("'prefix' or 'suffix' can't contain a directory component")
123+
raise ValueError("'suffix' can't contain a directory component")
124124
if prefix is None:
125125
if output_type is str:
126126
prefix = template
127127
else:
128128
prefix = _os.fsencode(template)
129129
if _os.path.dirname(prefix):
130-
raise ValueError("'prefix' or 'suffix' can't contain a directory component")
130+
raise ValueError("'prefix' can't contain a directory component")
131131
if dir is None:
132132
if output_type is str:
133133
dir = gettempdir()

‎Lib/test/test_tempfile.py‎

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2156,28 +2156,47 @@ def test_cleanup_safe(self):
21562156

21572157

21582158
class TestPrefixAndSuffix(BaseTestCase):
2159-
def test_value_error_if_prefix_or_suffix_contains_directory(self):
2160-
MESSAGE = "'prefix' or 'suffix' can't contain a directory component"
2161-
2162-
if os.altsep is None:
2163-
data = (
2164-
((os.sep), None),
2165-
(os.fsencode(os.sep), tempfile.gettempdirb()),
2166-
)
2167-
else:
2168-
data = (
2169-
((os.altsep), None),
2170-
(os.fsencode(os.altsep), tempfile.gettempdirb()),
2171-
)
2159+
DATA = (
2160+
f"dir{os.sep}name",
2161+
f"{os.sep}abs_name",
2162+
os.fsencode(f"dir{os.sep}name"),
2163+
os.fsencode(f"{os.sep}abs_name"),
2164+
)
2165+
if os.altsep is not None:
2166+
DATA += (
2167+
f"dir{os.altsep}name",
2168+
f"{os.altsep}abs_name",
2169+
os.fsencode(f"dir{os.altsep}name"),
2170+
os.fsencode(f"{os.altsep}abs_name"),
2171+
)
2172+
2173+
def test_prefix_error(self):
2174+
MESSAGE = "'prefix' can't contain a directory component"
2175+
2176+
for value in self.DATA:
2177+
with self.subTest((value)):
2178+
with self.assertRaisesRegex(ValueError, MESSAGE):
2179+
tempfile.mkstemp(prefix=value)
2180+
with self.assertRaisesRegex(ValueError, MESSAGE):
2181+
os.rmdir(tempfile.mkdtemp(prefix=value))
2182+
with self.assertRaisesRegex(ValueError, MESSAGE):
2183+
tempfile.TemporaryFile(prefix=value)
2184+
with self.assertRaisesRegex(ValueError, MESSAGE):
2185+
tempfile.NamedTemporaryFile(prefix=value)
21722186

2173-
for value, directory in data:
2174-
with self.subTest((value, directory)):
2187+
def test_suffix_error(self):
2188+
MESSAGE = "'suffix' can't contain a directory component"
2189+
2190+
for value in self.DATA:
2191+
with self.subTest((value)):
2192+
with self.assertRaisesRegex(ValueError, MESSAGE):
2193+
tempfile.mkstemp(suffix=value)
21752194
with self.assertRaisesRegex(ValueError, MESSAGE):
2176-
tempfile.mkstemp(dir=directory, prefix=value)
2195+
os.rmdir(tempfile.mkdtemp(suffix=value))
21772196
with self.assertRaisesRegex(ValueError, MESSAGE):
2178-
os.rmdir(tempfile.mkdtemp(dir=directory, prefix=value))
2197+
tempfile.TemporaryFile(suffix=value)
21792198
with self.assertRaisesRegex(ValueError, MESSAGE):
2180-
tempfile.NamedTemporaryFile(dir=directory, prefix=value, delete=True)
2199+
tempfile.NamedTemporaryFile(suffix=value)
21812200

21822201

21832202
if __name__ == "__main__":

0 commit comments

Comments
 (0)