On May 18, 4:13 pm, i3dmaster <[EMAIL PROTECTED]> wrote: > 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
oh wft... I got it now. its the join() call... -- http://mail.python.org/mailman/listinfo/python-list