| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/usr/bin/env python
- import sys
- import os
- import logging
- from optparse import OptionParser
- from coverage import coverage
-
- import tests.config
-
- from django.test.simple import DjangoTestSuiteRunner
-
- logging.disable(logging.CRITICAL)
-
-
- def run_tests(verbosity, *test_args):
- test_runner = DjangoTestSuiteRunner(verbosity=verbosity)
- if not test_args:
- test_args = ['oscar']
- num_failures = test_runner.run_tests(test_args)
- if num_failures:
- sys.exit(num_failures)
-
- if __name__ == '__main__':
- parser = OptionParser()
- parser.add_option('-c', '--coverage', dest='use_coverage', default=False,
- action='store_true', help="Generate coverage report")
- parser.add_option('-v', '--verbosity', dest='verbosity', default=1,
- type='int', help="Verbosity of output")
- (options, args) = parser.parse_args()
-
- if options.use_coverage:
- print 'Running tests with coverage'
- c = coverage(source=['oscar'])
- c.start()
- run_tests(options.verbosity, *args)
- c.stop()
- print 'Generate HTML reports'
- c.html_report()
- else:
- print 'Running tests'
- run_tests(options.verbosity, *args)
|