PatchSet 3960 
Date: 2003/08/18 06:34:45
Author: jim
Branch: HEAD
Tag: (none) 
Log:
Added "killer" process to regression tests to kill tests
that get hung up (after TIMEOUT seconds).

Members: 
        ChangeLog:1.1558->1.1559 
        test/regression/Makefile.am:1.80->1.81 
        test/regression/Makefile.in:1.133->1.134 
        test/regression/TestScript.in:1.37->1.38 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1558 kaffe/ChangeLog:1.1559
--- kaffe/ChangeLog:1.1558      Sun Aug 17 06:31:12 2003
+++ kaffe/ChangeLog     Mon Aug 18 06:34:45 2003
@@ -1,6 +1,18 @@
 2003-08-16  Jim Pick  <[EMAIL PROTECTED]>
 
        * test/regression/TestScript.in:
+       Add TIMEOUT variable and process to kill hung tests.
+
+       * test/regression/Makefile.am:
+       Suppress shell job control messages caused by killer
+       process.
+
+       * test/regression/Makefile.in:
+       Regenerated.
+
+2003-08-16  Jim Pick  <[EMAIL PROTECTED]>
+
+       * test/regression/TestScript.in:
        Remove -noverify, since it's turned on globally now.
 
 2003-08-16  Guilhem Lavaux <[EMAIL PROTECTED]>
Index: kaffe/test/regression/Makefile.am
diff -u kaffe/test/regression/Makefile.am:1.80 kaffe/test/regression/Makefile.am:1.81
--- kaffe/test/regression/Makefile.am:1.80      Thu Jul 17 14:30:11 2003
+++ kaffe/test/regression/Makefile.am   Mon Aug 18 06:34:46 2003
@@ -8,7 +8,9 @@
 
 SETUP_ENVIRONMENT = env `. $(top_builddir)/BUILD_ENVIRONMENT; sed 's/.*export 
\(.*\)/echo \1=$$\1/' < $(top_builddir)/BUILD_ENVIRONMENT | sh`
 
-TESTS_ENVIRONMENT = $(SETUP_ENVIRONMENT) $(SHELL) TestScript
+# Redirect errors to /dev/null to avoid annoying job control
+# messages from shell when killing tests due to timeouts
+TESTS_ENVIRONMENT = $(SETUP_ENVIRONMENT) $(SHELL) TestScript 2> /dev/null
 
 ALWAYS_TESTS = \
        $(SIMPLE_HEALTH_CHECK) \
Index: kaffe/test/regression/Makefile.in
diff -u kaffe/test/regression/Makefile.in:1.133 kaffe/test/regression/Makefile.in:1.134
--- kaffe/test/regression/Makefile.in:1.133     Thu Jul 31 22:47:09 2003
+++ kaffe/test/regression/Makefile.in   Mon Aug 18 06:34:46 2003
@@ -243,7 +243,9 @@
 
 SETUP_ENVIRONMENT = env `. $(top_builddir)/BUILD_ENVIRONMENT; sed 's/.*export 
\(.*\)/echo \1=$$\1/' < $(top_builddir)/BUILD_ENVIRONMENT | sh`
 
-TESTS_ENVIRONMENT = $(SETUP_ENVIRONMENT) $(SHELL) TestScript
+# Redirect errors to /dev/null to avoid annoying job control
+# messages from shell when killing tests due to timeouts
+TESTS_ENVIRONMENT = $(SETUP_ENVIRONMENT) $(SHELL) TestScript 2> /dev/null
 
 ALWAYS_TESTS = \
        $(SIMPLE_HEALTH_CHECK) \
Index: kaffe/test/regression/TestScript.in
diff -u kaffe/test/regression/TestScript.in:1.37 
kaffe/test/regression/TestScript.in:1.38
--- kaffe/test/regression/TestScript.in:1.37    Sun Aug 17 06:31:13 2003
+++ kaffe/test/regression/TestScript.in Mon Aug 18 06:34:47 2003
@@ -17,6 +17,7 @@
 # If you want to use jikes as default compiler for the regression tests uncomment the 
line below.
 #test -z "@JIKES@" || : ${JIKES="@JIKES@ -nowarn"}
 : ${JAVAC=${JIKES-"$JAVA at.dms.kjc.Main"}" -classpath 
\".$PATHSEP$SRCDIR$PATHSEP$CLASSPATH\""}
+: ${TIMEOUT=300}
 overallerror=0
 error=0
 
@@ -67,8 +68,15 @@
        RESULT="$1.fail"
        TMPRESULT="$1.tmp"
        $VERBOSE $JAVA $*
-       $JAVA $* >$TMPRESULT 2>&1
+       $JAVA $* >$TMPRESULT 2>&1 &
        error=$?
+       pid=$!
+       $VERBOSE "Background pid: $pid"
+       (sleep $TIMEOUT; echo "Timeout - $TIMEOUT seconds - killed" >> $TMPRESULT; 
kill $pid) &
+       killerpid=$!
+       $VERBOSE "Killer process pid: $killerpid with timeout of $TIMEOUT seconds"
+       wait $pid
+       kill $killerpid
        if test "x$SORT" = "xyes"; then
            # grep will take care of stripping \r from DOS-like output
            sort $TMPRESULT | grep '.*' > $RESULT

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to