diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 8a89a674be0..fae5fe55070 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -761,7 +761,7 @@ class saved_test_environment: # the corresponding method names. resources = ('sys.argv', 'cwd', 'sys.stdin', 'sys.stdout', 'sys.stderr', - 'os.environ', 'sys.path') + 'os.environ', 'sys.path', 'asyncore.socket_map') def get_sys_argv(self): return id(sys.argv), sys.argv, sys.argv[:] @@ -802,6 +802,15 @@ class saved_test_environment: sys.path = saved_path[1] sys.path[:] = saved_path[2] + def get_asyncore_socket_map(self): + asyncore = sys.modules.get('asyncore') + return asyncore and asyncore.socket_map or {} + def restore_asyncore_socket_map(self, saved_map): + asyncore = sys.modules.get('asyncore') + if asyncore is not None: + asyncore.socket_map.clear() + asyncore.socket_map.update(saved_map) + def resource_info(self): for name in self.resources: method_suffix = name.replace('.', '_')