runtests.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/usr/bin/env python
  2. import logging
  3. import sys
  4. from os.path import dirname, abspath, join
  5. logging.getLogger('sentry').addHandler(logging.StreamHandler())
  6. from django.conf import settings
  7. if not settings.configured:
  8. settings.configure(
  9. DATABASE_ENGINE='sqlite3',
  10. # HACK: this fixes our threaded runserver remote tests
  11. # DATABASE_NAME='test_sentry',
  12. # TEST_DATABASE_NAME='test_sentry',
  13. INSTALLED_APPS=[
  14. 'django.contrib.auth',
  15. 'django.contrib.admin',
  16. 'django.contrib.sessions',
  17. 'django.contrib.sites',
  18. # Included to fix Disqus' test Django which solves IntegrityMessage case
  19. 'django.contrib.contenttypes',
  20. 'paging',
  21. 'indexer',
  22. 'south',
  23. 'djcelery', # celery client
  24. 'haystack',
  25. 'sentry',
  26. 'sentry.client',
  27. 'sentry.client.celery',
  28. # included plugin tests
  29. 'sentry.plugins.sentry_servers',
  30. 'sentry.plugins.sentry_urls',
  31. 'sentry.plugins.sentry_redmine',
  32. # No fucking idea why I have to do this
  33. 'sentry.tests',
  34. ],
  35. ROOT_URLCONF='',
  36. DEBUG=False,
  37. SITE_ID=1,
  38. BROKER_HOST="localhost",
  39. BROKER_PORT=5672,
  40. BROKER_USER="guest",
  41. BROKER_PASSWORD="guest",
  42. BROKER_VHOST="/",
  43. CELERY_ALWAYS_EAGER=True,
  44. SENTRY_THRASHING_LIMIT=0,
  45. TEMPLATE_DEBUG=True,
  46. HAYSTACK_SITECONF='sentry.search_indexes',
  47. HAYSTACK_SEARCH_ENGINE='whoosh',
  48. SENTRY_SEARCH_ENGINE='whoosh',
  49. SENTRY_SEARCH_OPTIONS={
  50. 'path': join(dirname(__file__), 'sentry_index'),
  51. },
  52. )
  53. import djcelery
  54. djcelery.setup_loader()
  55. from django.test.simple import run_tests
  56. def runtests(*test_args):
  57. if 'south' in settings.INSTALLED_APPS:
  58. from south.management.commands import patch_for_test_db_setup
  59. patch_for_test_db_setup()
  60. if not test_args:
  61. test_args = ['sentry']
  62. parent = dirname(abspath(__file__))
  63. sys.path.insert(0, parent)
  64. failures = run_tests(test_args, verbosity=1, interactive=True)
  65. sys.exit(failures)
  66. if __name__ == '__main__':
  67. runtests(*sys.argv[1:])