diff options
Diffstat (limited to 'runtests.py')
| -rw-r--r-- | runtests.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/runtests.py b/runtests.py new file mode 100644 index 0000000..dc5f6d0 --- /dev/null +++ b/runtests.py @@ -0,0 +1,53 @@ +#!/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)
\ No newline at end of file |
