From d322ac311ae5ac32351c45da391fd22c28f4dd2d Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Tue, 5 May 2009 01:18:43 +0000 Subject: Get rid of direct dependency on zope.testing by creating our own addCleanUp and cleanUp functions in repoze.bfg.testing. Our dependencies still rely on zope.testing, however. --- repoze/bfg/testing.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'repoze/bfg/testing.py') diff --git a/repoze/bfg/testing.py b/repoze/bfg/testing.py index 924f2602a..42d5e88fd 100644 --- a/repoze/bfg/testing.py +++ b/repoze/bfg/testing.py @@ -371,3 +371,26 @@ class DummyRequest: self.marshalled = params # repoze.monty self.__dict__.update(kw) +_cleanups = [] + +def addCleanUp(func, args=(), kw={}): + """Register a cleanup routines + + Pass a function to be called to cleanup global data. + Optional argument tuple and keyword arguments may be passed. + """ + _cleanups.append((func, args, kw)) + +def cleanUp(): + """Clean up global data.""" + for func, args, kw in _cleanups: + func(*args, **kw) + +from zope.component.globalregistry import base +from zope.configuration.xmlconfig import _clearContext +from repoze.bfg.registry import original_getSiteManager +from repoze.bfg.registry import registry_manager +addCleanUp(original_getSiteManager.reset) +addCleanUp(registry_manager.clear) +addCleanUp(lambda: base.__init__('base')) +addCleanUp(_clearContext) -- cgit v1.2.3