15954: Fix railsapi startup in run_test_server.py.
authorTom Clegg <tom@tomclegg.ca>
Thu, 27 Feb 2020 15:22:54 +0000 (10:22 -0500)
committerTom Clegg <tom@tomclegg.ca>
Thu, 27 Feb 2020 15:22:54 +0000 (10:22 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

build/run-tests.sh
sdk/python/tests/run_test_server.py

index fff095e6e62e0922917b6ddee9ecd3160a73447f..3bb3f0014f0fa42e7ffd9268dd30997f1ba32a6c 100755 (executable)
@@ -405,7 +405,7 @@ checkdiscoverydoc() {
     dd="https://${1}/discovery/v1/apis/arvados/v1/rest"
     if ! (set -o pipefail; curl -fsk "$dd" | grep -q ^{ ); then
         echo >&2 "ERROR: could not retrieve discovery doc from RailsAPI at $dd"
-        tail -v $WORKSPACE/services/api/log/test.log
+        tail -v $WORKSPACE/tmp/railsapi.log
         return 1
     fi
     echo "${dd} ok"
index 5b75de08fef9afaf9ea83188579b112ca6e2ca27..bca372ccdd32da49cccb2d146014dc7c67be39e7 100644 (file)
@@ -327,9 +327,9 @@ def run(leave_running_atexit=False):
     env.pop('ARVADOS_API_HOST_INSECURE', None)
     env.pop('ARVADOS_API_TOKEN', None)
     logf = open(_logfilename('railsapi'), 'a')
-    start_msg = subprocess.check_output(
+    railsapi = subprocess.Popen(
         ['bundle', 'exec',
-         'passenger', 'start', '-d', '-p{}'.format(port),
+         'passenger', 'start', '-p{}'.format(port),
          '--pid-file', pid_file,
          '--log-file', '/dev/stdout',
          '--ssl',
@@ -340,11 +340,7 @@ def run(leave_running_atexit=False):
     if not leave_running_atexit:
         atexit.register(kill_server_pid, pid_file, passenger_root=api_src_dir)
 
-    match = re.search(r'Accessible via: https://(.*?)/', start_msg)
-    if not match:
-        raise Exception(
-            "Passenger did not report endpoint: {}".format(start_msg))
-    my_api_host = match.group(1)
+    my_api_host = "127.0.0.1:"+str(port)
     os.environ['ARVADOS_API_HOST'] = my_api_host
 
     # Make sure the server has written its pid file and started