from django.test.utils import setup_test_environment, teardown_test_environment from nose.core import TextTestRunner from nose.loader import defaultTestLoader import settings def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): setup_test_environment() settings.DEBUG = False old_name = settings.DATABASE_NAME from django.db import connection connection.creation.create_test_db(verbosity, autoclobber=not interactive) if test_labels: suite = defaultTestLoader().loadTestsFromNames(test_labels) else: suite = defaultTestLoader().loadTestsFromName('.') result = TextTestRunner(verbosity=verbosity).run(suite) connection.creation.destroy_test_db(old_name, verbosity) teardown_test_environment() return len(result.failures) + len(result.errors)