1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/OpenSecurity/install/web.py-0.37/web/test.py Mon Dec 02 14:02:05 2013 +0100
1.3 @@ -0,0 +1,51 @@
1.4 +"""test utilities
1.5 +(part of web.py)
1.6 +"""
1.7 +import unittest
1.8 +import sys, os
1.9 +import web
1.10 +
1.11 +TestCase = unittest.TestCase
1.12 +TestSuite = unittest.TestSuite
1.13 +
1.14 +def load_modules(names):
1.15 + return [__import__(name, None, None, "x") for name in names]
1.16 +
1.17 +def module_suite(module, classnames=None):
1.18 + """Makes a suite from a module."""
1.19 + if classnames:
1.20 + return unittest.TestLoader().loadTestsFromNames(classnames, module)
1.21 + elif hasattr(module, 'suite'):
1.22 + return module.suite()
1.23 + else:
1.24 + return unittest.TestLoader().loadTestsFromModule(module)
1.25 +
1.26 +def doctest_suite(module_names):
1.27 + """Makes a test suite from doctests."""
1.28 + import doctest
1.29 + suite = TestSuite()
1.30 + for mod in load_modules(module_names):
1.31 + suite.addTest(doctest.DocTestSuite(mod))
1.32 + return suite
1.33 +
1.34 +def suite(module_names):
1.35 + """Creates a suite from multiple modules."""
1.36 + suite = TestSuite()
1.37 + for mod in load_modules(module_names):
1.38 + suite.addTest(module_suite(mod))
1.39 + return suite
1.40 +
1.41 +def runTests(suite):
1.42 + runner = unittest.TextTestRunner()
1.43 + return runner.run(suite)
1.44 +
1.45 +def main(suite=None):
1.46 + if not suite:
1.47 + main_module = __import__('__main__')
1.48 + # allow command line switches
1.49 + args = [a for a in sys.argv[1:] if not a.startswith('-')]
1.50 + suite = module_suite(main_module, args or None)
1.51 +
1.52 + result = runTests(suite)
1.53 + sys.exit(not result.wasSuccessful())
1.54 +