#!/usr/bin/env python import sys from os.path import dirname, abspath from optparse import OptionParser from django.conf import settings, global_settings if not settings.configured: settings.configure( DATABASE_ENGINE='sqlite3', # HACK: this fixes our threaded runserver remote tests # DATABASE_NAME='test_sentry', # TEST_DATABASE_NAME='test_sentry', INSTALLED_APPS=[ 'django.contrib.auth', 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'debug_toolbar', 'tests', ], MIDDLEWARE_CLASSES = global_settings.MIDDLEWARE_CLASSES + ( 'debug_toolbar.middleware.DebugToolbarMiddleware', ), ROOT_URLCONF='', DEBUG=False, SITE_ID=1, ) from django.test.simple import run_tests def runtests(*test_args, **kwargs): if 'south' in settings.INSTALLED_APPS: from south.management.commands import patch_for_test_db_setup patch_for_test_db_setup() if not test_args: test_args = ['tests'] parent = dirname(abspath(__file__)) sys.path.insert(0, parent) failures = run_tests(test_args, verbosity=kwargs.get('verbosity', 1), interactive=kwargs.get('interactive', False), failfast=kwargs.get('failfast')) sys.exit(failures) if __name__ == '__main__': parser = OptionParser() parser.add_option('--failfast', action='store_true', default=False, dest='failfast') (options, args) = parser.parse_args() runtests(failfast=options.failfast, *args)