blob: dd45c5aceb7403de63f5d69da10b3d4471e8a7d9 [file] [log] [blame]
Todd Willey2599b312011-11-04 10:31:37 -04001#!/usr/bin/env bash
2
James E. Blairc639ef02011-11-10 15:11:28 -08003source ./stackrc
Todd Willey2599b312011-11-04 10:31:37 -04004# Run everything in the exercises/ directory that isn't explicitly disabled
5
6# comma separated list of script basenames to skip
7# to refrain from exercising euca.sh use SKIP_EXERCISES=euca
8SKIP_EXERCISES=${SKIP_EXERCISES:-""}
9
Todd Willey9e9132d2011-11-04 12:09:54 -040010# Locate the scripts we should run
Todd Willey2599b312011-11-04 10:31:37 -040011EXERCISE_DIR=$(dirname "$0")/exercises
Todd Willey0367cf12011-11-05 10:46:56 -040012basenames=$(for b in `ls $EXERCISE_DIR/*.sh`; do basename $b .sh; done)
Todd Willey2599b312011-11-04 10:31:37 -040013
Todd Willey9e9132d2011-11-04 12:09:54 -040014# Track the state of each script
15passes=""
16failures=""
17skips=""
18
19# Loop over each possible script (by basename)
Todd Willey0367cf12011-11-05 10:46:56 -040020for script in $basenames; do
Todd Willey2599b312011-11-04 10:31:37 -040021 if [[ "$SKIP_EXERCISES" =~ $script ]] ; then
Todd Willey9e9132d2011-11-04 12:09:54 -040022 skips="$skips $script"
Todd Willey2599b312011-11-04 10:31:37 -040023 else
Todd Willey9e9132d2011-11-04 12:09:54 -040024 echo =========================
Todd Willey2599b312011-11-04 10:31:37 -040025 echo Running $script
Todd Willey9e9132d2011-11-04 12:09:54 -040026 echo =========================
27 $EXERCISE_DIR/$script.sh
Todd Willey2599b312011-11-04 10:31:37 -040028 if [[ $? -ne 0 ]] ; then
Todd Willey9e9132d2011-11-04 12:09:54 -040029 failures="$failures $script"
Todd Willey2599b312011-11-04 10:31:37 -040030 else
Todd Willey9e9132d2011-11-04 12:09:54 -040031 passes="$passes $script"
Todd Willey2599b312011-11-04 10:31:37 -040032 fi
33 fi
34done
Todd Willey9e9132d2011-11-04 12:09:54 -040035
36# output status of exercise run
37echo =========================
38echo =========================
Todd Willey0367cf12011-11-05 10:46:56 -040039for script in $skips; do
Todd Willey9e9132d2011-11-04 12:09:54 -040040 echo SKIP $script
41done
Todd Willey0367cf12011-11-05 10:46:56 -040042for script in $passes; do
Todd Willey9e9132d2011-11-04 12:09:54 -040043 echo PASS $script
44done
Todd Willey0367cf12011-11-05 10:46:56 -040045for script in $failures; do
Todd Willey9e9132d2011-11-04 12:09:54 -040046 echo FAILED $script
47done
James E. Blairc639ef02011-11-10 15:11:28 -080048
49if [ -n "$failures" ] ; then
50 exit 1
51fi