From: Georg Brandl Date: Wed, 7 Mar 2007 11:55:25 +0000 (+0000) Subject: backport rev. 54207: add a few sanity checks in unittest.TestSuite.addTest(s). X-Git-Tag: v2.5.1c1~75 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d480b3370b8015dbe0f217b49c9e18b5c986d28e;p=python backport rev. 54207: add a few sanity checks in unittest.TestSuite.addTest(s). --- diff --git a/Lib/unittest.py b/Lib/unittest.py index cde23d8a08..cd91c2c5b1 100644 --- a/Lib/unittest.py +++ b/Lib/unittest.py @@ -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)