summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÉric Araujo <merwok@netwok.org>2011-11-29 15:45:07 (GMT)
committerÉric Araujo <merwok@netwok.org>2011-11-29 15:45:07 (GMT)
commitff913061270d85f9f6a01a2bbbf74fe3852c89ba (patch)
tree54c58fc2c0a631b27fa354e09be8386353110226
parenta2b89e364f863d9dab51c32aefb934c511a19e55 (diff)
downloadcpython-ff913061270d85f9f6a01a2bbbf74fe3852c89ba.zip
cpython-ff913061270d85f9f6a01a2bbbf74fe3852c89ba.tar.gz
cpython-ff913061270d85f9f6a01a2bbbf74fe3852c89ba.tar.bz2
Add a regrtest cleanup check for shutil registries
-rwxr-xr-xLib/test/regrtest.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index cbbf1ca..c3d2a2b 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -165,6 +165,7 @@ import os
import platform
import random
import re
+import shutil
import sys
import sysconfig
import tempfile
@@ -887,6 +888,7 @@ class saved_test_environment:
'os.environ', 'sys.path', 'sys.path_hooks', '__import__',
'warnings.filters', 'asyncore.socket_map',
'logging._handlers', 'logging._handlerList',
+ 'shutil.archive_formats', 'shutil.unpack_formats',
'sys.warnoptions', 'threading._dangling',
'multiprocessing.process._dangling')
@@ -956,6 +958,23 @@ class saved_test_environment:
asyncore.close_all(ignore_all=True)
asyncore.socket_map.update(saved_map)
+ def get_shutil_archive_formats(self):
+ # we could call get_archives_formats() but that only returns the
+ # registry keys; we want to check the values too (the functions that
+ # are registered)
+ return shutil._ARCHIVE_FORMATS, shutil._ARCHIVE_FORMATS.copy()
+ def restore_shutil_archive_formats(self, saved):
+ shutil._ARCHIVE_FORMATS = saved[0]
+ shutil._ARCHIVE_FORMATS.clear()
+ shutil._ARCHIVE_FORMATS.update(saved[1])
+
+ def get_shutil_unpack_formats(self):
+ return shutil._UNPACK_FORMATS, shutil._UNPACK_FORMATS.copy()
+ def restore_shutil_unpack_formats(self, saved):
+ shutil._UNPACK_FORMATS = saved[0]
+ shutil._UNPACK_FORMATS.clear()
+ shutil._UNPACK_FORMATS.update(saved[1])
+
def get_logging__handlers(self):
# _handlers is a WeakValueDictionary
return id(logging._handlers), logging._handlers, logging._handlers.copy()