Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

runtests.py 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python
  2. import sys
  3. import logging
  4. from optparse import OptionParser
  5. from coverage import coverage
  6. # This configures the settings
  7. from tests.config import configure
  8. configure()
  9. from django_nose import NoseTestSuiteRunner
  10. logging.disable(logging.CRITICAL)
  11. def run_tests(options, *test_args):
  12. test_runner = NoseTestSuiteRunner(verbosity=options.verbosity,
  13. pdb=options.pdb)
  14. if not test_args:
  15. test_args = ['tests']
  16. num_failures = test_runner.run_tests(test_args)
  17. if num_failures:
  18. sys.exit(num_failures)
  19. if __name__ == '__main__':
  20. parser = OptionParser()
  21. parser.add_option('-c', '--coverage', dest='use_coverage', default=False,
  22. action='store_true', help="Generate coverage report")
  23. parser.add_option('-v', '--verbosity', dest='verbosity', default=1,
  24. type='int', help="Verbosity of output")
  25. parser.add_option('-d', '--pdb', dest='pdb', default=False,
  26. action='store_true', help="Whether to drop into PDB on failure/error")
  27. (options, args) = parser.parse_args()
  28. if options.use_coverage:
  29. print 'Running tests with coverage'
  30. c = coverage(source=['oscar'])
  31. c.start()
  32. run_tests(options, *args)
  33. c.stop()
  34. print 'Generate HTML reports'
  35. c.html_report()
  36. else:
  37. run_tests(options, *args)