X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/46f6db136c5820555109963f5382b449aff617ce..a84b665349051a06df5728f435203c8353b5795a:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index 60eba55724..b6a93d4712 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -165,9 +165,6 @@ sanity_checks() { echo -n 'ruby: ' ruby -v \ || fatal "No ruby. Install >=2.1.9 (using rbenv, rvm, or source)" - echo -n 'bundler: ' - bundle version \ - || fatal "No bundler. Try: gem install bundler" echo -n 'go: ' go version \ || fatal "No go binary. See http://golang.org/doc/install" @@ -177,11 +174,17 @@ sanity_checks() { gcc --version | egrep ^gcc \ || fatal "No gcc. Try: apt-get install build-essential" echo -n 'fuse.h: ' - find /usr/include -wholename '*fuse/fuse.h' \ + find /usr/include -path '*fuse/fuse.h' | egrep --max-count=1 . \ || fatal "No fuse/fuse.h. Try: apt-get install libfuse-dev" - echo -n 'pyconfig.h: ' - find /usr/include -name pyconfig.h | egrep --max-count=1 . \ - || fatal "No pyconfig.h. Try: apt-get install python-dev" + echo -n 'gnutls.h: ' + find /usr/include -path '*gnutls/gnutls.h' | egrep --max-count=1 . \ + || fatal "No gnutls/gnutls.h. Try: apt-get install libgnutls28-dev" + echo -n 'Python2 pyconfig.h: ' + find /usr/include -path '*/python2*/pyconfig.h' | egrep --max-count=1 . \ + || fatal "No Python2 pyconfig.h. Try: apt-get install python2.7-dev" + echo -n 'Python3 pyconfig.h: ' + find /usr/include -path '*/python3*/pyconfig.h' | egrep --max-count=1 . \ + || fatal "No Python3 pyconfig.h. Try: apt-get install python3-dev" echo -n 'nginx: ' PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin" nginx -v \ || fatal "No nginx. Try: apt-get install nginx" @@ -342,13 +345,13 @@ done setup_ruby_environment() { if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then - source "$HOME/.rvm/scripts/rvm" - using_rvm=true + source "$HOME/.rvm/scripts/rvm" + using_rvm=true elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then - source "/usr/local/rvm/scripts/rvm" - using_rvm=true + source "/usr/local/rvm/scripts/rvm" + using_rvm=true else - using_rvm=false + using_rvm=false fi if [[ "$using_rvm" == true ]]; then @@ -397,12 +400,14 @@ 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:$(gem env gempath)" + export GEM_PATH="$tmpdir_gem_home" echo "Will install dependencies to $(gem env gemdir)" echo "Will install arvados gems to $tmpdir_gem_home" echo "Gem search path is GEM_PATH=$GEM_PATH" fi + bundle config || gem install bundler \ + || fatal 'install bundler' } with_test_gemset() { @@ -439,8 +444,10 @@ export PERLLIB="$PERLINSTALLBASE/lib/perl5:${PERLLIB:+$PERLLIB}" export GOPATH mkdir -p "$GOPATH/src/git.curoverse.com" -ln -sfn "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" \ +ln -sfT "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" \ || fatal "symlink failed" +go get -v github.com/kardianos/govendor \ + || fatal "govendor install failed" setup_virtualenv "$VENVDIR" --python python2.7 . "$VENVDIR/bin/activate" @@ -745,6 +752,8 @@ install_apiserver() { && test_database=$(python -c "import yaml; print yaml.load(file('config/database.yml'))['test']['database']") \ && psql "$test_database" -c "SELECT pg_terminate_backend (pg_stat_activity.procpid::int) FROM pg_stat_activity WHERE pg_stat_activity.datname = '$test_database';" 2>/dev/null + mkdir -p "$WORKSPACE/services/api/tmp/pids" + cd "$WORKSPACE/services/api" \ && RAILS_ENV=test bundle exec rake db:drop \ && RAILS_ENV=test bundle exec rake db:setup \ @@ -752,6 +761,9 @@ install_apiserver() { } do_install services/api apiserver +cd "$GOPATH/src/git.curoverse.com/arvados.git" && \ + "$GOPATH/bin/govendor" sync -v || \ + fatal "govendor sync failed" declare -a gostuff gostuff=( sdk/go/arvados @@ -778,7 +790,7 @@ gostuff=( tools/keep-block-check tools/keep-exercise tools/keep-rsync - ) +) for g in "${gostuff[@]}" do do_install "$g" go @@ -791,6 +803,8 @@ install_workbench() { } do_install apps/workbench workbench +unset http_proxy https_proxy no_proxy + test_doclinkchecker() { ( set -e @@ -819,7 +833,7 @@ if [ ! -z "$only" ] && [ "$only" == "services/api" ]; then exit_cleanly fi -start_api +start_api || { stop_services; fatal "start_api"; } test_ruby_sdk() { cd "$WORKSPACE/sdk/ruby" \