X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/220778381f3a6aa6988c682f914fb9baeada85be..5c4d9d38dcee73a7ffb6221c80f707c3924da64f:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index 40d37621ea..636c0306ca 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -349,15 +349,19 @@ start_services() { rm -f "$WORKSPACE/tmp/api.pid" fi cd "$WORKSPACE" \ - && eval $(python sdk/python/tests/run_test_server.py start --auth admin) \ + && eval $(python sdk/python/tests/run_test_server.py start --auth admin || echo fail=1) \ && export ARVADOS_TEST_API_HOST="$ARVADOS_API_HOST" \ && export ARVADOS_TEST_API_INSTALLED="$$" \ + && python sdk/python/tests/run_test_server.py start_controller \ && python sdk/python/tests/run_test_server.py start_keep_proxy \ && python sdk/python/tests/run_test_server.py start_keep-web \ && python sdk/python/tests/run_test_server.py start_arv-git-httpd \ && python sdk/python/tests/run_test_server.py start_ws \ - && python sdk/python/tests/run_test_server.py start_nginx \ + && eval $(python sdk/python/tests/run_test_server.py start_nginx || echo fail=1) \ && (env | egrep ^ARVADOS) + if [[ -n "$fail" ]]; then + return 1 + fi } stop_services() { @@ -371,6 +375,7 @@ stop_services() { && python sdk/python/tests/run_test_server.py stop_ws \ && python sdk/python/tests/run_test_server.py stop_keep-web \ && python sdk/python/tests/run_test_server.py stop_keep_proxy \ + && python sdk/python/tests/run_test_server.py stop_controller \ && python sdk/python/tests/run_test_server.py stop } @@ -408,6 +413,8 @@ do fi done +rm -vf "${WORKSPACE}/tmp/*.log" + setup_ruby_environment() { if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then source "$HOME/.rvm/scripts/rvm" @@ -516,12 +523,17 @@ export GOPATH set -e mkdir -p "$GOPATH/src/git.curoverse.com" rmdir -v --parents --ignore-fail-on-non-empty "${temp}/GOPATH" + if [[ ! -h "$GOPATH/src/git.curoverse.com/arvados.git" ]]; then + for d in \ + "$GOPATH/src/git.curoverse.com/arvados.git/tmp/GOPATH" \ + "$GOPATH/src/git.curoverse.com/arvados.git/tmp" \ + "$GOPATH/src/git.curoverse.com/arvados.git"; do + [[ -d "$d" ]] && rmdir "$d" + done + fi for d in \ - "$GOPATH/src/git.curoverse.com/arvados.git/tmp/GOPATH" \ - "$GOPATH/src/git.curoverse.com/arvados.git/tmp" \ "$GOPATH/src/git.curoverse.com/arvados.git/arvados" \ "$GOPATH/src/git.curoverse.com/arvados.git"; do - [[ -d "$d" ]] && rmdir "$d" [[ -h "$d" ]] && rm "$d" done ln -vsfT "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" @@ -604,6 +616,12 @@ then gem install --user-install bundler || fatal 'Could not install bundler' fi +# Jenkins config requires that glob tmp/*.log match something. Ensure +# that happens even if we don't end up running services that set up +# logging. +mkdir -p "${WORKSPACE}/tmp/" || fatal "could not mkdir ${WORKSPACE}/tmp" +touch "${WORKSPACE}/tmp/controller.log" || fatal "could not touch ${WORKSPACE}/tmp/controller.log" + retry() { remain="${repeat}" while : @@ -640,8 +658,9 @@ do_test() { ;; esac if [[ -z "${skip[$suite]}" && -z "${skip[$1]}" && \ - (-z "${only}" || "${only}" == "${suite}" || \ - "${only}" == "${1}") ]]; then + (-z "${only}" || "${only}" == "${suite}" || \ + "${only}" == "${1}") || + "${only}" == "${2}" ]]; then retry do_test_once ${@} else title "Skipping ${1} tests"