I am having a little difficulty to figure out why this unittest for a Thread subclass always fails...
# unittest code: class SPThreadUnitTest(unittest.TestCase): def testgetresult(self): from random import randint self.i = randint(1,10) def p(n): return n self.t = spthread.SPThread(target=p, args=(self.i)) self.t.start() #self.t._res = self.t._target(self.t._args) self.assertEquals(self.i,self.t.getresult()) #spthread.SPThread code: import threading class SPThread(threading.Thread): def __init__(self,target=None,args=None): threading.Thread.__init__(self) self._target = target self._args = args self._res = None def getresult(self): return self._res def run(self): self._res = self._target(self._args) A simple little test. But no matter what, the self._res didn't get any value but None, so the assertion of self.i and self.t.getresult() always fails. If I use the commented out code, it works. So the start() function has some tricky stuff? Can someone point me out where the problem is? Thanks, Jim -- http://mail.python.org/mailman/listinfo/python-list