summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/erc32/tools/runtest.in
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-06-11 17:24:25 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-06-11 17:24:25 +0000
commit13b2d956545b619e824f32bbc815556837a09c12 (patch)
treecae14254a4290f3a368931de067466c4dbfd8a93 /c/src/lib/libbsp/sparc/erc32/tools/runtest.in
parent2011-06-11 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-13b2d956545b619e824f32bbc815556837a09c12.tar.bz2
2011-06-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac: runtest for this BSP obsoleted by rtems-testing/sim-scripts support. Please use those scripts. * tools/.cvsignore, tools/ChangeLog, tools/Makefile.am, tools/configure.ac, tools/runtest.in: Removed.
Diffstat (limited to 'c/src/lib/libbsp/sparc/erc32/tools/runtest.in')
-rw-r--r--c/src/lib/libbsp/sparc/erc32/tools/runtest.in329
1 files changed, 0 insertions, 329 deletions
diff --git a/c/src/lib/libbsp/sparc/erc32/tools/runtest.in b/c/src/lib/libbsp/sparc/erc32/tools/runtest.in
deleted file mode 100644
index 156081bfe6..0000000000
--- a/c/src/lib/libbsp/sparc/erc32/tools/runtest.in
+++ /dev/null
@@ -1,329 +0,0 @@
-#!@KSH@ -p
-#
-# $Id$
-#
-# Run rtems tests on the SPARC simulator includeed with GDB
-# This program generates a simulator script to run each test
-# Typically the test is then run, although it can be generated
-# and left as a file using -s
-#
-
-# progname=`basename $0`
-progname=${0##*/} # fast basename hack for ksh, bash
-
-USAGE=\
-"usage: $progname [ -opts ] test [ test ... ]
- -o options -- specify options to be passed to simulator
- -v -- verbose
- -s -- generate script file (as 'test'.ss) and exit
- -l logdir -- specify log directory (default is 'logdir')
-
- Specify test as 'test' or 'test.exe' or 'test.ralf'.
- All multiprocessing tests *must* be specified simply as 'mp01', etc.
-"
-
-# export everything
-set -a
-
-# log an error to stderr
-prerr()
-{
- echo "$*" >&2
-}
-
-fatal() {
- [ "$1" ] && prerr $*
- prerr "$USAGE"
- exit 1
-}
-
-warn() {
- [ "$1" ] && prerr $*
-}
-
-# print args, 1 per line
-ml_echo()
-{
- for l
- do
- echo "$l"
- done
-}
-
-# run at normal and signalled exit
-test_exit()
-{
- exit_code=$1
-
- rm -f ${statfile}* ${scriptfile}* ${logfile}.tmp*
- [ "$sim_pid" ] && kill -9 $sim_pid
-
- exit $exit_code
-}
-
-#
-# process the options
-#
-# defaults for getopt vars
-#
-# max_run_time is defaulted to 3 minutes
-#
-
-verbose=""
-extra_options=""
-script_and_exit=""
-stdio_setup="yes"
-run_to_completion="yes"
-logdir=log
-update_on_tick="no"
-max_run_time=$((3 * 60))
-using_print_buffer="yes"
-
-while getopts vhr12o:c:sl:t OPT
-do
- case "$OPT" in
- v)
- verbose="yes";;
- s)
- script_and_exit="yes"
- run_to_completion="no"
- stdio_setup="no";;
- l)
- logdir="$OPTARG";;
- o)
- extra_options="$OPTARG";;
- *)
- fatal;;
- esac
-done
-
-let $((shiftcount = $OPTIND - 1))
-shift $shiftcount
-
-args=$*
-
-#
-# Run the tests
-#
-
-tests="$args"
-if [ ! "$tests" ]
-then
- set -- `ls -1 *.exe *.ralf 2>/dev/null`
- tests="$*"
-fi
-
-[ -d $logdir ] ||
- mkdir $logdir || fatal "could not create log directory ($logdir)"
-
-cpus=1
-
-# where the tmp files go
-statfile=/tmp/stats$$
-scriptfile=/tmp/script$$
-
-trap "test_exit" 1 2 3 13 14 15
-
-for tfile in $tests
-do
-
- echo $tfile | grep "exe$" >/dev/null
- if [ $? -eq 0 ] ; then
- ext=.exe
- else
- ext=.ralf
- fi
- tname=`basename $tfile ${ext}`
- TEST_TYPE="single"
-
- case $tname in
- capture* | monitor* | termios* | fileio* | pppd*)
- if [ $run_to_completion = "yes" ]
- then
- warn "Skipping $tname; it is interactive"
- continue
- fi
- ;;
- *-node2*)
- fatal "MP tests not supported"
- warn "Skipping $tname; 'runtest' runs both nodes when for *-node1"
- continue;;
- *-node1*)
- warn "Running both nodes associated with $tname"
- variant=`echo $tname | sed 's/.*-node[12]//' | sed "s/${ext}/"`
- tname=`echo $tname | sed 's/-node.*//'`
- TEST_TYPE="mp"
- ;;
- sp39*|sp41*)
- warn "Skipping $tname; it does not complete long on sis"
- continue
- ;;
- minimum*|stackchk*|*fatal*|termio*)
- warn "Skipping $tname; it locks up or takes a VERY long time to run"
- continue
- ;;
- esac
-
- # Change the title bar to indicate which test we are running
- # The simulator screen doesn't provide any indication
-
- logfile=$logdir/$tname
- infofile=$logfile.info
-
- rm -f ${statfile}* ${scriptfile}* ${logfile}.tmp*
-
- date=`date`
- echo "Starting $tname at $date"
-
- # Generate a script file to get the work done.
- # The script file must do the following:
- #
- # load the program (programs if MP test)
- # arrange for capture of output
- # run the program
- # produce statistics
-
- {
- case $TEST_TYPE in
- "mp")
- fatal "MP tests not supported"
- ;;
-
- # All other tests (single-processor)
- *)
- echo "load $tfile"
- echo "go 0x02000000"
- echo ""
- echo "perf"
- echo "quit"
- ;;
- esac
-
- } > ${scriptfile}
-
- if [ "$script_and_exit" = "yes" ]
- then
- mv ${scriptfile} $tname.ss
- warn "script left in $tname.ss"
- test_exit 0
- fi
-
- # Spin off the simulator in the background
- @target_alias@-sis $extra_options -c ${scriptfile} >${logfile}.tmp &
- sim_pid=$!
-
- # Make sure it won't run forever...
- {
- time_run=0
- while [ $time_run -lt $max_run_time ]
- do
- # sleep 1s at a time waiting for job to finish or timer to expire
- # if job has exited, then we exit, too.
- sleep 1
- if kill -0 $sim_pid 2>/dev/null
- then
- grep "Memory exception " ${logfile}.tmp >/dev/null
- if [ $? -eq 0 ] ; then
- break
- fi
-
- time_run=$((time_run + 1))
- else
- exit 0
- fi
- done
-
- kill -2 $sim_pid 2>/dev/null
- { sleep 5; kill -9 $sim_pid 2>/dev/null; } &
- } &
-
- wait $sim_pid
- status=$?
- if [ $status -ne 0 ]
- then
- ran_too_long="yes"
- else
- ran_too_long="no"
- fi
-
- sim_pid=""
-
- # fix up the printf output from the test
- case $TEST_TYPE in
- mp)
- fatal "MP not supported"
- ;;
- *)
- output_it=1
- grep -v "Memory exception " ${logfile}.tmp | \
- sed -e '1,9d' \
- -e 's/ //' -e '/^$/d' | \
- while read line
- do
- if [ $output_it -eq 1 ] ; then
- if [ "$line" = "sis> perf" ] ; then
- output_it=0
- elif [ "$line" = "sis> quit" ] ; then
- output_it=0
- elif [ "$line" = "sis>" ] ; then
- output_it=0
- else
- echo "$line"
- fi
- fi
- done > ${logfile}_1
- ;;
- esac
-
- # Create the info files
- for cpu in $cpus
- do
- {
- echo "$date"
- echo "Test run on: `uname -n` ( `uname -a` )"
-
- output_it=0
- grep -v "Memory exception " ${logfile}.tmp | \
- sed -e 's/ //' | \
- while read line
- do
- if [ $output_it -eq 1 ] ; then
- if [ "$line" = "sis> quit" ] ; then
- output_it=0
- else
- echo "$line"
- fi
- else
- if [ "$line" = "sis> perf" ] ; then
- output_it=1
- fi
- fi
- done
-
-
- if [ "$ran_too_long" = "yes" ]
- then
- echo "Test did NOT finish normally; killed after $max_run_time seconds"
- fi
-
- echo
- date;
- } > ${infofile}_$cpu
- done
-
- rm -f ${logfile}.tmp*
-
- if [ "$cpus" = "1" ]
- then
- mv ${infofile}_1 ${infofile}
- mv ${logfile}_1 ${logfile}
- fi
-
-done
-
-test_exit 0
-
-# Local Variables: ***
-# mode:ksh ***
-# End: ***
-