[Checkins] SVN: zope.app.appsetup/branches/sylvain-zcmltestlayer/s Package tests use zope.component.testlayer instead of zope.app.testing.

Sylvain Viollon sylvain at infrae.com
Thu Jan 21 13:11:47 EST 2010


Log message for revision 108366:
  Package tests use zope.component.testlayer instead of zope.app.testing.
  
  

Changed:
  U   zope.app.appsetup/branches/sylvain-zcmltestlayer/setup.py
  A   zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/ftesting.zcml
  U   zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testlayer.py
  U   zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testpackage/ftesting.zcml
  U   zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/tests.py

-=-
Modified: zope.app.appsetup/branches/sylvain-zcmltestlayer/setup.py
===================================================================
--- zope.app.appsetup/branches/sylvain-zcmltestlayer/setup.py	2010-01-21 18:08:40 UTC (rev 108365)
+++ zope.app.appsetup/branches/sylvain-zcmltestlayer/setup.py	2010-01-21 18:11:47 UTC (rev 108366)
@@ -64,7 +64,6 @@
     package_dir={'': 'src'},
     extras_require=dict(
         test=[
-            'zope.app.testing',
             'zope.componentvocabulary',
             'zope.principalregistry',
             'zope.testing',

Added: zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/ftesting.zcml
===================================================================
--- zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/ftesting.zcml	                        (rev 0)
+++ zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/ftesting.zcml	2010-01-21 18:11:47 UTC (rev 108366)
@@ -0,0 +1,20 @@
+<configure xmlns="http://namespaces.zope.org/zope">
+
+  <include package="zope.component" file="meta.zcml" />
+  <include package="zope.component" />
+
+  <!-- Those next ZCML includes are required by zope.app.appsetup. So
+       should be in the real configure.zcml. zope.security probably be
+       include in zope.site configuration -->
+  <include package="zope.security" file="meta.zcml" />
+  <include package="zope.security" />
+
+  <include package="zope.location" />
+  <include package="zope.traversing" />
+  <include package="zope.container" />
+  <include package="zope.site" />
+
+  <!-- Include zope.app.appsetup so there is an Application in our DB -->
+  <include package="zope.app.appsetup" />
+
+</configure>

Modified: zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testlayer.py
===================================================================
--- zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testlayer.py	2010-01-21 18:08:40 UTC (rev 108365)
+++ zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testlayer.py	2010-01-21 18:11:47 UTC (rev 108366)
@@ -16,6 +16,7 @@
 from ZODB.DemoStorage import DemoStorage
 import ZODB.ActivityMonitor
 import ZODB.interfaces
+import transaction
 
 from zope import component
 from zope.app.publication.zopepublication import ZopePublication
@@ -63,9 +64,9 @@
         self.db = createTestDB(self.db_name)
 
     def testTearDown(self):
-        super(ZODBLayer, self).testTearDown()
         # Close any opened connections
         if self.connection is not None:
+            transaction.abort()
             self.connection.close()
             self.connection = None
 
@@ -78,4 +79,4 @@
             self.db.close()
             self.db = None
 
-
+        super(ZODBLayer, self).testTearDown()

Modified: zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testpackage/ftesting.zcml
===================================================================
--- zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testpackage/ftesting.zcml	2010-01-21 18:08:40 UTC (rev 108365)
+++ zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/testpackage/ftesting.zcml	2010-01-21 18:11:47 UTC (rev 108366)
@@ -1,19 +1,6 @@
 <configure xmlns="http://namespaces.zope.org/zope">
 
-  <include package="zope.component" file="meta.zcml" />
-  <include package="zope.component" />
-
-  <!-- Those next ZCML includes are required by zope.app.appsetup. So
-       should be in the real configure.zcml. zope.security probably be
-       include in zope.site configuration -->
-  <include package="zope.security" file="meta.zcml" />
-  <include package="zope.security" />
-
-  <include package="zope.traversing" />
-  <include package="zope.container" />
-  <include package="zope.site" />
-
   <!-- Include zope.app.appsetup so there is an Application in our DB -->
-  <include package="zope.app.appsetup" />
+  <include package="zope.app.appsetup" file="ftesting.zcml" />
 
 </configure>

Modified: zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/tests.py
===================================================================
--- zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/tests.py	2010-01-21 18:08:40 UTC (rev 108365)
+++ zope.app.appsetup/branches/sylvain-zcmltestlayer/src/zope/app/appsetup/tests.py	2010-01-21 18:11:47 UTC (rev 108366)
@@ -36,6 +36,7 @@
 from zope.app.publication.zopepublication import ZopePublication
 from zope.site.site import LocalSiteManager
 
+import zope.app.appsetup
 from zope.app.appsetup.bootstrap import bootStrapSubscriber
 from zope.app.appsetup.bootstrap import getInformationFromEvent, \
      ensureObject, ensureUtility
@@ -45,9 +46,9 @@
 from zope.session.interfaces import IClientIdManager
 from zope.session.interfaces import ISessionDataContainer
 
-from zope.app.testing import placelesssetup
-from zope.app.testing import setup
+from zope.component.testlayer import ZCMLFileLayer
 
+layer = ZCMLFileLayer(zope.app.appsetup)
 
 class EventStub(object):
 
@@ -58,15 +59,15 @@
 # TODO: some methods from the boostap module are not tested
 #
 
-class TestBootstrapSubscriber(placelesssetup.PlacelessSetup, unittest.TestCase):
+class TestBootstrapSubscriber(unittest.TestCase):
 
+    layer = layer
+
     def setUp(self):
-        setup.placefulSetUp()
         self.db = DB()
 
     def tearDown(self):
         transaction.abort()
-        setup.placefulTearDown()
         self.db.close()
 
     def createRootFolder(self):
@@ -230,51 +231,50 @@
         schema = ZConfig.loadSchema(url)
 
 
-def bootstraptearDown(test):
-    test.globs['db'].close()
 
+class DebugLayer(ZCMLFileLayer):
 
-def setUpDebug(test):
-    placelesssetup.setUp(test)
-    test.real_stderr = sys.stderr
-    test.real_argv = list(sys.argv)
-    test.olddir = os.getcwd()
-    os.chdir(os.path.join(os.path.dirname(__file__), 'testdata'))
-    from zope.security.management import endInteraction
-    endInteraction()
+    def setUp(self):
+        super(DebugLayer, self).setUp()
+        self.stderr = sys.stderr
+        self.argv = list(sys.argv)
+        self.olddir = os.getcwd()
+        os.chdir(os.path.join(os.path.dirname(__file__), 'testdata'))
+        from zope.security.management import endInteraction
+        endInteraction()
 
+    def tearDown(self):
+        sys.stderr = self.stderr
+        sys.argv[:] = self.argv
+        if hasattr(sys, 'ps1'):
+            del sys.ps1
+        os.chdir(self.olddir)
+        # make sure we don't leave environment variables that would cause
+        # Python to open an interactive console
+        if 'PYTHONINSPECT' in os.environ:
+            del os.environ['PYTHONINSPECT']
+        from zope.security.management import endInteraction
+        endInteraction()
+        super(DebugLayer, self).tearDown()
 
-def tearDownDebug(test):
-    sys.stderr = test.real_stderr
-    sys.argv[:] = test.real_argv
-    if hasattr(sys, 'ps1'):
-        del sys.ps1
-    os.chdir(test.olddir)
-    # make sure we don't leave environment variables that would cause
-    # Python to open an interactive console
-    if 'PYTHONINSPECT' in os.environ:
-        del os.environ['PYTHONINSPECT']
-    from zope.security.management import endInteraction
-    endInteraction()
-    placelesssetup.tearDown(test)
 
-
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(TestBootstrapSubscriber))
     suite.addTest(unittest.makeSuite(TestConfigurationSchema))
-    suite.addTest(doctest.DocTestSuite(
-        'zope.app.appsetup.appsetup',
-        setUp=placelesssetup.setUp, tearDown=placelesssetup.tearDown))
+    for module in ['zope.app.appsetup.appsetup',]:
+        test = doctest.DocTestSuite(module)
+        test.layer = layer
+        suite.addTest(test)
+    for filename in ['bootstrap.txt', 'product.txt',]:
+        test = doctest.DocFileSuite(filename)
+        test.layer = layer
+        suite.addTest(test)
+
+    test = doctest.DocFileSuite('debug.txt')
+    test.layer = DebugLayer(zope.app.appsetup)
+    suite.addTest(test)
     suite.addTest(doctest.DocFileSuite(
-        'bootstrap.txt', 'product.txt',
-        setUp=placelesssetup.setUp, tearDown=placelesssetup.tearDown,
-        ))
-    suite.addTest(doctest.DocFileSuite(
-        'debug.txt',
-        setUp=setUpDebug, tearDown=tearDownDebug,
-        ))
-    suite.addTest(doctest.DocFileSuite(
         'testlayer.txt',
          optionflags=(doctest.ELLIPSIS +
                       doctest.NORMALIZE_WHITESPACE +



More information about the checkins mailing list