def __call__(self, fn):
def decorated_fn():
sock, port = find_free_port()
pipe = Pipe()
control = self.Class(port, 'password', sock, [], pipe)
control.start()
remote = RemoteControl(('', port), 'password', 5)
result = fn(control, remote, pipe)
try:
time.sleep(0.1)
control.terminate()
control.join()
except OSError, e:
if e.errno == errno.ESRCH:
pass # the test already killed the process
else:
raise e
return result
return decorated_fn
评论列表
文章目录