#!/bin/bash | |
function usage { | |
echo "Usage: [OPTIONS] [SUITES]" | |
echo "Run all of the test suites" | |
echo "" | |
echo " -h, --help Print this usage message" | |
echo "" | |
echo " The suites should be listed by the name of their directory." | |
echo " All other options are passed directly to the suites." | |
exit | |
} | |
function process_option { | |
case "$1" in | |
-h|--help) usage;; | |
-*|--*) test_opts="$test_opts $1";; | |
*) tests="$tests $1" | |
esac | |
} | |
for arg in "$@"; do | |
process_option $arg | |
done | |
echo $test_opts | |
function run_tests { | |
base_dir=$(dirname $0) | |
for test_dir in $tests | |
do | |
test_cmd="${base_dir}/${test_dir}/run_tests.sh ${test_opts}" | |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | |
echo $test_cmd | |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | |
$test_cmd | |
done | |
} | |
run_tests || exit |