X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a8378b8deaa2bbf9d2c154d9d9bb072538c288cc..85fd7987cf5bf579d79e68d1476a100dac982914:/sdk/python/tests/run_test_server.py diff --git a/sdk/python/tests/run_test_server.py b/sdk/python/tests/run_test_server.py index d10e60c22f..567b3b3bfa 100644 --- a/sdk/python/tests/run_test_server.py +++ b/sdk/python/tests/run_test_server.py @@ -1,6 +1,11 @@ -#!/usr/bin/env python +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 from __future__ import print_function +from __future__ import division +from builtins import str +from builtins import range import argparse import atexit import errno @@ -96,7 +101,7 @@ def kill_server_pid(pidfile, wait=10, passenger_root=False): # Use up to half of the +wait+ period waiting for "passenger # stop" to work. If the process hasn't exited by then, start # sending TERM signals. - startTERM += wait/2 + startTERM += wait//2 server_pid = None while now <= deadline and server_pid is None: @@ -211,7 +216,7 @@ def _fifo2stderr(label): except OSError as error: if error.errno != errno.ENOENT: raise - os.mkfifo(fifo, 0700) + os.mkfifo(fifo, 0o700) subprocess.Popen( ['stdbuf', '-i0', '-oL', '-eL', 'sed', '-e', 's/^/['+label+'] /', fifo], stdout=sys.stderr) @@ -283,21 +288,6 @@ def run(leave_running_atexit=False): if not os.path.exists('tmp/logs'): os.makedirs('tmp/logs') - if not os.path.exists('tmp/self-signed.pem'): - # We assume here that either passenger reports its listening - # address as https:/0.0.0.0:port/. If it reports "127.0.0.1" - # then the certificate won't match the host and reset() will - # fail certificate verification. If it reports "localhost", - # clients (notably Python SDK's websocket client) might - # resolve localhost as ::1 and then fail to connect. - subprocess.check_call([ - 'openssl', 'req', '-new', '-x509', '-nodes', - '-out', 'tmp/self-signed.pem', - '-keyout', 'tmp/self-signed.key', - '-days', '3650', - '-subj', '/CN=0.0.0.0'], - stdout=sys.stderr) - # Install the git repository fixtures. gitdir = os.path.join(SERVICES_SRC_DIR, 'api', 'tmp', 'git') gittarball = os.path.join(SERVICES_SRC_DIR, 'api', 'test', 'test.git.tar') @@ -314,10 +304,7 @@ def run(leave_running_atexit=False): env = os.environ.copy() env['RAILS_ENV'] = 'test' env['ARVADOS_TEST_WSS_PORT'] = str(wss_port) - if env.get('ARVADOS_TEST_EXPERIMENTAL_WS'): - env.pop('ARVADOS_WEBSOCKETS', None) - else: - env['ARVADOS_WEBSOCKETS'] = 'yes' + env.pop('ARVADOS_WEBSOCKETS', None) env.pop('ARVADOS_TEST_API_HOST', None) env.pop('ARVADOS_API_HOST', None) env.pop('ARVADOS_API_HOST_INSECURE', None) @@ -439,7 +426,7 @@ def _start_keep(n, keep_args): "-listen=:{}".format(port), "-pid="+_pidfile('keep{}'.format(n))] - for arg, val in keep_args.iteritems(): + for arg, val in keep_args.items(): keep_cmd.append("{}={}".format(arg, val)) logf = open(_fifo2stderr('keep{}'.format(n)), 'w') @@ -495,14 +482,15 @@ def run_keep(blob_signing_key=None, enforce_permissions=False, num_servers=2): 'keep_disk': {'keep_service_uuid': svc['uuid'] } }).execute() - # If keepproxy is running, send SIGHUP to make it discover the new - # keepstore services. - proxypidfile = _pidfile('keepproxy') - if os.path.exists(proxypidfile): - try: - os.kill(int(open(proxypidfile).read()), signal.SIGHUP) - except OSError: - os.remove(proxypidfile) + # If keepproxy and/or keep-web is running, send SIGHUP to make + # them discover the new keepstore services. + for svc in ('keepproxy', 'keep-web'): + pidfile = _pidfile('keepproxy') + if os.path.exists(pidfile): + try: + os.kill(int(open(pidfile).read()), signal.SIGHUP) + except OSError: + os.remove(pidfile) def _stop_keep(n): kill_server_pid(_pidfile('keep{}'.format(n))) @@ -736,7 +724,7 @@ class TestCaseWithServers(unittest.TestCase): @staticmethod def _restore_dict(src, dest): - for key in dest.keys(): + for key in list(dest.keys()): if key not in src: del dest[key] dest.update(src)