diff options
-rw-r--r-- | c/src/lib/libbsp/mips/jmr3904/tools/ChangeLog | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/mips/jmr3904/tools/configure.ac | 7 | ||||
-rwxr-xr-x | c/src/lib/libbsp/mips/jmr3904/tools/runtest.in (renamed from c/src/lib/libbsp/mips/jmr3904/tools/runtest) | 55 |
3 files changed, 28 insertions, 42 deletions
diff --git a/c/src/lib/libbsp/mips/jmr3904/tools/ChangeLog b/c/src/lib/libbsp/mips/jmr3904/tools/ChangeLog index e904e07791..49cf1f4611 100644 --- a/c/src/lib/libbsp/mips/jmr3904/tools/ChangeLog +++ b/c/src/lib/libbsp/mips/jmr3904/tools/ChangeLog @@ -1,3 +1,11 @@ +2009-01-06 Joel Sherrill <joel.sherrill@OARcorp.com> + + * configure.ac: Make runtest an autoconf generated file so we can + insert target alias. Also detect more program termination conditions + so tests are killed more reliably. + * runtest.in: New file. + * runtest: Removed. + 2008-08-15 Joel Sherrill <joel.sherrill@OARcorp.com> * runtest: Attempt to prevent runaways. diff --git a/c/src/lib/libbsp/mips/jmr3904/tools/configure.ac b/c/src/lib/libbsp/mips/jmr3904/tools/configure.ac index 2565822067..8508a25576 100644 --- a/c/src/lib/libbsp/mips/jmr3904/tools/configure.ac +++ b/c/src/lib/libbsp/mips/jmr3904/tools/configure.ac @@ -4,7 +4,7 @@ AC_PREREQ(2.60) AC_INIT([rtems-c-src-lib-libbsp-mips-jmr3904-tools],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla]) -AC_CONFIG_SRCDIR([runtest]) +AC_CONFIG_SRCDIR([runtest.in]) RTEMS_TOP(../../../../../../..) RTEMS_CANONICAL_TARGET_CPU @@ -14,9 +14,12 @@ AM_MAINTAINER_MODE RTEMS_ENV_RTEMSBSP +RTEMS_PATH_KSH + RTEMS_PROJECT_ROOT RTEMS_TOOLPATHS # Explicitly list all Makefiles here -AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([Makefile +runtest]) AC_OUTPUT diff --git a/c/src/lib/libbsp/mips/jmr3904/tools/runtest b/c/src/lib/libbsp/mips/jmr3904/tools/runtest.in index 3d94546d90..8dfc166d71 100755 --- a/c/src/lib/libbsp/mips/jmr3904/tools/runtest +++ b/c/src/lib/libbsp/mips/jmr3904/tools/runtest.in @@ -1,4 +1,4 @@ -#!/bin/sh -p +#!@KSH@ -p # # Run rtems tests on the powerpc simulator # This program generates a simulator script to run each test @@ -85,7 +85,8 @@ logdir=log update_on_tick="no" max_run_time=$((5 * 60)) using_print_buffer="yes" -simulator=mipstx39-rtems4.9-run +txtarget=`echo @target_alias@ | sed -e 's/mips-/mipstx39-/'` +simulator=${txtarget}-run while getopts vdl:o:s: OPT do @@ -155,44 +156,15 @@ do 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" + *-node*) + warn "Skipping $tname; MP tests not supported" + continue ;; 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} --board=jmr3904 ${tname}-node1${variant}.exe | \ - sed -e 's/
//' -e '/^$/d' > ${logfile1} & - - ${simulator} --board=jmr3904 ${tname}-node2${variant}.exe | \ - sed -e 's/
//' -e '/^$/d' > ${logfile2} & - - wait - - fi - if [ $TEST_TYPE = "single" ] then logfile=$logdir/${tname}_1 @@ -207,7 +179,6 @@ do # 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" @@ -215,8 +186,7 @@ do # Spin off the simulator in the background - ${simulator} --board=jmr3904 $tfile </dev/null | \ - sed -e 's/
//' -e '/^$/d' > ${logfile} 2>&1 & + ${simulator} --board=jmr3904 $tfile </dev/null > ${logfile} 2>&1 & pid=$! # Make sure it won't run forever... @@ -241,7 +211,12 @@ do exceptionExit=$? grep "^mips-core: " ${logfile} >/dev/null badAccessExit=$? - if [ $badAccessExit -eq 0 -o $exceptionExit -eq 0 ] ; then + grep "^Warning, resuming with mismatched" ${logfile} >/dev/null + simExceptExit=$? + grep "^assertion" ${logfile} >/dev/null + assertExit=$? + if [ $badAccessExit -eq 0 -o $exceptionExit -eq 0 -o \ + $simExceptExit -eq 0 -o $assertExit -eq 0 ] ; then kill -9 ${pid} >/dev/null 2>&1 #cat ${logfile} # echo Ran in ${milliseconds} milliseconds @@ -281,8 +256,8 @@ do if [ "$cpus" = "1" ] then - mv ${infofile} $logdir/${tname}.info - mv ${logfile} $logdir/${tname} + sed -e 's/
//' -e '/^$/d' < ${infofile} >$logdir/${tname}.info + sed -e 's/
//' -e '/^$/d' < ${logfile} >$logdir/${tname} fi done |