summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-01-06 22:52:12 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-01-06 22:52:12 +0000
commitd32641146980c75094232a5733276d9f8e4c6cea (patch)
tree13b8dae45c085c3250e397e858849c1a14fddecc /c
parent2009-01-06 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-d32641146980c75094232a5733276d9f8e4c6cea.tar.bz2
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.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/mips/jmr3904/tools/ChangeLog8
-rw-r--r--c/src/lib/libbsp/mips/jmr3904/tools/configure.ac7
-rwxr-xr-xc/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