traceback for _thread.WorkerPool.__init__

/home/johnny/projects/merlinux/py/dist/py/execnet/gateway.py:39

   def __init__(self, io, startcount=2, maxthreads=None):
       global registered_cleanup
->     self._execpool = WorkerPool() 
   ##        self.running = True 
       self.io = io
       self._outgoing = Queue.Queue()
       self.channelfactory = ChannelFactory(self, startcount)
   ##        self._exitlock = threading.Lock()
       if not registered_cleanup:
           atexit.register(cleanup_atexit)
           registered_cleanup = True
       _active_sendqueues[self._outgoing] = True
       self.pool = NamedThreadPool(receiver = self.thread_receiver, 
                                   sender = self.thread_sender)

/home/johnny/projects/merlinux/py/dist/py/execnet/register.py:33

   def __init__(self, io):
       self.remote_bootstrap_gateway(io)
->     super(InstallableGateway, self).__init__(io=io, startcount=1)

/home/johnny/projects/merlinux/py/dist/py/execnet/register.py:54

   def __init__(self, cmd):
       infile, outfile = os.popen2(cmd)
       io = inputoutput.Popen2IO(infile, outfile)
->     super(PopenCmdGateway, self).__init__(io=io)

/home/johnny/projects/merlinux/py/dist/py/execnet/register.py:85

   def __init__(self, python=sys.executable):
       cmd = '%s -u -c "exec input()"' % python
->     super(PopenGateway, self).__init__(cmd)

/home/johnny/projects/merlinux/py/dist/py/test/tkinter/backend.py:193

   def start_tests(self, config = None, args = [], tests = []):
       if self.running:
           return
       if config is None:
           config = self.config
       self.testrepository = TestRepository()
       self.reportstore = ReportStore()
->     self.gateway = py.execnet.PopenGateway(config.option.executable) 
       #self.channel = self.gateway.newchannel(receiver = self.queue.put)
       self.channel = self.gateway.remote_exec(source = '''
           import py
           from py.__.test.tkinter.backend import remote
   
           args, tests = channel.receive()
           remote(channel, tests = tests, args = args)
           # why?
           channel.close()
           ''')
       self.channel.setcallback(self.queue.put)
       self.channel.send((args, tests))
       self.waitfinish_thread = threading.Thread(target = waitfinish, args = (self.channel,))
       self.waitfinish_thread.start()

/home/johnny/projects/merlinux/py/dist/py/test/tkinter/testing/test_backend.py:184

   def test_start_tests(self):
       config, args = py.test.Config.parse([])
       self.backend.start_tests(config = config,
                                args = [str(datadir / 'filetest.py')],
->                              tests = [])
       while self.backend.running:
           self.backend.update()
       self.backend.update()
       store = self.backend.get_store()
       assert store._repository.find(['py',
                          'test',
                          'tkinter',
                          'testing',
                          'data',
                          'filetest.py',
                          'TestClass'])

/home/johnny/projects/merlinux/py/dist/py/test/item.py:79

   def execute(self, target, *args):
       """ default implementation for calling a test target is to
               simply call it.
           """
->     target(*args)

/home/johnny/projects/merlinux/py/dist/py/test/item.py:73

   def run(self):
       self.state.prepare(self) 
->     self.execute(self.obj, *self.args)

/home/johnny/projects/merlinux/py/dist/py/test/rsession/executor.py:22

   def execute(self):
       try:
->         self.item.run()
           outcome = Outcome()
       except py.test.Item.Skipped, e: 
           outcome = Outcome(skipped=str(e))
       except (KeyboardInterrupt, SystemExit):
           raise
       except:
           excinfo = py.code.ExceptionInfo()
           if isinstance(self.item, py.test.Function): 
               fun = self.item.obj # hope this is stable 
               code = py.code.Code(fun)
               excinfo.traceback = excinfo.traceback.cut(
                       path=code.path, firstlineno=code.firstlineno)
           outcome = Outcome(excinfo=excinfo, setupfailure=False)
           if self.usepdb:
               if self.reporter is not None:
                   self.reporter(report.ImmediateFailure(self.item,
                       ReprOutcome(outcome.make_repr())))
               import pdb
               pdb.post_mortem(excinfo._excinfo[2])
               # XXX hmm, we probably will not like to continue from that point
               # or we do?
               raise SystemExit()
       outcome.stdout = ""
       outcome.stderr = ""
       return outcome

/home/johnny/projects/merlinux/py/dist/py/test/rsession/local.py:31

   def plain_runner(item, session, reporter):
       # box executor is doing stdout/err catching for us, let's do it here
       startcapture(session)
       r = RunExecutor(item, usepdb=session.config.option.usepdb, reporter=reporter)
->     outcome = r.execute()
       outcome = ReprOutcome(outcome.make_repr())
       outcome.stdout, outcome.stderr = finishcapture(session)
       return outcome

/home/johnny/projects/merlinux/py/dist/py/test/rsession/local.py:47

   def apigen_runner(item, session, reporter):
       r = RunExecutor(item, reporter=reporter)
       session.tracer.start_tracing()
->     retval = plain_runner(item, session, reporter)
       session.tracer.end_tracing()
       return retval