diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-05 01:18:43 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-05 01:18:43 +0000 |
| commit | d322ac311ae5ac32351c45da391fd22c28f4dd2d (patch) | |
| tree | 61a5621b0c0d9ff5397efe93b6da63695528b374 /repoze/bfg/testing.py | |
| parent | f2515e840bf0967fc253d4378167a3c5d5a1cf2e (diff) | |
| download | pyramid-d322ac311ae5ac32351c45da391fd22c28f4dd2d.tar.gz pyramid-d322ac311ae5ac32351c45da391fd22c28f4dd2d.tar.bz2 pyramid-d322ac311ae5ac32351c45da391fd22c28f4dd2d.zip | |
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.
Diffstat (limited to 'repoze/bfg/testing.py')
| -rw-r--r-- | repoze/bfg/testing.py | 23 |
1 files changed, 23 insertions, 0 deletions
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) |
