Commits

Carl Meyer committed d443d8c

Update test-runner for Django 1.2+.

Comments (0)

Files changed (1)

tests/runtests.py

 
 import os, sys
 
-parent = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-sys.path.insert(0, parent)
+from django.conf import settings
 
-os.environ['DJANGO_SETTINGS_MODULE'] = 'tests.test_settings'
 
-from django.test.simple import run_tests
+if not settings.configured:
+    settings_dict = dict(
+        INSTALLED_APPS=['form_utils', 'tests'],
+        DATABASES={
+            "default": {
+                "ENGINE": "django.db.backends.sqlite3",
+                }
+            },
+        MEDIA_ROOT=os.path.join(os.path.dirname(__file__), 'media'),
+        MEDIA_URL='/media/',
+        )
 
-def runtests():
-    failures = run_tests(['tests'], verbosity=1, interactive=True)
+    settings.configure(**settings_dict)
+
+
+def runtests(*test_args):
+    if not test_args:
+        test_args = ['tests']
+
+    parent = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+    sys.path.insert(0, parent)
+
+    from django.test.simple import DjangoTestSuiteRunner
+    failures = DjangoTestSuiteRunner(
+        verbosity=1, interactive=True, failfast=False).run_tests(test_args)
     sys.exit(failures)
 
+
 if __name__ == '__main__':
     runtests()