From: Antoine Pitrou Date: Sat, 7 Mar 2015 23:15:05 +0000 (+0100) Subject: Issue #20876: correctly close temporary file in test.support.fs_is_case_insensitive() X-Git-Tag: v3.5.0a2~7^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e3207fe86b23254e6876b033acff36bdc66de7e0;p=python Issue #20876: correctly close temporary file in test.support.fs_is_case_insensitive() --- diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index 32b5687362..d223242a20 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -2133,16 +2133,15 @@ def skip_unless_xattr(test): def fs_is_case_insensitive(directory): """Detects if the file system for the specified directory is case-insensitive.""" - base_fp, base_path = tempfile.mkstemp(dir=directory) - case_path = base_path.upper() - if case_path == base_path: - case_path = base_path.lower() - try: - return os.path.samefile(base_path, case_path) - except FileNotFoundError: - return False - finally: - os.unlink(base_path) + with tempfile.NamedTemporaryFile(dir=directory) as base: + base_path = base.name + case_path = base_path.upper() + if case_path == base_path: + case_path = base_path.lower() + try: + return os.path.samefile(base_path, case_path) + except FileNotFoundError: + return False class SuppressCrashReport: