#!/usr/bin/env python """ runtests ~~~~~~~~ :copyright: (c) 2010 DISQUS. :license: Apache License 2.0, see LICENSE for more details. """ import sys from django.conf import settings from optparse import OptionParser if not settings.configured: settings.configure( DATABASE_ENGINE='sqlite3', DATABASES={ 'default': { 'ENGINE': 'django.db.backends.sqlite3', }, }, INSTALLED_APPS=[ 'django.contrib.auth', 'django.contrib.admin', 'django.contrib.sessions', 'django.contrib.sites', # Included to fix Disqus' test Django which solves IntegrityMessage case 'django.contrib.contenttypes', 'gargoyle', 'tests', ], ROOT_URLCONF='', DEBUG=False, MIDDLEWARE_CLASSES=(), TEMPLATE_DEBUG=True, GARGOYLE_SWITCH_DEFAULTS={ 'active_by_default': { 'is_active': True, 'label': 'Default Active', 'description': 'When you want the newness', }, 'inactive_by_default': { 'is_active': False, 'label': 'Default Inactive', 'description': 'Controls the funkiness.', }, }, SITE_ID=1, ) from django_nose import NoseTestSuiteRunner 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'] test_runner = NoseTestSuiteRunner(**kwargs) failures = test_runner.run_tests(test_args) sys.exit(failures) if __name__ == '__main__': parser = OptionParser() parser.add_option('--verbosity', dest='verbosity', action='store', default=1, type=int) parser.add_options(NoseTestSuiteRunner.options) (options, args) = parser.parse_args() runtests(*args, **options.__dict__)