[Checkins]
SVN: z3c.testsetup/trunk/src/z3c/testsetup/tests/test_testsetup.py
Setup plone tests.
Uli Fouquet
uli at gnufix.de
Sun Mar 2 20:22:46 EST 2008
Log message for revision 84430:
Setup plone tests.
Changed:
U z3c.testsetup/trunk/src/z3c/testsetup/tests/test_testsetup.py
-=-
Modified: z3c.testsetup/trunk/src/z3c/testsetup/tests/test_testsetup.py
===================================================================
--- z3c.testsetup/trunk/src/z3c/testsetup/tests/test_testsetup.py 2008-03-03 01:18:58 UTC (rev 84429)
+++ z3c.testsetup/trunk/src/z3c/testsetup/tests/test_testsetup.py 2008-03-03 01:22:45 UTC (rev 84430)
@@ -3,6 +3,7 @@
import gc
import re
import unittest
+from subprocess import Popen, PIPE
from zope.testing import doctest, cleanup, renormalizing
import zope.component.eventtesting
from z3c.testsetup.util import get_package
@@ -44,8 +45,10 @@
basenames = [os.path.basename(x) for x in get_filenames_from_suite(suite)]
basenames.sort()
return basenames
-
+def get_output_from_cmd(*args):
+ return Popen(args, stdout=PIPE, stderr=PIPE).communicate()[0]
+
def setUpZope(test):
zope.component.eventtesting.setUp(test)
@@ -106,9 +109,41 @@
suite.addTest(test)
return suite
+def plone_suite():
+ def setUp(test):
+ test.globs['saved-sys-info'] = (
+ sys.path[:],
+ sys.argv[:],
+ sys.modules.copy(),
+ gc.get_threshold(),
+ )
+ test.globs['this_directory'] = os.path.split(__file__)[0]
+ test.globs['testrunner_script'] = __file__
+ test.globs['get_basenames_from_suite'] = get_basenames_from_suite
+ test.globs['get_output_from_cmd'] = get_output_from_cmd
+
+ def tearDown(test):
+ sys.path[:], sys.argv[:] = test.globs['saved-sys-info'][:2]
+ gc.set_threshold(*test.globs['saved-sys-info'][3])
+ sys.modules.clear()
+ sys.modules.update(test.globs['saved-sys-info'][2])
+ suites = [
+ doctest.DocFileSuite(
+ os.path.join('plone', 'README.txt'),
+ package='z3c.testsetup',
+ setUp=setUp, tearDown=tearDown,
+ optionflags=doctest.ELLIPSIS+doctest.NORMALIZE_WHITESPACE,
+ checker=checker),
+ ]
+
+ suite = unittest.TestSuite(suites)
+ return suite
+
def test_suite():
suite = unittest.TestSuite()
for name in TESTFILES:
- suite.addTest(suiteFromFile(name))
+ suite.addTests(suiteFromFile(name))
suite.addTest(testrunner_suite())
+ if not '--ignore_dir=plone' in sys.argv:
+ suite.addTests(plone_suite())
return suite
More information about the Checkins
mailing list