This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]