X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5005c8c8d3e1385084e3ff4d3f3133707522c17d..30298819bc92b5ec90c8544bee7e102cb64e888d:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index 087889145e..6bc8b84f85 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -122,6 +122,7 @@ sdk/go/stats sdk/go/crunchrunner sdk/cwl sdk/R +sdk/java-v2 tools/sync-groups tools/crunchstat-summary tools/crunchstat-summary:py3 @@ -368,6 +369,27 @@ if [[ $NEED_SDK_R == false ]]; then echo "R SDK not needed, it will not be installed." fi +checkpidfile() { + svc="$1" + pid="$(cat "$WORKSPACE/tmp/${svc}.pid")" + if [[ -z "$pid" ]] || ! kill -0 "$pid"; then + tail $WORKSPACE/tmp/${1}*.log + echo "${svc} pid ${pid} not running" + return 1 + fi + echo "${svc} pid ${pid} ok" +} + +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 + return 1 + fi + echo "${dd} ok" +} + start_services() { if [[ -n "$ARVADOS_TEST_API_HOST" ]]; then return 0 @@ -382,24 +404,30 @@ start_services() { rm -f "$WORKSPACE/tmp/api.pid" fi all_services_stopped= - fail=0 + fail=1 cd "$WORKSPACE" \ - && eval $(python sdk/python/tests/run_test_server.py start --auth admin || echo "fail=1; false") \ + && eval $(python sdk/python/tests/run_test_server.py start --auth admin) \ && export ARVADOS_TEST_API_HOST="$ARVADOS_API_HOST" \ && export ARVADOS_TEST_API_INSTALLED="$$" \ + && checkpidfile api \ + && checkdiscoverydoc $ARVADOS_API_HOST \ && python sdk/python/tests/run_test_server.py start_controller \ + && checkpidfile controller \ && python sdk/python/tests/run_test_server.py start_keep_proxy \ + && checkpidfile keepproxy \ && python sdk/python/tests/run_test_server.py start_keep-web \ + && checkpidfile keep-web \ && python sdk/python/tests/run_test_server.py start_arv-git-httpd \ + && checkpidfile arv-git-httpd \ && python sdk/python/tests/run_test_server.py start_ws \ - && eval $(python sdk/python/tests/run_test_server.py start_nginx || echo "fail=1; false") \ + && checkpidfile ws \ + && eval $(python sdk/python/tests/run_test_server.py start_nginx) \ + && checkdiscoverydoc $ARVADOS_API_HOST \ + && checkpidfile nginx \ + && export ARVADOS_TEST_PROXY_SERVICES=1 \ && (env | egrep ^ARVADOS) \ - || fail=1 + && fail=0 deactivate - if [[ $fail = 0 ]] && ! kill -0 "$(cat "$WORKSPACE/tmp/nginx.pid")"; then - echo >&2 "ERROR: nginx seems to have died already" - fail=1 - fi if [[ $fail != 0 ]]; then unset ARVADOS_TEST_API_HOST fi @@ -410,7 +438,7 @@ stop_services() { if [[ -n "$all_services_stopped" ]]; then return fi - unset ARVADOS_TEST_API_HOST + unset ARVADOS_TEST_API_HOST ARVADOS_TEST_PROXY_SERVICES . "$VENVDIR/bin/activate" || return cd "$WORKSPACE" \ && python sdk/python/tests/run_test_server.py stop_nginx \ @@ -1040,6 +1068,10 @@ test_sdk/cli() { && KEEP_LOCAL_STORE=/tmp/keep bundle exec rake test TESTOPTS=-v ${testargs[sdk/cli]} } +test_sdk/java-v2() { + cd "$WORKSPACE/sdk/java-v2" && gradle test +} + test_services/login-sync() { cd "$WORKSPACE/services/login-sync" \ && bundle exec rake test TESTOPTS=-v ${testargs[services/login-sync]} @@ -1137,6 +1169,7 @@ test_all() { do_test sdk/R do_test sdk/cli do_test services/login-sync + do_test sdk/java-v2 do_test services/nodemanager_integration for p in "${pythonstuff[@]}" do