X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d3313e652e392b1c0067bcddd65903ed0af19b44..162766a3f8e91024f0f40fbc3d5955b899df73a9:/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 155bcedc62..642b7ccbad 100644 --- a/sdk/python/tests/run_test_server.py +++ b/sdk/python/tests/run_test_server.py @@ -4,6 +4,7 @@ from __future__ import print_function import argparse import atexit import errno +import glob import httplib2 import os import pipes @@ -12,8 +13,8 @@ import re import shutil import signal import socket -import subprocess import string +import subprocess import sys import tempfile import time @@ -192,7 +193,7 @@ def _fifo2stderr(label): raise os.mkfifo(fifo, 0700) subprocess.Popen( - ['sed', '-e', 's/^/['+label+'] /', fifo], + ['stdbuf', '-i0', '-oL', '-eL', 'sed', '-e', 's/^/['+label+'] /', fifo], stdout=sys.stderr) return fifo @@ -213,8 +214,14 @@ def run(leave_running_atexit=False): """ global my_api_host - # Delete cached discovery document. - shutil.rmtree(arvados.http_cache('discovery')) + # Delete cached discovery documents. + # + # This will clear cached docs that belong to other processes (like + # concurrent test suites) even if they're still running. They should + # be able to tolerate that. + for fn in glob.glob(os.path.join(arvados.http_cache('discovery'), + '*,arvados,v1,rest,*')): + os.unlink(fn) pid_file = _pidfile('api') pid_file_ok = find_server_pid(pid_file, 0) @@ -387,8 +394,7 @@ def run_keep(blob_signing_key=None, enforce_permissions=False, num_servers=2): with open(os.path.join(TEST_TMPDIR, "keep.blob_signing_key"), "w") as f: keep_args['-blob-signing-key-file'] = f.name f.write(blob_signing_key) - if enforce_permissions: - keep_args['-enforce-permissions'] = 'true' + keep_args['-enforce-permissions'] = str(enforce_permissions).lower() with open(os.path.join(TEST_TMPDIR, "keep.data-manager-token-file"), "w") as f: keep_args['-data-manager-token-file'] = f.name f.write(auth_token('data_manager')) @@ -469,7 +475,7 @@ def run_keep_proxy(): 'service_type': 'proxy', 'service_ssl_flag': False, }}).execute() - os.environ["ARVADOS_KEEP_PROXY"] = "http://localhost:{}".format(port) + os.environ["ARVADOS_KEEP_SERVICES"] = "http://localhost:{}".format(port) _setport('keepproxy', port) _wait_until_port_listens(port) @@ -657,7 +663,7 @@ class TestCaseWithServers(unittest.TestCase): cls._orig_environ = os.environ.copy() cls._orig_config = arvados.config.settings().copy() cls._cleanup_funcs = [] - os.environ.pop('ARVADOS_KEEP_PROXY', None) + os.environ.pop('ARVADOS_KEEP_SERVICES', None) os.environ.pop('ARVADOS_EXTERNAL_CLIENT', None) for server_kwargs, start_func, stop_func in ( (cls.MAIN_SERVER, run, reset),