Make run_tests.py robust against port_server not starting

pull/3078/head
Craig Tiller 10 years ago
parent 52730d3bea
commit abd37fd278
  1. 15
      tools/run_tests/run_tests.py

@ -536,7 +536,8 @@ def _start_port_server(port_server_port):
# if not running ==> start a new one # if not running ==> start a new one
# otherwise, leave it up # otherwise, leave it up
try: try:
version = urllib2.urlopen('http://localhost:%d/version' % port_server_port).read() version = urllib2.urlopen('http://localhost:%d/version' % port_server_port,
timeout=1).read()
running = True running = True
except Exception: except Exception:
running = False running = False
@ -553,13 +554,21 @@ def _start_port_server(port_server_port):
['python', 'tools/run_tests/port_server.py', '-p', '%d' % port_server_port], ['python', 'tools/run_tests/port_server.py', '-p', '%d' % port_server_port],
stderr=subprocess.STDOUT, stderr=subprocess.STDOUT,
stdout=port_log) stdout=port_log)
# ensure port server is up # ensure port server is
waits = 0
while True: while True:
if waits > 10:
port_server.kill()
print "port_server failed to start"
sys.exit(1)
try: try:
urllib2.urlopen('http://localhost:%d/get' % port_server_port).read() urllib2.urlopen('http://localhost:%d/get' % port_server_port,
timeout=1).read()
break break
except urllib2.URLError: except urllib2.URLError:
print "waiting for port_server"
time.sleep(0.5) time.sleep(0.5)
waits += 1
except: except:
port_server.kill() port_server.kill()
raise raise

Loading…
Cancel
Save