X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7926ff7028d577a1c77eab0c8bd94d3959146b1a..26e2fafd86c2b3241ff98747fa1795dbf00e72d1:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index 31d8c0c6c1..6331ec2523 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -58,7 +58,10 @@ https://arvados.org/projects/arvados/wiki/Running_tests Available tests: -apps/workbench +apps/workbench (*) +apps/workbench_units (*) +apps/workbench_functionals (*) +apps/workbench_integration (*) apps/workbench_benchmark apps/workbench_profile doc @@ -93,6 +96,9 @@ tools/crunchstat-summary tools/keep-rsync tools/keep-block-check +(*) apps/workbench is shorthand for apps/workbench_units + + apps/workbench_functionals + apps/workbench_integration + EOF # First make sure to remove any ARVADOS_ variables from the calling @@ -205,7 +211,13 @@ do ;; --skip) skipwhat="$1"; shift - skip[$skipwhat]=1 + if [[ "$skipwhat" == "apps/workbench" ]]; then + skip["apps/workbench_units"]=1 + skip["apps/workbench_functionals"]=1 + skip["apps/workbench_integration"]=1 + else + skip[$skipwhat]=1 + fi ;; --only) only="$1"; skip[$1]=""; shift @@ -489,7 +501,13 @@ do_test() { do_test_once() { unset result - if [[ -z "${skip[$1]}" ]] && ( [[ -z "$only" ]] || [[ "$only" == "$1" ]] ) + to_test=$1 + if (( [[ "$only" == "apps/workbench" ]] ) && + ( [[ "$to_test" == "apps/workbench_units" ]] || [[ "$to_test" == "apps/workbench_functionals" ]] || + [[ "$to_test" == "apps/workbench_integration" ]])); then + to_test="apps/workbench" + fi + if [[ -z "${skip[$1]}" ]] && ( [[ -z "$only" ]] || [[ "$only" == "$to_test" ]] ) then title "Running $1 tests" timer_reset @@ -502,6 +520,8 @@ do_test_once() { # mode makes Go show the wrong line numbers when reporting # compilation errors. go get -t "git.curoverse.com/arvados.git/$1" || return 1 + cd "$WORKSPACE/$1" || return 1 + gofmt -e -d . | egrep . && result=1 if [[ -n "${testargs[$1]}" ]] then # "go test -check.vv giturl" doesn't work, but this @@ -512,7 +532,7 @@ do_test_once() { # empty, so use this form in such cases: go test ${short:+-short} ${coverflags[@]} "git.curoverse.com/arvados.git/$1" fi - result="$?" + result=${result:-$?} if [[ -f "$WORKSPACE/tmp/.$covername.tmp" ]] then go tool cover -html="$WORKSPACE/tmp/.$covername.tmp" -o "$WORKSPACE/tmp/$covername.html" @@ -807,12 +827,27 @@ do do_test "$g" go done -test_workbench() { +test_workbench_units() { start_nginx_proxy_services \ && cd "$WORKSPACE/apps/workbench" \ - && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test TESTOPTS=-v ${testargs[apps/workbench]} + && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test:units TESTOPTS=-v ${testargs[apps/workbench]} } -do_test apps/workbench workbench +do_test apps/workbench_units workbench_units + +test_workbench_functionals() { + start_nginx_proxy_services \ + && cd "$WORKSPACE/apps/workbench" \ + && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test:functionals TESTOPTS=-v ${testargs[apps/workbench]} +} +do_test apps/workbench_functionals workbench_functionals + +test_workbench_integration() { + start_nginx_proxy_services \ + && cd "$WORKSPACE/apps/workbench" \ + && env RAILS_ENV=test ${short:+RAILS_TEST_SHORT=1} bundle exec rake test:integration TESTOPTS=-v ${testargs[apps/workbench]} +} +do_test apps/workbench_integration workbench_integration + test_workbench_benchmark() { start_nginx_proxy_services \