From: Tom Clegg Date: Thu, 5 Feb 2015 22:02:45 +0000 (-0500) Subject: 3021: Give up earlier if ARVADOS_TEST_API_HOST is set but reset() fails. X-Git-Tag: 1.1.0~1838^2~8 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/7b9ca2a26b4099e45548d83fc878fe295f2cdc56 3021: Give up earlier if ARVADOS_TEST_API_HOST is set but reset() fails. --- diff --git a/sdk/python/tests/run_test_server.py b/sdk/python/tests/run_test_server.py index b5536da77c..19520c86bf 100644 --- a/sdk/python/tests/run_test_server.py +++ b/sdk/python/tests/run_test_server.py @@ -143,19 +143,22 @@ def run(leave_running_atexit=False): existing_api_host = os.environ.get('ARVADOS_TEST_API_HOST', my_api_host) if existing_api_host and pid_file_ok: - try: - reset() - return - except: - pass + if existing_api_host == my_api_host: + try: + return reset() + except: + # Fall through to shutdown-and-start case. + pass + else: + # Server was provided by parent. Can't recover if it's + # unresettable. + return reset() # Before trying to start up our own server, call stop() to avoid # "Phusion Passenger Standalone is already running on PID 12345". - # We want to kill it if it's our own _or_ it's some stale - # left-over server. But if it's been deliberately provided to us - # by a parent process, we don't want to force-kill it. That'll - # just wreck things for the next test suite that tries to use it. - stop(force=('ARVADOS_TEST_API_HOST' not in os.environ)) + # (If we've gotten this far, ARVADOS_TEST_API_HOST isn't set, so + # we know the server is ours to kill.) + stop(force=True) restore_cwd = os.getcwd() api_src_dir = os.path.join(SERVICES_SRC_DIR, 'api')