Index: django/test/simple.py
===================================================================
--- django/test/simple.py   (revision 4773)
+++ django/test/simple.py   (working copy)
@@ -29,14 +29,20 @@
         app_path = app_module.__name__.split('.')[:-1]
         test_module = __import__('.'.join(app_path + [TEST_MODULE]), {}, {}, TEST_MODULE)
         
-        suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(test_module))
-        try:            
-            suite.addTest(doctest.DocTestSuite(test_module, 
-                                               checker=doctestOutputChecker,
-                                               runner=DocTestRunner))
-        except ValueError:
-            # No doc tests in tests.py
-            pass
+        # If the module has a 'suite' attribute, we assume this is a function
+        # that returns a complete suite for this module, otherwise we build
+        # a test suite ourselves.
+        if hasattr(test_module, 'suite'):
+           suite.addTest(test_module.suite())
+        else:
+           suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(test_module))
+           try:            
+               suite.addTest(doctest.DocTestSuite(test_module, 
+                                                  checker=doctestOutputChecker,
+                                                  runner=DocTestRunner))
+           except ValueError:
+               # No doc tests in tests.py
+               pass
     except ImportError, e:
         # Couldn't import tests.py. Was it due to a missing file, or
         # due to an import error in a tests.py that actually exists?
