This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Use tempfile.TemporaryDirectory in conform/glibcconform.py [committed]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Mon, 29 Oct 2018 17:50:01 +0000
- Subject: Use tempfile.TemporaryDirectory in conform/glibcconform.py [committed]
Now that we require Python 3.4 or later, Python code creating
temporary directories can use tempfile.TemporaryDirectory in "with" to
have the directory deleted automatically instead of needing to use
try/finally to handle removing a directory created with
tempfile.mkdtemp. This patch does so in conform/glibcconform.py.
Tested for x86_64. Committed.
2018-10-29 Joseph Myers <joseph@codesourcery.com>
* conform/glibcconform.py: Do not import shutil.
(list_exported_functions): Use tempfile.TemporaryDirectory instead
of mkdtemp.
diff --git a/conform/glibcconform.py b/conform/glibcconform.py
index 31ad4a9f9f..c1db46029d 100644
--- a/conform/glibcconform.py
+++ b/conform/glibcconform.py
@@ -19,7 +19,6 @@
import os.path
import re
-import shutil
import subprocess
import tempfile
@@ -43,11 +42,9 @@ def list_exported_functions(cc, standard, header):
"""
cc_all = '%s -D_ISOMAC %s' % (cc, CFLAGS[standard])
- # tempfile.TemporaryDirectory requires Python 3.2, so use mkdtemp.
- temp_dir = tempfile.mkdtemp()
- c_file_name = os.path.join(temp_dir, 'test.c')
- aux_file_name = os.path.join(temp_dir, 'test.c.aux')
- try:
+ with tempfile.TemporaryDirectory() as temp_dir:
+ c_file_name = os.path.join(temp_dir, 'test.c')
+ aux_file_name = os.path.join(temp_dir, 'test.c.aux')
with open(c_file_name, 'w') as c_file:
c_file.write('#include <%s>\n' % header)
fns = set()
@@ -72,6 +69,4 @@ def list_exported_functions(cc, standard, header):
else:
raise ValueError("couldn't parse -aux-info output: %s"
% line)
- finally:
- shutil.rmtree(temp_dir)
return fns
--
Joseph S. Myers
joseph@codesourcery.com