[Python-checkins] cpython (2.7): Closes #14158: We now track test_support.TESTFN cleanup, and test_mailbox uses

vinay.sajip python-checkins at python.org
Tue Mar 6 21:08:09 CET 2012


http://hg.python.org/cpython/rev/1112c2f602b3
changeset: 75460:1112c2f602b3
branch: 2.7
parent: 75436:cec6bb749616
user: Vinay Sajip <vinay_sajip at yahoo.co.uk>
date: Tue Mar 06 20:07:15 2012 +0000
summary:
 Closes #14158: We now track test_support.TESTFN cleanup, and test_mailbox uses shutil.rmtree for simpler code.
files:
 Lib/test/regrtest.py | 19 ++++++++++++++++++-
 Lib/test/test_mailbox.py | 8 ++------
 2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -758,7 +758,9 @@
 # the corresponding method names.
 
 resources = ('sys.argv', 'cwd', 'sys.stdin', 'sys.stdout', 'sys.stderr',
- 'os.environ', 'sys.path', 'asyncore.socket_map')
+ 'os.environ', 'sys.path', 'asyncore.socket_map',
+ 'test_support.TESTFN',
+ )
 
 def get_sys_argv(self):
 return id(sys.argv), sys.argv, sys.argv[:]
@@ -809,6 +811,21 @@
 asyncore.close_all(ignore_all=True)
 asyncore.socket_map.update(saved_map)
 
+ def get_test_support_TESTFN(self):
+ if os.path.isfile(test_support.TESTFN):
+ result = 'f'
+ elif os.path.isdir(test_support.TESTFN):
+ result = 'd'
+ else:
+ result = None
+ return result
+ def restore_test_support_TESTFN(self, saved_value):
+ if saved_value is None:
+ if os.path.isfile(test_support.TESTFN):
+ os.unlink(test_support.TESTFN)
+ elif os.path.isdir(test_support.TESTFN):
+ shutil.rmtree(test_support.TESTFN)
+
 def resource_info(self):
 for name in self.resources:
 method_suffix = name.replace('.', '_')
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py
--- a/Lib/test/test_mailbox.py
+++ b/Lib/test/test_mailbox.py
@@ -6,6 +6,7 @@
 import email
 import email.message
 import re
+import shutil
 import StringIO
 from test import test_support
 import unittest
@@ -38,12 +39,7 @@
 def _delete_recursively(self, target):
 # Delete a file or delete a directory recursively
 if os.path.isdir(target):
- for path, dirs, files in os.walk(target, topdown=False):
- for name in files:
- os.remove(os.path.join(path, name))
- for name in dirs:
- os.rmdir(os.path.join(path, name))
- os.rmdir(target)
+ shutil.rmtree(target)
 elif os.path.exists(target):
 os.remove(target)
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /