Move TestRunner initialisation into unittest.TestProgram.runTests. Fixes issue 6418.
diff --git a/Lib/unittest.py b/Lib/unittest.py
index bf7baa1..064429c 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -1643,8 +1643,6 @@
                  argv=None, testRunner=None,
                  testLoader=defaultTestLoader, exit=True,
                  verbosity=1):
-        if testRunner is None:
-            testRunner = TextTestRunner
         if isinstance(module, basestring):
             self.module = __import__(module)
             for part in module.split('.')[1:]:
@@ -1734,6 +1732,8 @@
         self.test = loader.discover(start_dir, pattern, top_level_dir)
 
     def runTests(self):
+        if self.testRunner is None:
+            self.testRunner = TextTestRunner
         if isinstance(self.testRunner, (type, types.ClassType)):
             try:
                 testRunner = self.testRunner(verbosity=self.verbosity)