backport rev. 54207: add a few sanity checks in unittest.TestSuite.addTest(s).

This commit is contained in:
Georg Brandl 2007-03-07 11:55:25 +00:00
parent 4a7da9cdbc
commit d480b3370b
1 changed files with 9 additions and 0 deletions

View File

@ -411,9 +411,18 @@ class TestSuite:
return cases
def addTest(self, test):
# sanity checks
if not callable(test):
raise TypeError("the test to add must be callable")
if (isinstance(test, (type, types.ClassType)) and
issubclass(test, (TestCase, TestSuite))):
raise TypeError("TestCases and TestSuites must be instantiated "
"before passing them to addTest()")
self._tests.append(test)
def addTests(self, tests):
if isinstance(tests, basestring):
raise TypeError("tests must be an iterable of tests, not a string")
for test in tests:
self.addTest(test)