From: Steve Purcell Date: Wed, 8 Aug 2001 07:57:26 +0000 (+0000) Subject: Merged in bugfix from PyUnit CVS for problem reported by Gary Todd. X-Git-Tag: v2.2a3~750 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e00dde2087db2c211f9c9267659d37e3306f79d8;p=thirdparty%2FPython%2Fcpython.git Merged in bugfix from PyUnit CVS for problem reported by Gary Todd. If 'unittest.py' was run from the command line with the name of a test case class as a parameter, it failed with an ugly error. (Which was a shame, because the documentation says you can do that.) The problem was the old 'is the class X that you imported from me the same as my class X?' gotcha. --- diff --git a/Lib/unittest.py b/Lib/unittest.py index c3faa10e3fce..480e825d5807 100644 --- a/Lib/unittest.py +++ b/Lib/unittest.py @@ -432,16 +432,17 @@ class TestLoader: for part in parts: obj = getattr(obj, part) + import unittest if type(obj) == types.ModuleType: return self.loadTestsFromModule(obj) - elif type(obj) == types.ClassType and issubclass(obj, TestCase): + elif type(obj) == types.ClassType and issubclass(obj, unittest.TestCase): return self.loadTestsFromTestCase(obj) elif type(obj) == types.UnboundMethodType: return obj.im_class(obj.__name__) elif callable(obj): test = obj() - if not isinstance(test, TestCase) and \ - not isinstance(test, TestSuite): + if not isinstance(test, unittest.TestCase) and \ + not isinstance(test, unittest.TestSuite): raise ValueError, \ "calling %s returned %s, not a test" % (obj,test) return test