diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/psim/tools/runtest')
-rwxr-xr-x | c/src/lib/libbsp/powerpc/psim/tools/runtest | 289 |
1 files changed, 0 insertions, 289 deletions
diff --git a/c/src/lib/libbsp/powerpc/psim/tools/runtest b/c/src/lib/libbsp/powerpc/psim/tools/runtest deleted file mode 100755 index f4a952b86a..0000000000 --- a/c/src/lib/libbsp/powerpc/psim/tools/runtest +++ /dev/null @@ -1,289 +0,0 @@ -#!/bin/sh -p -# -# Run rtems tests on the powerpc simulator -# 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 -# -# COPYRIGHT (c) 1989-1999. -# On-Line Applications Research Corporation (OAR). -# -# The license and distribution terms for this file may be -# found in found in the file LICENSE in this distribution or at -# http://www.rtems.com/license/LICENSE. -# -# $Id$ -# - -# 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 - -d -- generate device tree file (as 'test'.device) and exit - -l logdir -- specify log directory (default is 'logdir') - - Specify test as 'test' or 'test.exe'. - 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 ${logfile}.tmp* - [ "$sim_pid" ] && kill -9 $sim_pid - - exit $exit_code -} - -# -# process the options -# -# defaults for getopt vars -# -# max_run_time is defaulted to 5 minutes -# - -verbose="" -extra_options="" -device_and_exit="" -stdio_setup="yes" -run_to_completion="yes" -logdir=log -update_on_tick="no" -max_run_time=$((5 * 60)) -using_print_buffer="yes" -#simulator=/usr1/rtems/work/ada/4.00/ppc_src/b-gdb/sim/ppc/run -simulator=powerpc-rtems4.9-run -instruction_limit=1000000000 -sizeof_ram=8388608 - -while getopts vdl:o:s: OPT -do - case "$OPT" in - v) - verbose="yes";; - d) - device_and_exit="yes" - run_to_completion="no" - stdio_setup="no";; - l) - logdir="$OPTARG";; - o) - extra_options="$OPTARG";; - r) - sizeof_ram="$OPTARG";; - s) - simulator="$OPTARG";; - *) - fatal;; - esac -done - -let $((shiftcount = $OPTIND - 1)) -shift $shiftcount - -args=$* - -# -# Check some parameters -# - -# JRS CHANGE -# if [ ! -x ${simulator} ] ; then -# fatal "${simulator} is not executable" -# fi; - -# -# Run the tests -# - -tests="$args" -if [ ! "$tests" ] -then - set -- `echo *.exe` - tests="$*" -fi - -[ -d $logdir ] || - mkdir $logdir || fatal "could not create log directory ($logdir)" - -# where the tmp files go -trap "test_exit" 1 2 3 13 14 15 - -for tfile in $tests -do - - tname=`basename $tfile .exe` - tname=`basename $tname .ralf` - cpus="1" - TEST_TYPE="single" - - case $tname in - # size is no longer interactive. - capture* | monitor* | termios* | fileio* | pppd*) - if [ $run_to_completion = "yes" ] - then - warn "Skipping $tname; it is interactive" - continue - fi - ;; - *-node2*) - 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/\.exe//'` - tname=`echo $tname | sed 's/-node.*//'` - TEST_TYPE="mp" - ;; - minimum*|stackchk*|*fatal*|termio*) - continue ;; - esac - - if [ $TEST_TYPE = "mp" ] - then - cpus="1 2" - - logfile1=$logdir/${tname}_1${variant} - logfile2=$logdir/${tname}_2${variant} - infofile1=$logfile1.info - infofile2=$logfile2.info - - rm -f ${logfile1} ${logfile2} - - date=`date` - echo "Starting $tname at $date" - - ${simulator} $extra_options -c ${instruction_limit} \ - -o "/#address-cells 2" \ - -o "/openprom/options/oea-memory-size ${sizeof_ram}" \ - -o "/openprom/init/register/pvr 0xfffe0000" \ - -o "/shm@0xc0000000/reg 0xc0000000 0x10000" \ - -o "/shm@0xc0000000/key 0x1234" \ - -o "/sem@0xc0010000/reg 0xc0010000 12" \ - -o "/sem@0xc0010000/key 0x1234" \ - -o "/sem@0xc0010000/value 1" ${tname}-node1${variant}.exe | \ - sed -e 's/
//' -e '/^$/d' > ${logfile1} & - - ${simulator} $extra_options -c ${instruction_limit} \ - -o "/#address-cells 2" \ - -o "/openprom/options/oea-memory-size ${sizeof_ram}" \ - -o "/openprom/init/register/pvr 0xfffe0000" \ - -o "/shm@0xc0000000/reg 0xc0000000 0x10000" \ - -o "/shm@0xc0000000/key 0x1234" \ - -o "/sem@0xc0010000/reg 0xc0010000 12" \ - -o "/sem@0xc0010000/key 0x1234" \ - -o "/sem@0xc0010000/value -1" ${tname}-node2${variant}.exe | \ - sed -e 's/
//' -e '/^$/d' > ${logfile2} & - - wait - - fi - - if [ $TEST_TYPE = "single" ] - then - logfile=$logdir/${tname}_1 - infofile=$logfile.info - - rm -f ${logfile}.tmp* - - date=`date` - echo "Starting $tname at $date" - - # Generate a device file to get the work done. - # The device file must do the following: - # - # arrange for more memory (2 Mb) - - if [ "$device_and_exit" = "yes" ] - then - fatal "Cannot currently generate device files" - fi - - # Spin off the simulator in the background - # -c sets an instruction limit - - # Don't need to make sure it won't run forever... since there is - # an instruction count limit - - #powerpc-rtems-run $extra_options -c ${instruction_limit} \ - # -f ${devicefile} $tfile | sed -e 's/
//' -e '/^$/d' > ${logfile} - - ${simulator} $extra_options -c ${instruction_limit} \ - -o "/#address-cells 2" \ - -o "/openprom/options/oea-memory-size ${sizeof_ram}" \ - -o "/openprom/init/register/pvr 0xfffe0000" \ - $tfile | sed -e 's/
//' -e '/^$/d' > ${logfile} - fi - - # Create the info files - for cpu in $cpus - do - { - echo "$date" - echo "Test run on: `uname -n`" - echo "Host Information:" - echo `uname -a` - echo - - #sed -e 's/
//' < ${logdir}/${tname}_${cpu} - cat ${logdir}/${tname}_${cpu} - - if [ "$ran_too_long" = "yes" ] - then - echo "Test did NOT finish normally; killed after $max_run_time seconds" - fi - - echo - date; - } > ${logdir}/${tname}_${cpu}.info - done - - if [ "$cpus" = "1" ] - then - mv ${infofile} $logdir/${tname}.info - mv ${logfile} $logdir/${tname} - fi - -done - -echo "Tests completed at " `date` -test_exit 0 - -# Local Variables: *** -# mode:ksh *** -# End: *** - |