Kaydet (Commit) e00dde20 authored tarafından Steve Purcell's avatar Steve Purcell

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.
üst a38d2608
...@@ -432,16 +432,17 @@ class TestLoader: ...@@ -432,16 +432,17 @@ class TestLoader:
for part in parts: for part in parts:
obj = getattr(obj, part) obj = getattr(obj, part)
import unittest
if type(obj) == types.ModuleType: if type(obj) == types.ModuleType:
return self.loadTestsFromModule(obj) 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) return self.loadTestsFromTestCase(obj)
elif type(obj) == types.UnboundMethodType: elif type(obj) == types.UnboundMethodType:
return obj.im_class(obj.__name__) return obj.im_class(obj.__name__)
elif callable(obj): elif callable(obj):
test = obj() test = obj()
if not isinstance(test, TestCase) and \ if not isinstance(test, unittest.TestCase) and \
not isinstance(test, TestSuite): not isinstance(test, unittest.TestSuite):
raise ValueError, \ raise ValueError, \
"calling %s returned %s, not a test" % (obj,test) "calling %s returned %s, not a test" % (obj,test)
return test return test
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment