[z3-checkins] r35327 - in z3/deliverance/trunk: . deliverance
ianb at codespeak.net
ianb at codespeak.net
Tue Dec 5 19:59:29 CET 2006
Author: ianb
Date: Tue Dec 5 19:59:26 2006
New Revision: 35327
Added:
z3/deliverance/trunk/deliverance/testrunner.py (contents, props changed)
Modified:
z3/deliverance/trunk/deliverance/tests.py
z3/deliverance/trunk/setup.py
Log:
Added better selection option for test runner
Added: z3/deliverance/trunk/deliverance/testrunner.py
==============================================================================
--- (empty file)
+++ z3/deliverance/trunk/deliverance/testrunner.py Tue Dec 5 19:59:26 2006
@@ -0,0 +1,46 @@
+import sys
+import os
+from deliverance import tests
+
+def main(args=None):
+ if args is None:
+ args = sys.argv[1:]
+ # Kind of a crude way to pass info to nose...
+ if sys.argv[0].endswith('.wrapped'):
+ # A buildout detail
+ sys.argv[0] = sys.argv[0][:-len('.wrapped')]
+ remove_items = []
+ for i in range(len(args)):
+ if args[i] == '--test-file':
+ tests.select_tests.append(args[i+1])
+ remove_items.extend([i, i+1])
+ elif args[i].startswith('--test-file='):
+ tests.select_tests.append(args[i][len('--test-file='):])
+ remove_items.append(i)
+ new_args = []
+ for i in range(len(args)):
+ if i not in remove_items:
+ new_args.append(args[i])
+ args = new_args
+ os.environ.update(dict(
+ NOSE_WHERE=os.path.dirname(os.path.dirname(__file__)),
+ NOSE_DETAILED_ERRORS='t',
+ NOSE_WITH_DOCTEST='t',
+ NOSE_DOCTEST_EXTENSION='.txt',
+ NOSE_WITH_MISSING_TESTS='t'))
+ if tests.select_tests:
+ filename = tests.__file__
+ if filename.endswith('.pyc'):
+ filename = filename[:-1]
+ args.append(filename+':test_examples')
+ del os.environ['NOSE_WITH_DOCTEST']
+ sys.argv[1:] = args
+ try:
+ import nose; nose.main()
+ finally:
+ if '-h' in args or '--help' in args:
+ print ' --test-file=FILE'
+ print ' '*23, 'Restrict XML test files (Deliverance)'
+
+if __name__ == '__main__':
+ main()
Modified: z3/deliverance/trunk/deliverance/tests.py
==============================================================================
--- z3/deliverance/trunk/deliverance/tests.py (original)
+++ z3/deliverance/trunk/deliverance/tests.py Tue Dec 5 19:59:26 2006
@@ -1,5 +1,6 @@
import unittest
import os
+import sys
from lxml import etree
from formencode.doctest_xml_compare import xml_compare
from deliverance.interpreter import Renderer as PyRenderer
@@ -9,6 +10,8 @@
RENDERER_CLASSES = [ PyRenderer, XSLTRenderer ]
+select_tests = []
+
class DeliveranceTestCase:
def __init__(self, rules, rules_uri, theme, theme_uri, content, output, renderer_class):
@@ -60,10 +63,13 @@
yield case
def cases(fn, renderer_class):
- if not os.path.basename(fn).startswith('test_'):
+ basename = os.path.basename(fn)
+ if not basename.startswith('test_'):
return
if fn.endswith('~'):
return
+ if select_tests and basename not in select_tests:
+ return
try:
doc = etree.parse(fn)
except etree.XMLSyntaxError, e:
@@ -107,17 +113,3 @@
-
-
-def main(args=None):
- # Kind of a crude way to pass info to nose...
- os.environ.update(dict(
- NOSE_WHERE=os.path.dirname(__file__),
- NOSE_DETAILED_ERRORS='t',
- NOSE_WITH_DOCTEST='t',
- NOSE_DOCTEST_EXTENSION='.txt',
- NOSE_WITH_MISSING_TESTS='t'))
- import nose; nose.main()
-
-if __name__ == '__main__':
- main()
Modified: z3/deliverance/trunk/setup.py
==============================================================================
--- z3/deliverance/trunk/setup.py (original)
+++ z3/deliverance/trunk/setup.py Tue Dec 5 19:59:26 2006
@@ -33,7 +33,7 @@
[console_scripts]
deliverance-proxy = deliverance.proxycommand:main
- deliverance-tests = deliverance.tests:main
+ deliverance-tests = deliverance.testrunner:main
deliverance-speed = deliverance.test_speed:main
deliverance-handtransform = deliverance.handtransform:main
""",
More information about the z3-checkins
mailing list