]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use tempfile.TemporaryDirectory in conform/glibcconform.py.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 29 Oct 2018 17:49:07 +0000 (17:49 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 29 Oct 2018 17:49:07 +0000 (17:49 +0000)
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.

* conform/glibcconform.py: Do not import shutil.
(list_exported_functions): Use tempfile.TemporaryDirectory instead
of mkdtemp.

ChangeLog
conform/glibcconform.py

index dc267e2d4d317a6a6791f349f5e9448e0af7897a..944d8faaad6147554273deacef83189eb65238d6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
 
+       * conform/glibcconform.py: Do not import shutil.
+       (list_exported_functions): Use tempfile.TemporaryDirectory instead
+       of mkdtemp.
+
        * configure.ac (PYTHON_PROG): Use AC_CHECK_PROG_VER.  Set
        critic_missing for versions before 3.4.
        * configure: Regenerated.
index 31ad4a9f9f52d558d2f1750675a12fb9bc9abb04..c1db46029dc98f32ab58c01cd9cda302b68c87c4 100644 (file)
@@ -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