X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d15a62ff5e6f0c1133f670bbd7c4efd2930044f5..f9e1447e5ab21dbc0fdb08328c31811fca2fd327:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index 3cfc692aae..57ce41e3a5 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -69,10 +69,15 @@ apps/workbench_functionals (*) apps/workbench_integration (*) apps/workbench_benchmark apps/workbench_profile +cmd/arvados-client doc +lib/cli +lib/cmd +lib/crunchstat services/api services/arv-git-httpd services/crunchstat +services/dispatchcloud services/dockercleaner services/fuse services/health @@ -104,7 +109,7 @@ sdk/go/asyncbuf sdk/go/stats sdk/go/crunchrunner sdk/cwl -tools/arv-sync-groups +tools/sync-groups tools/crunchstat-summary tools/keep-exercise tools/keep-rsync @@ -304,8 +309,8 @@ do esac done -start_api() { - echo 'Starting API server...' +start_services() { + echo 'Starting API, keepproxy, keep-web, ws, arv-git-httpd, and nginx ssl proxy...' if [[ ! -d "$WORKSPACE/services/api/log" ]]; then mkdir -p "$WORKSPACE/services/api/log" fi @@ -317,39 +322,26 @@ start_api() { && 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="$$" \ - && python sdk/python/tests/run_test_server.py start_ws \ - && python sdk/python/tests/run_test_server.py start_nginx \ - && (env | egrep ^ARVADOS) -} - -start_nginx_proxy_services() { - echo 'Starting keepproxy, keep-web, ws, arv-git-httpd, and nginx ssl proxy...' - cd "$WORKSPACE" \ && 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 \ - && export ARVADOS_TEST_PROXY_SERVICES=1 + && (env | egrep ^ARVADOS) } stop_services() { - if [[ -n "$ARVADOS_TEST_PROXY_SERVICES" ]]; then - unset ARVADOS_TEST_PROXY_SERVICES - cd "$WORKSPACE" \ - && python sdk/python/tests/run_test_server.py stop_nginx \ - && python sdk/python/tests/run_test_server.py stop_arv-git-httpd \ - && 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 - fi - if [[ -n "$ARVADOS_TEST_API_HOST" ]]; then - unset ARVADOS_TEST_API_HOST - cd "$WORKSPACE" \ - && python sdk/python/tests/run_test_server.py stop_nginx \ - && python sdk/python/tests/run_test_server.py stop_ws \ - && python sdk/python/tests/run_test_server.py stop + if [[ -z "$ARVADOS_TEST_API_HOST" ]]; then + return fi + unset ARVADOS_TEST_API_HOST + cd "$WORKSPACE" \ + && python sdk/python/tests/run_test_server.py stop_nginx \ + && python sdk/python/tests/run_test_server.py stop_arv-git-httpd \ + && 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 } interrupt() { @@ -485,12 +477,36 @@ setup_virtualenv() { export PERLINSTALLBASE export PERLLIB="$PERLINSTALLBASE/lib/perl5:${PERLLIB:+$PERLLIB}" + export GOPATH mkdir -p "$GOPATH/src/git.curoverse.com" -ln -sfT "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" \ +rmdir -v --parents --ignore-fail-on-non-empty "$GOPATH/src/git.curoverse.com/arvados.git/tmp/GOPATH" +for d in \ + "$GOPATH/src/git.curoverse.com/arvados.git/arvados.git" \ + "$GOPATH/src/git.curoverse.com/arvados.git"; do + [[ -d "$d" ]] && rmdir "$d" + [[ -h "$d" ]] && rm "$d" +done +ln -vsnfT "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" \ || fatal "symlink failed" go get -v github.com/kardianos/govendor \ || fatal "govendor install failed" +cd "$GOPATH/src/git.curoverse.com/arvados.git" \ + || fatal +# Remove cached source dirs in workdir. Otherwise, they won't qualify +# as +missing or +external below, and we won't be able to detect that +# they're missing from vendor/vendor.json. +rm -r vendor/*/ +go get -v -d ... +"$GOPATH/bin/govendor" sync \ + || fatal "govendor sync failed" +[[ -z $("$GOPATH/bin/govendor" list +unused +missing +external | tee /dev/stderr) ]] \ + || fatal "vendor/vendor.json has unused or missing dependencies -- try: +* govendor remove +unused +* govendor add +missing +external +" +cd "$WORKSPACE" + setup_virtualenv "$VENVDIR" --python python2.7 . "$VENVDIR/bin/activate" @@ -810,6 +826,25 @@ install_apiserver() { mkdir -p "$WORKSPACE/services/api/tmp/pids" + cert="$WORKSPACE/services/api/tmp/self-signed" + if [[ ! -e "$cert.pem" || "$(date -r "$cert.pem" +%s)" -lt 1512659226 ]]; then + ( + dir="$WORKSPACE/services/api/tmp" + set -ex + openssl req -newkey rsa:2048 -nodes -subj '/C=US/ST=State/L=City/CN=localhost' -out "$cert.csr" -keyout "$cert.key"