[Checkins] SVN: grok/trunk/src/grok/ added functional testing
infrastructure
Wolfgang Schnerring
wosc at wosc.de
Mon Oct 16 11:43:18 EDT 2006
Log message for revision 70700:
added functional testing infrastructure
Changed:
A grok/trunk/src/grok/ftests/
A grok/trunk/src/grok/ftests/__init__.py
A grok/trunk/src/grok/ftests/test_grok_functional.py
A grok/trunk/src/grok/ftests/view/
A grok/trunk/src/grok/ftests/view/__init__.py
U grok/trunk/src/grok/tests/test_grok.py
-=-
Added: grok/trunk/src/grok/ftests/__init__.py
===================================================================
--- grok/trunk/src/grok/ftests/__init__.py 2006-10-16 15:34:09 UTC (rev 70699)
+++ grok/trunk/src/grok/ftests/__init__.py 2006-10-16 15:43:17 UTC (rev 70700)
@@ -0,0 +1 @@
+# this is a package
Added: grok/trunk/src/grok/ftests/test_grok_functional.py
===================================================================
--- grok/trunk/src/grok/ftests/test_grok_functional.py 2006-10-16 15:34:09 UTC (rev 70699)
+++ grok/trunk/src/grok/ftests/test_grok_functional.py 2006-10-16 15:43:17 UTC (rev 70700)
@@ -0,0 +1,64 @@
+import unittest
+from pkg_resources import resource_listdir
+from zope.testing import doctest, cleanup
+from zope.app.testing.functional import HTTPCaller, getRootFolder, FunctionalTestSetup, sync, Functional
+
+# XXX bastardized from zope.app.testing.functional.FunctionalDocFileSuite :-(
+def FunctionalDocTestSuite(*paths, **kw):
+ globs = kw.setdefault('globs', {})
+ globs['http'] = HTTPCaller()
+ globs['getRootFolder'] = getRootFolder
+ globs['sync'] = sync
+
+ #kw['package'] = doctest._normalize_module(kw.get('package'))
+
+ kwsetUp = kw.get('setUp')
+ def setUp(test):
+ FunctionalTestSetup().setUp()
+
+ if kwsetUp is not None:
+ kwsetUp(test)
+ kw['setUp'] = setUp
+
+ kwtearDown = kw.get('tearDown')
+ def tearDown(test):
+ if kwtearDown is not None:
+ kwtearDown(test)
+ FunctionalTestSetup().tearDown()
+ kw['tearDown'] = tearDown
+
+ if 'optionflags' not in kw:
+ old = doctest.set_unittest_reportflags(0)
+ doctest.set_unittest_reportflags(old)
+ kw['optionflags'] = (old
+ | doctest.ELLIPSIS
+ | doctest.REPORT_NDIFF
+ | doctest.NORMALIZE_WHITESPACE)
+
+ suite = doctest.DocTestSuite(*paths, **kw)
+ suite.layer = Functional
+ return suite
+
+def suiteFromPackage(name):
+ files = resource_listdir(__name__, name)
+ suite = unittest.TestSuite()
+ for filename in files:
+ if not filename.endswith('.py'):
+ continue
+ if filename == '__init__.py':
+ continue
+
+ dottedname = 'grok.ftests.%s.%s' % (name, filename[:-3])
+ test = FunctionalDocTestSuite(dottedname)
+
+ suite.addTest(test)
+ return suite
+
+def test_suite():
+ suite = unittest.TestSuite()
+ for name in ['view']:
+ suite.addTest(suiteFromPackage(name))
+ return suite
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='test_suite')
Added: grok/trunk/src/grok/ftests/view/__init__.py
===================================================================
--- grok/trunk/src/grok/ftests/view/__init__.py 2006-10-16 15:34:09 UTC (rev 70699)
+++ grok/trunk/src/grok/ftests/view/__init__.py 2006-10-16 15:43:17 UTC (rev 70700)
@@ -0,0 +1 @@
+# this is a package
Modified: grok/trunk/src/grok/tests/test_grok.py
===================================================================
--- grok/trunk/src/grok/tests/test_grok.py 2006-10-16 15:34:09 UTC (rev 70699)
+++ grok/trunk/src/grok/tests/test_grok.py 2006-10-16 15:43:17 UTC (rev 70700)
@@ -1,44 +1,7 @@
import unittest
from pkg_resources import resource_listdir
from zope.testing import doctest, cleanup
-from zope.app.testing.functional import HTTPCaller, getRootFolder, FunctionalTestSetup, sync, Functional
-
-def FunctionalDocTestSuite(*paths, **kw):
- globs = kw.setdefault('globs', {})
- globs['http'] = HTTPCaller()
- globs['getRootFolder'] = getRootFolder
- globs['sync'] = sync
-
- #kw['package'] = doctest._normalize_module(kw.get('package'))
-
- kwsetUp = kw.get('setUp')
- def setUp(test):
- FunctionalTestSetup().setUp()
-
- if kwsetUp is not None:
- kwsetUp(test)
- kw['setUp'] = setUp
-
- kwtearDown = kw.get('tearDown')
- def tearDown(test):
- if kwtearDown is not None:
- kwtearDown(test)
- FunctionalTestSetup().tearDown()
- kw['tearDown'] = tearDown
-
- if 'optionflags' not in kw:
- old = doctest.set_unittest_reportflags(0)
- doctest.set_unittest_reportflags(old)
- kw['optionflags'] = (old
- | doctest.ELLIPSIS
- | doctest.REPORT_NDIFF
- | doctest.NORMALIZE_WHITESPACE)
-
- suite = doctest.DocTestSuite(*paths, **kw)
- suite.layer = Functional
- return suite
-
def cleanUpZope(test):
cleanup.cleanUp()
@@ -54,12 +17,9 @@
continue
dottedname = 'grok.tests.%s.%s' % (name, filename[:-3])
- if filename.startswith("functional_"):
- test = FunctionalDocTestSuite(dottedname)
- else:
- test = doctest.DocTestSuite(dottedname, tearDown=cleanUpZope,
- optionflags=doctest.ELLIPSIS+
- doctest.NORMALIZE_WHITESPACE)
+ test = doctest.DocTestSuite(dottedname, tearDown=cleanUpZope,
+ optionflags=doctest.ELLIPSIS+
+ doctest.NORMALIZE_WHITESPACE)
suite.addTest(test)
return suite
More information about the Checkins
mailing list