mirror of
https://github.com/python/cpython.git
synced 2026-02-02 04:32:34 +00:00
Closes #14158: We now track test_support.TESTFN cleanup, and test_mailbox uses shutil.rmtree for simpler code.
This commit is contained in:
parent
1bf6bb6c37
commit
da563bfa48
2 changed files with 20 additions and 7 deletions
|
|
@ -758,7 +758,9 @@ def __init__(self, testname, verbose=0, quiet=False):
|
|||
# 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 @@ def restore_asyncore_socket_map(self, saved_map):
|
|||
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('.', '_')
|
||||
|
|
|
|||
|
|
@ -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 _check_sample(self, msg):
|
|||
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)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue