Author MarkRoddy
Recipients MarkRoddy
Date 2009-09-08.20:03:47
SpamBayes Score 2.245e-08
Marked as misclassified No
Message-id <1252440230.46.0.994444389252.issue6866@psf.upfronthosting.co.za>
In-reply-to
Content
The TestLoader class in unittest.py has an attribute 'suiteClass' that 
is used to create instances of TestSuite object(s) in the process of 
loading tests.  If it is desired to subclass the TestSuite class then 
consumers may set this attribute on a TestLoader object in order to 
override what TestSuite class gets instantiated (a pythonic version of 
the factory method pattern).  

However, the loadTestsFromName() on the TestLoader class does not use 
this attribute to create TestSuite instances, and instead has a hard 
coded reference to the unittest.TestSuite class.  This results in the 
base class being created instead of a possibly desired subclass that 
has been specified via this attribute.  

Solution for this issue is to change the loadTestsFromName() method to 
use the suiteClass attribute when creating TestSuite objects instead 
using a reference to the TestSuite class.  Included is a patch that 
implements this behavior as well as two additional test for the 
test_unittest.py file which expose this issue if run against an 
unpatched version of unittest.
History
Date User Action Args
2009-09-08 20:03:50MarkRoddysetrecipients: + MarkRoddy
2009-09-08 20:03:50MarkRoddysetmessageid: <1252440230.46.0.994444389252.issue6866@psf.upfronthosting.co.za>
2009-09-08 20:03:48MarkRoddylinkissue6866 messages
2009-09-08 20:03:48MarkRoddycreate