diff --git a/Lib/unittest.py b/Lib/unittest.py
index 70645fb..efb2b02 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -277,7 +277,8 @@
         finally:
             result.stopTest(self)
 
-    __call__ = run
+    def __call__(self, *args, **kwds):
+        return self.run(*args, **kwds)
 
     def debug(self):
         """Run the test without collecting errors in a TestResult"""
@@ -417,15 +418,15 @@
             self.addTest(test)
 
     def run(self, result):
-        return self(result)
-
-    def __call__(self, result):
         for test in self._tests:
             if result.shouldStop:
                 break
             test(result)
         return result
 
+    def __call__(self, *args, **kwds):
+        return self.run(*args, **kwds)
+
     def debug(self):
         """Run the tests without collecting errors in a TestResult"""
         for test in self._tests: test.debug()
