1 #!/bin/sh 2 3 if [ "${TESTSRC}" = "" ] 4 then TESTSRC=. 5 fi 6 7 if [ "${TESTJAVA}" = "" ] 8 then 9 PARENT=`dirname \`which java\`` 10 TESTJAVA=`dirname ${PARENT}` 11 echo "TESTJAVA not set, selecting " ${TESTJAVA} 12 echo "If this is incorrect, try setting the variable manually." 13 fi 14 15 if [ "${TESTCLASSES}" = "" ] 16 then 17 echo "TESTCLASSES not set. Test cannot execute. Failed." 18 exit 1 19 fi 20 21 # set platform-dependent variables 22 OS=`uname -s` 23 case "$OS" in 24 SunOS | Linux ) 25 NULL=/dev/null 26 PS=":" 27 FS="/" 28 ;; 29 Windows_95 | Windows_98 | Windows_ME ) 30 NULL=NUL 31 PS=";" 32 FS="\\" 33 echo "Test skipped, only for WinNT" 34 exit 0 35 ;; 36 Windows_NT ) 37 NULL=NUL 38 PS=";" 39 FS="\\" 40 ;; 41 * ) 42 echo "Unrecognized system!" 43 exit 1; 44 ;; 45 esac 46 47 #CLASSPATH=.${PS}${TESTCLASSES} ; export CLASSPATH 48 49 cp ${TESTSRC}${FS}*.java . 50 51 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -fullversion 52 53 ${TESTJAVA}${FS}bin${FS}javac -classpath .${PS}$TESTJAVA${FS}lib${FS}tools.jar *.java 54 55 ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath .${PS}$TESTJAVA${FS}lib${FS}tools.jar FieldMonitor > test.out 2>&1 & 56 57 P_PID=$! 58 59 sleep 60 60 STATUS=0 61 62 case "$OS" in 63 SunOS | Linux ) 64 ps -ef | grep $P_PID | grep -v grep > ${NULL} 65 if [ $? = 0 ]; then 66 kill -9 $P_PID 67 STATUS=1 68 fi 69 ;; 70 * ) 71 ps | grep -i "FieldMonitor" | grep -v grep > ${NULL} 72 if [ $? = 0 ]; then 73 C_PID=`ps | grep -i "FieldMonitor" | awk '{print $1}'` 74 kill -s 9 $C_PID 75 STATUS=1 76 fi 77 ;; 78 esac 79 80 grep "A fatal error has been detected" test.out > ${NULL} 81 if [ $? = 0 ]; then 82 cat test.out 83 STATUS=1 84 fi 85 86 exit $STATUS