/home/johnny/projects/merlinux/py/dist/py/execnet/register.py:32
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:111
def __init__(self, host, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.host = host = str(host)
self.port = port = int(port)
sock.connect((host, port))
io = inputoutput.SocketIO(sock)
-> InstallableGateway.__init__(self, io=io)
/home/johnny/projects/merlinux/py/dist/py/execnet/register.py:140
def remote_install(cls, gateway, hostport=None):
""" return a connected socket gateway through the
given gateway.
"""
if hostport is None:
host, port = ('', 0)
else:
host, port = hostport
socketserverbootstrap = py.code.Source(
mypath.dirpath('script', 'socketserver.py').read('rU'),
"""
import socket
sock = bind_and_listen((%r, %r))
hostname = socket.gethostname()
channel.send((hostname, sock.getsockname()))
startserver(sock)
""" % (host, port))
# execute the above socketserverbootstrap on the other side
channel = gateway.remote_exec(socketserverbootstrap)
hostname, (realhost, realport) = channel.receive()
if hostport is None:
realhost = hostname
#gateway.trace("remote_install received"
# "port=%r, hostname = %r" %(realport, hostname))
-> return py.execnet.SocketGateway(realhost, realport)
/home/johnny/projects/merlinux/py/dist/py/execnet/testing/test_gateway.py:392
def setup_class(cls):
# open a gateway to a fresh child process
cls.proxygw = py.execnet.PopenGateway()
-> cls.gw = py.execnet.SocketGateway.remote_install(cls.proxygw)
/home/johnny/projects/merlinux/py/dist/py/test/collect.py:419
def setup(self):
setup_class = getattr(self.obj, 'setup_class', None)
if setup_class is not None:
setup_class = getattr(setup_class, 'im_func', setup_class)
-> setup_class(self.obj)
/home/johnny/projects/merlinux/py/dist/py/test/item.py:29
def prepare(self, colitem):
""" setup objects along the collector chain to the test-method
Teardown any unneccessary previously setup objects.
"""
needed_collectors = colitem.listchain()
while self.stack:
if self.stack == needed_collectors[:len(self.stack)]:
break
col = self.stack.pop()
col.teardown()
for col in needed_collectors[len(self.stack):]:
#print "setting up", col
-> col.setup()
self.stack.append(col)
/home/johnny/projects/merlinux/py/dist/py/test/item.py:72
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