| #!/usr/bin/env bash |
| |
| source ./stackrc |
| # Run everything in the exercises/ directory that isn't explicitly disabled |
| |
| # comma separated list of script basenames to skip |
| # to refrain from exercising euca.sh use SKIP_EXERCISES=euca |
| SKIP_EXERCISES=${SKIP_EXERCISES:-""} |
| |
| # Locate the scripts we should run |
| EXERCISE_DIR=$(dirname "$0")/exercises |
| basenames=$(for b in `ls $EXERCISE_DIR/*.sh`; do basename $b .sh; done) |
| |
| # Track the state of each script |
| passes="" |
| failures="" |
| skips="" |
| |
| # Loop over each possible script (by basename) |
| for script in $basenames; do |
| if [[ "$SKIP_EXERCISES" =~ $script ]] ; then |
| skips="$skips $script" |
| else |
| echo ========================= |
| echo Running $script |
| echo ========================= |
| $EXERCISE_DIR/$script.sh |
| if [[ $? -ne 0 ]] ; then |
| failures="$failures $script" |
| else |
| passes="$passes $script" |
| fi |
| fi |
| done |
| |
| # output status of exercise run |
| echo ========================= |
| echo ========================= |
| for script in $skips; do |
| echo SKIP $script |
| done |
| for script in $passes; do |
| echo PASS $script |
| done |
| for script in $failures; do |
| echo FAILED $script |
| done |
| |
| if [ -n "$failures" ] ; then |
| exit 1 |
| fi |