diff mbox series

Use tempfile.TemporaryDirectory in conform/glibcconform.py [committed]

Message ID alpine.DEB.2.21.1810291749350.25705@digraph.polyomino.org.uk
State New
Headers show
Series Use tempfile.TemporaryDirectory in conform/glibcconform.py [committed] | expand

Commit Message

Joseph Myers Oct. 29, 2018, 5:50 p.m. UTC
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 mbox series

Patch

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