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