[Checkins] SVN: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/ Resolve the path of the layers with an absolute path

Jonathan Ballet jon at multani.info
Thu Dec 16 04:14:31 EST 2010


Log message for revision 118944:
  Resolve the path of the layers with an absolute path
  
  That is, if several tests are refering to the same ZCML layer file, but from
  different path (say "foo.zcml" and "../bar/foo.zcml"), then those tests will
  not be launched in the same layer.
  
  

Changed:
  U   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/doctesting.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/__init__.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/__init__.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/__init__.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/bar.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/__init__.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/foo.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/init_test.py
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/layer.zcml
  A   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions.txt
  U   z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/test_testsetup.py

-=-
Modified: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/doctesting.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/doctesting.py	2010-12-16 09:09:57 UTC (rev 118943)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/doctesting.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -135,6 +135,11 @@
         zcml_file = get_marker_from_file(marker, filepath)
         if zcml_file is None:
             return
+
+        file_path = os.path.realpath(
+            os.path.join(os.path.dirname(filepath), zcml_file)
+        )
+
         try:
             # Late import. Some environments don't have
             # ``zope.app.testing`` available.
@@ -147,10 +152,9 @@
 """ % (marker, filepath))
 
         layer = DefaultZCMLLayer(
-            os.path.join(os.path.dirname(filepath), zcml_file),
+            file_path,
             DefaultZCMLLayer.__module__,
-            '%s [%s]' % (DefaultZCMLLayer.__name__,
-                         os.path.join(os.path.dirname(filepath), zcml_file)),
+            '%s [%s]' % (DefaultZCMLLayer.__name__, file_path),
             allow_teardown=self.allow_teardown)
         return layer
 

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/__init__.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/__init__.py	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/__init__.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1 @@
+# Package placeholder

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/__init__.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/__init__.py	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/__init__.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1 @@
+# Package placeholder

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/__init__.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/__init__.py	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/__init__.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1 @@
+# Package placeholder

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/bar.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/bar.py	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/bar/bar.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1,9 @@
+"""
+
+:doctest:
+:zcml-layer: ../layer.zcml
+
+>>> 1
+1
+
+"""

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/__init__.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/__init__.py	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/__init__.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1 @@
+# Package placeholder

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/foo.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/foo.py	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/foo/foo.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1,9 @@
+"""
+
+:doctest:
+:zcml-layer: ../layer.zcml
+
+>>> 1
+1
+
+"""

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/init_test.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/init_test.py	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/init_test.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1,3 @@
+from z3c.testsetup import register_all_tests
+name = 'z3c.testsetup.tests.regressions.norm_zcml_layers'
+test_suite = register_all_tests(name)

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/layer.zcml
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/layer.zcml	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions/norm_zcml_layers/layer.zcml	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1,2 @@
+<configure xmlns="http://namespace.zope.org">
+</configure>

Added: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions.txt
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions.txt	                        (rev 0)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/regressions.txt	2010-12-16 09:14:31 UTC (rev 118944)
@@ -0,0 +1,37 @@
+================
+Regression tests
+================
+
+This file contains various regression tests
+
+    >>> from z3c.testsetup import testrunner
+    >>> import os
+    >>> import sys
+    >>> sys.argv = [sys.argv[0]] # Strip options from external testrunner
+    >>> HERE = os.path.dirname(__file__)
+    >>> REG_TESTS = os.path.join(HERE, 'regressions')
+
+
+Normalizing ZCML layer paths
+============================
+
+If tests are referring to the same ZCML layer file, but from a different paths
+(for example ``/foo/../layer.zcml`` and ``/bar/../layer.zcml``), be sure launch
+both tests in the same layer context, and not to create several contexts:
+
+    >>> path = os.path.join(REG_TESTS, 'norm_zcml_layers')
+    >>> defaults = [
+    ...     '--path', path,
+    ...     '--tests-pattern', '^init_test$', '-vvvv',
+    ...     ]
+    >>> testrunner.run(defaults)
+    Running tests at level 1
+    Running z3c.testsetup.functional.layer.DefaultZCMLLayer [/COMPONENT/tests/regressions/norm_zcml_layers/layer.zcml] tests:
+      Set up z3c.testsetup.functional.layer.DefaultZCMLLayer [/COMPONENT/tests/regressions/norm_zcml_layers/layer.zcml] in N.NNN seconds.
+      Running:
+     /COMPONENT/tests/regressions/norm_zcml_layers/bar/bar.py (0.001 s)
+     /COMPONENT/tests/regressions/norm_zcml_layers/foo/foo.py (0.001 s)
+      Ran 2 tests with 0 failures and 0 errors in N.NNN seconds.
+    Tearing down left over layers:
+      Tear down z3c.testsetup.functional.layer.DefaultZCMLLayer [/COMPONENT/tests/regressions/norm_zcml_layers/layer.zcml] ... not supported
+    False

Modified: z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/test_testsetup.py
===================================================================
--- z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/test_testsetup.py	2010-12-16 09:09:57 UTC (rev 118943)
+++ z3c.testsetup/branches/multani-patches/src/z3c/testsetup/tests/test_testsetup.py	2010-12-16 09:14:31 UTC (rev 118944)
@@ -15,6 +15,7 @@
              'unitdoctestsetup.txt',
              'util.txt',
              'unittestsetup.txt',
+             os.path.join('tests', 'regressions.txt'),
              os.path.join('tests', 'setupininit.txt'),
              os.path.join('tests', 'util.txt'),
              ]



More information about the checkins mailing list