[Checkins] SVN: z3c.testsetup/trunk/src/z3c/testsetup/doctesting.py * Register unit test layers correctly.

Uli Fouquet uli at gnufix.de
Tue Aug 25 08:28:25 EDT 2009


Log message for revision 103201:
  * Register unit test layers correctly.
  
  * Support fuctional setups if given layer is ZCMLLayer.
  

Changed:
  U   z3c.testsetup/trunk/src/z3c/testsetup/doctesting.py

-=-
Modified: z3c.testsetup/trunk/src/z3c/testsetup/doctesting.py
===================================================================
--- z3c.testsetup/trunk/src/z3c/testsetup/doctesting.py	2009-08-25 12:26:35 UTC (rev 103200)
+++ z3c.testsetup/trunk/src/z3c/testsetup/doctesting.py	2009-08-25 12:28:25 UTC (rev 103201)
@@ -55,6 +55,8 @@
         suite = unittest.TestSuite()
         for name in docfiles:
             layerdef = get_marker_from_file('layer', name)
+            if layerdef is not None:
+                layerdef = get_attribute(layerdef)
 
             zcml_layer = self.getZCMLLayer(name, 'zcml-layer')
             if zcml_layer is not None:
@@ -92,7 +94,20 @@
 """ % (os.path.join(common_prefix, name),))
                     continue
                 suite_creator = FunctionalDocFileSuite
-                
+
+            # If the defined layer is a ZCMLLayer, we also enable the
+            # functional test setup.
+            if layerdef is not None:
+                try:
+                    from zope.app.testing.functional import (
+                        ZCMLLayer, FunctionalDocFileSuite)
+                    if isinstance(layerdef, ZCMLLayer):
+                        suite_creator = FunctionalDocFileSuite
+                except ImportError:
+                    # If zope.app.testing is not available, the layer
+                    # cannot be a ZCML layer.
+                    pass
+                    
             test = suite_creator(
                 name,
                 package=self.package,



More information about the Checkins mailing list