. `dirname "$(readlink -f "$0")"`/libcloud-pin
+COLUMNS=80
+. `dirname "$(readlink -f "$0")"`/run-library.sh
+
read -rd "\000" helpmessage <<EOF
$(basename $0): Install and test Arvados components.
services/keepstore
services/login-sync
services/nodemanager
+services/crunch-run
services/crunch-dispatch-local
+services/crunch-dispatch-slurm
sdk/cli
sdk/pam
sdk/python
GEMHOME=
PERLINSTALLBASE=
-COLUMNS=80
-
skip_install=
temp=
temp_preserve=
exit 1
}
-report_outcomes() {
- for x in "${successes[@]}"
- do
- echo "Pass: $x"
- done
-
- if [[ ${#failures[@]} == 0 ]]
- then
- echo "All test suites passed."
- else
- echo "Failures (${#failures[@]}):"
- for x in "${failures[@]}"
- do
- echo "Fail: $x"
- done
- fi
-}
-
exit_cleanly() {
trap - INT
create-plot-data-from-log.sh $BUILD_NUMBER "$WORKSPACE/apps/workbench/log/test.log" "$WORKSPACE/apps/workbench/log/"
gem install --user-install bundler || fatal 'Could not install bundler'
fi
-checkexit() {
- if [[ "$1" != "0" ]]; then
- title "!!!!!! $2 FAILED !!!!!!"
- failures+=("$2 (`timer`)")
- else
- successes+=("$2 (`timer`)")
- fi
-}
-
-timer_reset() {
- t0=$SECONDS
-}
-
-timer() {
- echo -n "$(($SECONDS - $t0))s"
-}
-
-do_test() {
- while ! do_test_once ${@} && [[ "$retry" == 1 ]]
+retry() {
+ while ! ${@} && [[ "$retry" == 1 ]]
do
read -p 'Try again? [Y/n] ' x
if [[ "$x" != "y" ]] && [[ "$x" != "" ]]
done
}
+do_test() {
+ retry do_test_once ${@}
+}
+
do_test_once() {
unset result
if [[ -z "${skip[$1]}" ]] && ( [[ -z "$only" ]] || [[ "$only" == "$1" ]] )
}
do_install() {
+ retry do_install_once ${@}
+}
+
+do_install_once() {
if [[ -z "$skip_install" || (-n "$only_install" && "$only_install" == "$1") ]]
then
title "Running $1 install"
else
"install_$1"
fi
- checkexit $? "$1 install"
+ result=$?
+ checkexit $result "$1 install"
title "End of $1 install (`timer`)"
+ return $result
else
title "Skipping $1 install"
fi
}
-title () {
- txt="********** $1 **********"
- printf "\n%*s%s\n\n" $((($COLUMNS-${#txt})/2)) "" "$txt"
-}
-
bundle_install_trylocal() {
(
set -e
services/datamanager/keep
services/datamanager
services/crunch-dispatch-local
+ services/crunch-dispatch-slurm
services/crunch-run
tools/keep-rsync
)
stop_services
test_apiserver() {
+ rm -f "$WORKSPACE/services/api/git-commit.version"
cd "$WORKSPACE/services/api" \
&& RAILS_ENV=test bundle exec rake test TESTOPTS=-v ${testargs[services/api]}
}