jdk/test/java/io/Serializable/6559775/Test6559775.sh
changeset 7034 a31042b569d0
parent 7031 d77ff2048ad5
child 7035 7c0095d515e3
equal deleted inserted replaced
7031:d77ff2048ad5 7034:a31042b569d0
     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 BIT_FLAG=""
       
    22 
       
    23 # set platform-dependent variables
       
    24 OS=`uname -s`
       
    25 case "$OS" in
       
    26   SunOS | Linux )
       
    27     NULL=/dev/null
       
    28     PS=":"
       
    29     FS="/"
       
    30     ## for solaris, linux it's HOME
       
    31     FILE_LOCATION=$HOME
       
    32     if [ -f ${FILE_LOCATION}${FS}JDK64BIT -a ${OS} = "SunOS" ]
       
    33     then
       
    34         BIT_FLAG=`cat ${FILE_LOCATION}${FS}JDK64BIT | grep -v '^#'`
       
    35     fi
       
    36     ;;
       
    37   Windows_* )
       
    38     NULL=NUL
       
    39     PS=";"
       
    40     FS="\\"
       
    41     ;;
       
    42   * )
       
    43     echo "Unrecognized system!"
       
    44     exit 1;
       
    45     ;;
       
    46 esac
       
    47 
       
    48 JEMMYPATH=${CPAPPEND}
       
    49 CLASSPATH=.${PS}${TESTCLASSES}${PS}${JEMMYPATH} ; export CLASSPATH
       
    50 
       
    51 THIS_DIR=`pwd`
       
    52 
       
    53 ${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} -version
       
    54 
       
    55 cp ${TESTSRC}${FS}*.java .
       
    56 chmod 777 *.java
       
    57 
       
    58 ${TESTJAVA}${FS}bin${FS}javac SerialRace.java
       
    59 
       
    60 ${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} SerialRace > test.out 2>&1
       
    61 
       
    62 cat test.out
       
    63 
       
    64 STATUS=0
       
    65 
       
    66 egrep "java.io.NotActiveException|not in readObject invocation or fields already read|^Victim" test.out
       
    67 
       
    68 if [ $? = 0 ]
       
    69 then
       
    70     STATUS=1
       
    71 else
       
    72     grep "java.lang.NullPointerException" test.out
       
    73 
       
    74     if [ $? != 0 ]; then
       
    75         STATUS=1
       
    76     fi
       
    77 fi
       
    78 
       
    79 exit $STATUS