OSDN Git Service

gotest: Add external timeout if internal timeout fails.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Apr 2011 21:11:35 +0000 (21:11 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Apr 2011 21:11:35 +0000 (21:11 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172003 138bc75d-0d04-0410-961f-82ee72b054a4

libgo/testsuite/gotest

index 650e433..cae420f 100755 (executable)
@@ -377,7 +377,20 @@ case "x$dejagnu" in
 xno)
        ${GC} -g -c _testmain.go
        ${GL} *.o ${GOLIBS}
-       ./a.out -test.short -test.timeout=$timeout "$@"
+
+       ./a.out -test.short -test.timeout=$timeout "$@" &
+       pid=$!
+       (sleep `expr $timeout + 10`
+           echo > gotest-timeout
+           echo "timed out in gotest" 1>&2
+           kill -9 $pid) &
+       alarmpid=$!
+       wait $pid
+       status=$?
+       if ! test -f gotest-timeout; then
+           kill $alarmpid
+       fi
+       exit $status
        ;;
 xyes)
        rm -rf ../testsuite/*.o