X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ddae1b57f077d8a7c091b3cdf9ecaa562703fb3c..bbc1590401a1d15a4ca101df37415c9a2aa99ac9:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index ca53dbc66e..595f721080 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -88,7 +88,7 @@ lib/cloud/cloudtest lib/dispatchcloud lib/dispatchcloud/container lib/dispatchcloud/scheduler -lib/dispatchcloud/ssh_executor +lib/dispatchcloud/sshexecutor lib/dispatchcloud/worker lib/mount lib/pam @@ -162,9 +162,12 @@ temp_preserve= clear_temp() { if [[ -z "$temp" ]]; then - # we didn't even get as far as making a temp dir + # we did not even get as far as making a temp dir : elif [[ -z "$temp_preserve" ]]; then + # Go creates readonly dirs in the module cache, which cause + # "rm -rf" to fail unless we chmod first. + chmod -R u+w "$temp" rm -rf "$temp" else echo "Leaving behind temp dirs in $temp" @@ -538,12 +541,12 @@ setup_ruby_environment() { tmpdir_gem_home="$(env - PATH="$PATH" HOME="$GEMHOME" gem env gempath | cut -f1 -d:)" PATH="$tmpdir_gem_home/bin:$PATH" - export GEM_PATH="$tmpdir_gem_home" + export GEM_PATH="$tmpdir_gem_home:$(gem env gempath)" echo "Will install dependencies to $(gem env gemdir)" - echo "Will install arvados gems to $tmpdir_gem_home" + echo "Will install bundler and arvados gems to $tmpdir_gem_home" echo "Gem search path is GEM_PATH=$GEM_PATH" - bundle="$(gem env gempath | cut -f1 -d:)/bin/bundle" + bundle="$tmpdir_gem_home/bin/bundle" ( export HOME=$GEMHOME bundlers="$(gem list --details bundler)" @@ -555,7 +558,7 @@ setup_ruby_environment() { fi done "$bundle" version | tee /dev/stderr | grep -q 'version 2' - ) #|| fatal 'install bundler' ## This is needed for now. + ) || fatal 'install bundler' fi } @@ -644,19 +647,21 @@ install_env() { which goimports >/dev/null || go get golang.org/x/tools/cmd/goimports || fatal "Go setup failed" setup_virtualenv "$VENV3DIR" + . "$VENV3DIR/bin/activate" # Needed for run_test_server.py which is used by certain (non-Python) tests. + # pdoc3 needed to generate the Python SDK documentation. ( set -e + "${VENV3DIR}/bin/pip3" install wheel "${VENV3DIR}/bin/pip3" install PyYAML - "${VENV3DIR}/bin/pip3" install httplib2 + "${VENV3DIR}/bin/pip3" install httplib2 "${VENV3DIR}/bin/pip3" install future "${VENV3DIR}/bin/pip3" install google-api-python-client "${VENV3DIR}/bin/pip3" install ciso8601 - "${VENV3DIR}/bin/pip3" install wheel - "${VENV3DIR}/bin/pip3" install setuptools "${VENV3DIR}/bin/pip3" install pycurl "${VENV3DIR}/bin/pip3" install ws4py + "${VENV3DIR}/bin/pip3" install pdoc3 cd "$WORKSPACE/sdk/python" python3 setup.py install ) || fatal "installing PyYAML and sdk/python failed" @@ -704,7 +709,7 @@ do_test() { stop_services check_arvados_config "$1" ;; - gofmt | doc | lib/cli | lib/cloud/azure | lib/cloud/ec2 | lib/cloud/cloudtest | lib/cmd | lib/dispatchcloud/ssh_executor | lib/dispatchcloud/worker) + gofmt | doc | lib/cli | lib/cloud/azure | lib/cloud/ec2 | lib/cloud/cloudtest | lib/cmd | lib/dispatchcloud/sshexecutor | lib/dispatchcloud/worker) check_arvados_config "$1" # don't care whether services are running ;; @@ -956,7 +961,7 @@ install_services/api() { || return 1 ( - set -e + set -ex cd "$WORKSPACE/services/api" export RAILS_ENV=test if "$bundle" exec rails db:environment:set ; then @@ -990,7 +995,7 @@ test_doc() { ( set -e cd "$WORKSPACE/doc" - ARVADOS_API_HOST=qr1hi.arvadosapi.com + ARVADOS_API_HOST=pirca.arvadosapi.com # Make sure python-epydoc is installed or the next line won't # do much good! PYTHONPATH=$WORKSPACE/sdk/python/ "$bundle" exec rake linkchecker baseurl=file://$WORKSPACE/doc/.site/ arvados_workbench_host=https://workbench.$ARVADOS_API_HOST arvados_api_host=$ARVADOS_API_HOST @@ -1090,19 +1095,12 @@ install_all() { do_install sdk/perl do_install sdk/cli do_install services/login-sync - ## FIXME, ignore all python2 for p in "${pythonstuff[@]}" do - dir=${p%:py3} - if [[ ${dir} = ${p} ]]; then - if [[ -z ${skip[python2]} ]]; then - do_install ${dir} pip - fi - elif [[ -n ${PYTHON3} ]]; then - if [[ -z ${skip[python3]} ]]; then - do_install ${dir} pip "$VENV3DIR/bin/" - fi - fi + dir=${p%:py3} + if [[ -z ${skip[python3]} ]]; then + do_install ${dir} pip "$VENV3DIR/bin/" + fi done for g in "${gostuff[@]}" do @@ -1130,18 +1128,11 @@ test_all() { do_test sdk/cli do_test services/login-sync do_test sdk/java-v2 - ## FIXME, ignore all python2 for p in "${pythonstuff[@]}" do dir=${p%:py3} - if [[ ${dir} = ${p} ]]; then - if [[ -z ${skip[python2]} ]]; then - do_test ${dir} pip - fi - elif [[ -n ${PYTHON3} ]]; then - if [[ -z ${skip[python3]} ]]; then - do_test ${dir} pip "$VENV3DIR/bin/" - fi + if [[ -z ${skip[python3]} ]]; then + do_test ${dir} pip "$VENV3DIR/bin/" fi done