diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-05-17 19:31:16 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-05-17 19:31:16 +0000 |
commit | ac6e5c757df45281dbd9f0ba46d75075d0ddef70 (patch) | |
tree | cd510ffc474830f0a82fbcbd53cbb9f1a8c67705 /schedsim/shell/run_scenarios | |
parent | 2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-schedsim-ac6e5c757df45281dbd9f0ba46d75075d0ddef70.tar.bz2 |
2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am: Merge and update code. Simulators for Deterministic
Priority and SMP Simple Schedulers now work.
* run_scenarios: New file.
Diffstat (limited to 'schedsim/shell/run_scenarios')
-rwxr-xr-x | schedsim/shell/run_scenarios | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/schedsim/shell/run_scenarios b/schedsim/shell/run_scenarios new file mode 100755 index 0000000..09777f3 --- /dev/null +++ b/schedsim/shell/run_scenarios @@ -0,0 +1,90 @@ +#! /bin/sh +# +# $Id$ +# + +toggle() +{ + case $1 in + no) echo "yes" ;; + yes) echo "no" ;; + *) fatal "Unknown value to toggle ($1)" ;; + esac +} + +usage() +{ +cat <<EOF +run_scenarios [options] + -1 - toggle running single CPU scenarios (default=no) + -4 - toggle running four CPU scenarios (default=no) + -A - toggle all scenario flags +EOF +} + +vecho() +{ + if [ ${verbose} = "yes" ] ; then + echo "$*" + fi +} + +verbose=no +do_all=no +do_one=no +do_four=no +schedsim_dir= + +while getopts vd:A14 OPT +do + case "$OPT" in + v) verbose=`toggle ${verbose}` ;; + d) schedsim_dir=${OPTARG} ;; + A) do_all=`toggle ${do_all}` ;; + 1) do_one=`toggle ${do_one}` ;; + 4) do_four=`toggle ${do_four}` ;; + *) usage; exit 1; + esac +done + +if [ "X${schedsim_dir}" != "X" ] ; then + test -d ${schedsim_dir} || fatal ${schedsim_dir} is not readable + schedsim_dir=${schedsim_dir}/ +fi + +if [ ${do_all} = "yes" ]; then + SCENARIOS="scenarios/*.scen" +else + SCENARIOS= +fi + +if [ ${do_one} = "yes" ]; then + SCENARIOS="${SCENARIOS} scenarios/cpus1*.scen" +fi + +if [ ${do_four} = "yes" ]; then + SCENARIOS="${SCENARIOS} scenarios/cpus4*.scen" +fi + +for scenario in `ls -1 ${SCENARIOS}` +do + base=`echo ${scenario} | sed -s 's/\.scen$//'` + expected=${base}.expected + output=${base}.output + vecho Running ${scenario} + ${schedsim_dir}/schedsim $scenario >${output} + if [ -r ${expected} ] ; then + diff ${output} ${expected} >/dev/null + if [ $? -ne 0 ] ; then + echo "FAIL - ${scenario}" + echo " diff ${output} ${expected} " + else + echo "PASS - ${scenario}" + fi + else + echo "UNKNOWN - ${scenario}" + echo " cp ${output} ${expected} " + fi +done + + |