Index: django/core/management.py
===================================================================
--- django/core/management.py	(Revision 5422)
+++ django/core/management.py	(Arbeitskopie)
@@ -1158,6 +1158,31 @@
         sys.stderr.write(s.read())
         sys.exit(1)
 
+def runtestserver(addr, port, use_reloader=False, admin_media_dir=''):
+    "Starts a lightweight Web server for testing."
+    from django.test.utils import setup_test_environment, teardown_test_environment
+    from django.test.utils import create_test_db, destroy_test_db
+    from django.conf import settings
+
+    setup_test_environment()
+    old_name = settings.DATABASE_NAME
+    create_test_db()
+
+    # Install the 'testdata' fixture, using format discovery
+    load_data(['test_data'], verbosity=True)
+
+    try:
+        use_reloader = False # Must always be False !
+        runserver(addr, port, use_reloader, admin_media_dir)
+    except SystemExit:
+        destroy_test_db(old_name)
+        teardown_test_environment()
+        raise
+
+    destroy_test_db(old_name)
+    teardown_test_environment()
+runtestserver.args = '[--adminmedia=ADMIN_MEDIA_PATH] [optional port number, or ipaddr:port]'
+
 def runserver(addr, port, use_reloader=True, admin_media_dir=''):
     "Starts a lightweight Web server for development."
     from django.core.servers.basehttp import run, AdminMediaHandler, WSGIServerException
@@ -1468,6 +1493,7 @@
     'reset': reset,
     'runfcgi': runfcgi,
     'runserver': runserver,
+    'runtestserver': runtestserver,
     'shell': run_shell,
     'sql': get_sql_create,
     'sqlall': get_sql_all,
@@ -1603,7 +1629,7 @@
         except IndexError:
             parser.print_usage_and_exit()
         action_mapping[action](name, os.getcwd())
-    elif action == 'runserver':
+    elif action in ('runserver', 'runtestserver'):
         if len(args) < 2:
             addr = ''
             port = '8000'
