+
+exit_cleanly() {
+ trap - INT
+ rotate_logfile "$WORKSPACE/apps/workbench/log/" "test.log"
+ stop_api
+ rotate_logfile "$WORKSPACE/services/api/log/" "test.log"
+ report_outcomes
+ clear_temp
+ exit ${#failures}
+}
+
+sanity_checks() {
+ # Make sure WORKSPACE is set
+ if ! [[ -n "$WORKSPACE" ]]; then
+ echo >&2 "$helpmessage"
+ echo >&2
+ echo >&2 "Error: WORKSPACE environment variable not set"
+ echo >&2
+ exit 1
+ fi
+
+ # Make sure virtualenv is installed
+ `virtualenv --help >/dev/null 2>&1`
+
+ if [[ "$?" != "0" ]]; then
+ echo >&2
+ echo >&2 "Error: virtualenv could not be found"
+ echo >&2
+ exit 1
+ fi
+
+ # Make sure go is installed
+ `go env >/dev/null 2>&1`
+
+ if [[ "$?" != "0" ]]; then
+ echo >&2
+ echo >&2 "Error: go could not be found"
+ echo >&2
+ exit 1
+ fi
+
+ # Make sure gcc is installed
+ `gcc --help >/dev/null 2>&1`
+
+ if [[ "$?" != "0" ]]; then
+ echo >&2
+ echo >&2 "Error: gcc could not be found"
+ echo >&2
+ exit 1
+ fi
+}
+
+rotate_logfile() {
+ # $BUILD_NUMBER is set by Jenkins if this script is being called as part of a Jenkins run
+ if [[ -f "$1/$2" ]]; then
+ THEDATE=`date +%Y%m%d%H%M%S`
+ mv "$1/$2" "$1/$THEDATE-$BUILD_NUMBER-$2"
+ gzip "$1/$THEDATE-$BUILD_NUMBER-$2"
+ fi
+}
+