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 | |
| 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.
| -rw-r--r-- | repoze/bfg/paster_templates/starter/+package+/tests.py_tmpl | 9 | ||||
| -rw-r--r-- | repoze/bfg/paster_templates/zodb/+package+/tests.py_tmpl | 9 | ||||
| -rw-r--r-- | repoze/bfg/registry.py | 7 | ||||
| -rw-r--r-- | repoze/bfg/testing.py | 23 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_text.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_chameleon_zpt.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_integration.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_push.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_registry.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_router.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_security.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_template.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_templating.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_testing.py | 37 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_traversal.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_url.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_view.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_zcml.py | 2 | ||||
| -rw-r--r-- | setup.py | 3 |
19 files changed, 81 insertions, 33 deletions
diff --git a/repoze/bfg/paster_templates/starter/+package+/tests.py_tmpl b/repoze/bfg/paster_templates/starter/+package+/tests.py_tmpl index 47524f344..c52ab2762 100644 --- a/repoze/bfg/paster_templates/starter/+package+/tests.py_tmpl +++ b/repoze/bfg/paster_templates/starter/+package+/tests.py_tmpl @@ -1,6 +1,5 @@ import unittest -from zope.testing.cleanup import cleanUp from repoze.bfg import testing class ViewTests(unittest.TestCase): @@ -14,13 +13,13 @@ class ViewTests(unittest.TestCase): """ cleanUp() is required to clear out the application registry between tests (done in setUp for good measure too) """ - cleanUp() + testing.cleanUp() def tearDown(self): """ cleanUp() is required to clear out the application registry between tests """ - cleanUp() + testing.cleanUp() def test_my_view(self): from {{package}}.views import my_view @@ -48,7 +47,7 @@ class ViewIntegrationTests(unittest.TestCase): registrations your application declares in its configure.zcml (including dependent registrations for repoze.bfg itself). """ - cleanUp() + testing.cleanUp() import {{package}} import zope.configuration.xmlconfig zope.configuration.xmlconfig.file('configure.zcml', @@ -56,7 +55,7 @@ class ViewIntegrationTests(unittest.TestCase): def tearDown(self): """ Clear out the application registry """ - cleanUp() + testing.cleanUp() def test_my_view(self): from {{package}}.views import my_view diff --git a/repoze/bfg/paster_templates/zodb/+package+/tests.py_tmpl b/repoze/bfg/paster_templates/zodb/+package+/tests.py_tmpl index 47524f344..c52ab2762 100644 --- a/repoze/bfg/paster_templates/zodb/+package+/tests.py_tmpl +++ b/repoze/bfg/paster_templates/zodb/+package+/tests.py_tmpl @@ -1,6 +1,5 @@ import unittest -from zope.testing.cleanup import cleanUp from repoze.bfg import testing class ViewTests(unittest.TestCase): @@ -14,13 +13,13 @@ class ViewTests(unittest.TestCase): """ cleanUp() is required to clear out the application registry between tests (done in setUp for good measure too) """ - cleanUp() + testing.cleanUp() def tearDown(self): """ cleanUp() is required to clear out the application registry between tests """ - cleanUp() + testing.cleanUp() def test_my_view(self): from {{package}}.views import my_view @@ -48,7 +47,7 @@ class ViewIntegrationTests(unittest.TestCase): registrations your application declares in its configure.zcml (including dependent registrations for repoze.bfg itself). """ - cleanUp() + testing.cleanUp() import {{package}} import zope.configuration.xmlconfig zope.configuration.xmlconfig.file('configure.zcml', @@ -56,7 +55,7 @@ class ViewIntegrationTests(unittest.TestCase): def tearDown(self): """ Clear out the application registry """ - cleanUp() + testing.cleanUp() def test_my_view(self): from {{package}}.views import my_view diff --git a/repoze/bfg/registry.py b/repoze/bfg/registry.py index acf947fdb..5d856ca19 100644 --- a/repoze/bfg/registry.py +++ b/repoze/bfg/registry.py @@ -114,10 +114,3 @@ def getSiteManager(context=None): except TypeError, error: raise ComponentLookupError(*error.args) -try: - from zope.testing.cleanup import addCleanUp -except ImportError: #pragma NO COVERAGE - """ Do nothing """ #pragma NO COVERAGE doesnt work w/ 'pass' :-( -else: - addCleanUp(original_getSiteManager.reset) - addCleanUp(registry_manager.clear) 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) diff --git a/repoze/bfg/tests/test_chameleon_text.py b/repoze/bfg/tests/test_chameleon_text.py index c2455918f..74d348d14 100644 --- a/repoze/bfg/tests/test_chameleon_text.py +++ b/repoze/bfg/tests/test_chameleon_text.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class Base: def setUp(self): diff --git a/repoze/bfg/tests/test_chameleon_zpt.py b/repoze/bfg/tests/test_chameleon_zpt.py index e0ed74e5f..4a1cac166 100644 --- a/repoze/bfg/tests/test_chameleon_zpt.py +++ b/repoze/bfg/tests/test_chameleon_zpt.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class Base(object): def setUp(self): diff --git a/repoze/bfg/tests/test_integration.py b/repoze/bfg/tests/test_integration.py index 982197850..fb07d76a5 100644 --- a/repoze/bfg/tests/test_integration.py +++ b/repoze/bfg/tests/test_integration.py @@ -8,7 +8,7 @@ from repoze.bfg.view import static from zope.interface import Interface -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class INothing(Interface): pass diff --git a/repoze/bfg/tests/test_push.py b/repoze/bfg/tests/test_push.py index 00f4a4ecb..d5d2801aa 100644 --- a/repoze/bfg/tests/test_push.py +++ b/repoze/bfg/tests/test_push.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class Test_pushpage(unittest.TestCase): def setUp(self): diff --git a/repoze/bfg/tests/test_registry.py b/repoze/bfg/tests/test_registry.py index 2f7123cff..77031806f 100644 --- a/repoze/bfg/tests/test_registry.py +++ b/repoze/bfg/tests/test_registry.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class TestRegistry(unittest.TestCase): def _getTargetClass(self): diff --git a/repoze/bfg/tests/test_router.py b/repoze/bfg/tests/test_router.py index dd249a8fe..95defb7e7 100644 --- a/repoze/bfg/tests/test_router.py +++ b/repoze/bfg/tests/test_router.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class RouterTests(unittest.TestCase): def setUp(self): diff --git a/repoze/bfg/tests/test_security.py b/repoze/bfg/tests/test_security.py index b8a49f39f..a9aaaa30a 100644 --- a/repoze/bfg/tests/test_security.py +++ b/repoze/bfg/tests/test_security.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class TestACLSecurityPolicy(unittest.TestCase): def setUp(self): diff --git a/repoze/bfg/tests/test_template.py b/repoze/bfg/tests/test_template.py index 78bd139c5..06aa61328 100644 --- a/repoze/bfg/tests/test_template.py +++ b/repoze/bfg/tests/test_template.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class Base(object): def setUp(self): diff --git a/repoze/bfg/tests/test_templating.py b/repoze/bfg/tests/test_templating.py index ef39bcf05..94d7a21f9 100644 --- a/repoze/bfg/tests/test_templating.py +++ b/repoze/bfg/tests/test_templating.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp from repoze.bfg import testing class TestRendererFromCache(unittest.TestCase): diff --git a/repoze/bfg/tests/test_testing.py b/repoze/bfg/tests/test_testing.py index 1154fc27b..d61092065 100644 --- a/repoze/bfg/tests/test_testing.py +++ b/repoze/bfg/tests/test_testing.py @@ -1,4 +1,4 @@ -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp import unittest class TestTestingFunctions(unittest.TestCase): @@ -452,5 +452,40 @@ class TestDummyTemplateRenderer(unittest.TestCase): renderer = self._makeOne('abc') result = renderer(a=1, b=2) self.assertEqual(result, 'abc') + +class CleanUpTests(object): + def setUp(self): + from repoze.bfg.testing import _cleanups + self._old_cleanups = _cleanups[:] + + def tearDown(self): + from repoze.bfg import testing + testing._cleanups = self._old_cleanups +class TestAddCleanUp(CleanUpTests, unittest.TestCase): + def _getFUT(self, ): + from repoze.bfg.testing import addCleanUp + return addCleanUp + + def test_it(self): + addCleanUp = self._getFUT() + addCleanUp(1, ('a', 'b'), {'foo':'bar'}) + from repoze.bfg.testing import _cleanups + self.assertEqual(_cleanups[-1], (1, ('a', 'b'), {'foo':'bar'})) + +class TestCleanUp(CleanUpTests, unittest.TestCase): + def _getFUT(self, ): + from repoze.bfg.testing import cleanUp + return cleanUp + + def test_it(self): + from repoze.bfg.testing import _cleanups + cleanUp = self._getFUT() + L = [] + def f(*arg, **kw): + L.append((arg, kw)) + _cleanups.append((f, ('a', '1'), {'kw':'1'})) + cleanUp() + self.assertEqual(L, [(('a', '1'), {'kw':'1'})]) + diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py index 867dae318..e0ab8d938 100644 --- a/repoze/bfg/tests/test_traversal.py +++ b/repoze/bfg/tests/test_traversal.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class TraversalPathTests(unittest.TestCase): def _callFUT(self, path): diff --git a/repoze/bfg/tests/test_url.py b/repoze/bfg/tests/test_url.py index fc89e6c0d..64cf52383 100644 --- a/repoze/bfg/tests/test_url.py +++ b/repoze/bfg/tests/test_url.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class ModelURLTests(unittest.TestCase): def setUp(self): diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py index e32a04deb..cb2336f2a 100644 --- a/repoze/bfg/tests/test_view.py +++ b/repoze/bfg/tests/test_view.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class BaseTest(object): def setUp(self): diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py index 67cb40cb1..0d7f1b631 100644 --- a/repoze/bfg/tests/test_zcml.py +++ b/repoze/bfg/tests/test_zcml.py @@ -1,6 +1,6 @@ import unittest -from zope.testing.cleanup import cleanUp +from repoze.bfg.testing import cleanUp class TestViewDirective(unittest.TestCase): def setUp(self): @@ -64,8 +64,7 @@ setup(name='repoze.bfg', namespace_packages = ['repoze', 'repoze.bfg'], zip_safe=False, install_requires = install_requires, - tests_require= install_requires + ['zope.testing', - 'Sphinx', 'docutils', 'coverage'], + tests_require= install_requires + ['Sphinx', 'docutils', 'coverage'], test_suite="repoze.bfg.tests", entry_points = """\ [paste.paster_create_template] |
