From e00dde2087db2c211f9c9267659d37e3306f79d8 Mon Sep 17 00:00:00 2001 From: Steve Purcell Date: Wed, 8 Aug 2001 07:57:26 +0000 Subject: 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. --- Lib/unittest.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Lib/unittest.py b/Lib/unittest.py index c3faa10..480e825 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 -- cgit v0.12