aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/runtests/runtests.py
diff options
context:
space:
mode:
Diffstat (limited to 'rest_framework/runtests/runtests.py')
-rwxr-xr-xrest_framework/runtests/runtests.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/rest_framework/runtests/runtests.py b/rest_framework/runtests/runtests.py
new file mode 100755
index 00000000..b2438c9b
--- /dev/null
+++ b/rest_framework/runtests/runtests.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+# http://ericholscher.com/blog/2009/jun/29/enable-setuppy-test-your-django-apps/
+# http://www.travisswicegood.com/2010/01/17/django-virtualenv-pip-and-fabric/
+# http://code.djangoproject.com/svn/django/trunk/tests/runtests.py
+import os
+import sys
+os.environ['DJANGO_SETTINGS_MODULE'] = 'rest_framework.runtests.settings'
+
+from django.conf import settings
+from django.test.utils import get_runner
+
+
+def usage():
+ return """
+ Usage: python runtests.py [UnitTestClass].[method]
+
+ You can pass the Class name of the `UnitTestClass` you want to test.
+
+ Append a method name if you only want to test a specific method of that class.
+ """
+
+
+def main():
+ TestRunner = get_runner(settings)
+
+ test_runner = TestRunner()
+ if len(sys.argv) == 2:
+ test_case = '.' + sys.argv[1]
+ elif len(sys.argv) == 1:
+ test_case = ''
+ else:
+ print usage()
+ sys.exit(1)
+ failures = test_runner.run_tests(['rest_framework' + test_case])
+
+ sys.exit(failures)
+
+if __name__ == '__main__':
+ main()