diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-05-11 13:01:49 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-05-11 13:01:49 +0000 |
commit | d8e0a60b9b56f6514cedc59c9af16b9c78eac060 (patch) | |
tree | eb47df5a5ff7d4e13d17d02b8e7df2d10d530d4c /c/src/lib/libbsp/mips/jmr3904/tools | |
parent | 2001-05-11 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-d8e0a60b9b56f6514cedc59c9af16b9c78eac060.tar.bz2 |
2001-05-11 Joel Sherrill <joel@OARcorp.com>
* tools/runtest: Add functionality to avoid letting simulator
run too long.
Diffstat (limited to 'c/src/lib/libbsp/mips/jmr3904/tools')
-rwxr-xr-x | c/src/lib/libbsp/mips/jmr3904/tools/runtest | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/mips/jmr3904/tools/runtest b/c/src/lib/libbsp/mips/jmr3904/tools/runtest index aee74edd63..ade7cf1b83 100755 --- a/c/src/lib/libbsp/mips/jmr3904/tools/runtest +++ b/c/src/lib/libbsp/mips/jmr3904/tools/runtest @@ -213,12 +213,33 @@ do fi # Spin off the simulator in the background - # -c sets an instruction limit - # XXX need to make sure it won't run forever... - - ${simulator} --board=jmr3904 $tfile | \ - sed -e 's/
//' -e '/^$/d' > ${logfile} + ${simulator} --board=jmr3904 $tfile | \ + sed -e 's/
//' -e '/^$/d' > ${logfile} 2>&1 & + pid=$! + + # Make sure it won't run forever... + time_run=0 + while [ $time_run -lt $max_run_time ] + do + # sleep 5s at a time waiting for job to finish or timer to expire + # if job has exited, then we exit, too. + sleep 5 + kill -0 $pid 2> /dev/null + running=$? + if [ $running -eq 0 ] + then + time_run=$((time_run + 5)) + if [ $time_run -ge $max_run_time ] + then + kill -9 $pid 2> /dev/null + ran_too_long="yes" + fi + else + ran_too_long="no" + break + fi + done fi # Create the info files |