Available tests:
-apps/workbench
+apps/workbench (*)
+apps/workbench_units (*)
+apps/workbench_functionals (*)
+apps/workbench_integration (*)
apps/workbench_benchmark
apps/workbench_profile
doc
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
;;
--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
# complaint about not being in first place already.
rvm use @default 2>/dev/null
- # Create (if needed) and switch to an @arvados-tests
- # gemset. (Leave the choice of ruby to the caller.)
- rvm use @arvados-tests --create \
+ # Create (if needed) and switch to an @arvados-tests-* gemset,
+ # salting the gemset name so it doesn't interfere with
+ # concurrent builds in other workspaces. Leave the choice of
+ # ruby to the caller.
+ gemset="arvados-tests-$(echo -n "${WORKSPACE}" | md5sum | head -c16)"
+ rvm use "@${gemset}" --create \
|| fatal 'rvm gemset setup'
rvm env
fi
if [[ $("$venvdest/bin/python" --version 2>&1) =~ \ 3\.[012]\. ]]; then
# pip 8.0.0 dropped support for python 3.2, e.g., debian wheezy
- "$venvdest/bin/pip" install 'setuptools>=18' 'pip>=7,<8'
+ "$venvdest/bin/pip" install 'setuptools>=18.5' 'pip>=7,<8'
else
- "$venvdest/bin/pip" install 'setuptools>=18' 'pip>=7'
+ "$venvdest/bin/pip" install 'setuptools>=18.5' 'pip>=7'
fi
# ubuntu1404 can't seem to install mock via tests_require, but it can do this.
"$venvdest/bin/pip" install 'mock>=1.0' 'pbr<1.7.0'
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
sdk/go/manifest
sdk/go/streamer
sdk/go/crunchrunner
+ lib/crunchstat
services/arv-git-httpd
services/crunchstat
services/keep-web
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 \