[Python-checkins] CVS: python/dist/src/Lib unittest.py,1.8,1.9

Steve Purcell purcell@users.sourceforge.net
2001年8月08日 00:57:28 -0700


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv21572
Modified Files:
	unittest.py 
Log Message:
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.
Index: unittest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/unittest.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** unittest.py	2001年05月10日 01:28:40	1.8
--- unittest.py	2001年08月08日 07:57:26	1.9
***************
*** 433,439 ****
 obj = getattr(obj, part)
 
 if type(obj) == types.ModuleType:
 return self.loadTestsFromModule(obj)
! elif type(obj) == types.ClassType and issubclass(obj, TestCase):
 return self.loadTestsFromTestCase(obj)
 elif type(obj) == types.UnboundMethodType:
--- 433,440 ----
 obj = getattr(obj, part)
 
+ import unittest
 if type(obj) == types.ModuleType:
 return self.loadTestsFromModule(obj)
! elif type(obj) == types.ClassType and issubclass(obj, unittest.TestCase):
 return self.loadTestsFromTestCase(obj)
 elif type(obj) == types.UnboundMethodType:
***************
*** 441,446 ****
 elif callable(obj):
 test = obj()
! if not isinstance(test, TestCase) and \
! not isinstance(test, TestSuite):
 raise ValueError, \
 "calling %s returned %s, not a test" % (obj,test)
--- 442,447 ----
 elif callable(obj):
 test = obj()
! if not isinstance(test, unittest.TestCase) and \
! not isinstance(test, unittest.TestSuite):
 raise ValueError, \
 "calling %s returned %s, not a test" % (obj,test)

AltStyle によって変換されたページ (->オリジナル) /