From: Raymond Hettinger Date: Sat, 4 Dec 2004 21:21:53 +0000 (+0000) Subject: SF bug #1078905: Docs for unittest run() methods are misleading X-Git-Tag: v2.5a0~2304 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=664347be946f0a217f91259f93962727ba84c287;p=python SF bug #1078905: Docs for unittest run() methods are misleading --- diff --git a/Lib/unittest.py b/Lib/unittest.py index 70645fbce5..efb2b025a8 100644 --- a/Lib/unittest.py +++ b/Lib/unittest.py @@ -277,7 +277,8 @@ class TestCase: 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 @@ class TestSuite: 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() diff --git a/Misc/NEWS b/Misc/NEWS index 43289c9fbe..b20b872a45 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -21,6 +21,10 @@ Extension Modules Library ------- +- unittest.TestCase.run() and unittest.TestSuite.run() can now be successfully + extended or overridden by subclasses. Formerly, the subclassed method would + be ignored by the rest of the module. (Bug #1078905). + - the deprecated whrandom module was removed. Use the random module instead. - heapq.nsmallest() and heapq.nlargest() now support key= arguments with