test/runtime/jsig/Test8017498.sh

changeset 5433
72727c4b6dec
parent 5420
732af649bc3a
child 5453
f9ee986a9fea
     1.1 --- a/test/runtime/jsig/Test8017498.sh	Fri Jul 19 17:56:27 2013 +0200
     1.2 +++ b/test/runtime/jsig/Test8017498.sh	Fri Jul 19 14:54:54 2013 -0700
     1.3 @@ -26,8 +26,9 @@
     1.4  ##
     1.5  ## @test Test8017498.sh
     1.6  ## @bug 8017498
     1.7 +## @bug 8020791
     1.8  ## @summary sigaction(sig) results in process hang/timed-out if sig is much greater than SIGRTMAX
     1.9 -## @run shell Test8017498.sh
    1.10 +## @run shell/timeout=30 Test8017498.sh
    1.11  ##
    1.12  
    1.13  if [ "${TESTSRC}" = "" ]
    1.14 @@ -46,17 +47,13 @@
    1.15      echo "Testing on Linux"
    1.16      if [ "$VM_BITS" = "64" ]
    1.17      then
    1.18 -        LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}amd64${FS}libjsig.so
    1.19 +        MY_LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}amd64${FS}libjsig.so
    1.20      else
    1.21 -        LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}i386${FS}libjsig.so
    1.22 +        MY_LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}i386${FS}libjsig.so
    1.23      fi
    1.24 -    echo LD_PRELOAD = ${LD_PRELOAD}
    1.25 -    export LD_PRELOAD=${LD_PRELOAD}
    1.26 +    echo MY_LD_PRELOAD = ${MY_LD_PRELOAD}
    1.27      ;;
    1.28    *)
    1.29 -    NULL=NUL
    1.30 -    PS=";"
    1.31 -    FS="\\"
    1.32      echo "Test passed; only valid for Linux"
    1.33      exit 0;
    1.34      ;;
    1.35 @@ -67,29 +64,29 @@
    1.36  cp ${TESTSRC}${FS}*.java ${THIS_DIR}
    1.37  ${TESTJAVA}${FS}bin${FS}javac *.java
    1.38  
    1.39 -gcc -fPIC -shared -o ${TESTSRC}${FS}libTestJNI.so -I${TESTJAVA}${FS}include -I${TESTJAVA}${FS}include${FS}linux ${TESTSRC}${FS}TestJNI.c
    1.40 +gcc -DLINUX -fPIC -shared \
    1.41 +    -o ${TESTSRC}${FS}libTestJNI.so \
    1.42 +    -I${TESTJAVA}${FS}include \
    1.43 +    -I${TESTJAVA}${FS}include${FS}linux \
    1.44 +    ${TESTSRC}${FS}TestJNI.c
    1.45 +if [ $? != 0 ]
    1.46 +then
    1.47 +    echo "WARNING: the gcc command failed." 2>&1
    1.48 +fi
    1.49  
    1.50  # run the java test in the background
    1.51 -echo ${TESTJAVA}${FS}bin${FS}java -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100 > test.out 2>&1 &
    1.52 -${TESTJAVA}${FS}bin${FS}java -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100 > test.out 2>&1 &
    1.53 +cmd="LD_PRELOAD=$MY_LD_PRELOAD \
    1.54 +    ${TESTJAVA}${FS}bin${FS}java \
    1.55 +    -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100"
    1.56 +echo "$cmd > test.out 2>&1"
    1.57 +eval $cmd > test.out 2>&1
    1.58  
    1.59 -# obtain the process id
    1.60 -C_PID=$!
    1.61 -
    1.62 -# sleep for 1s
    1.63 -sleep 1
    1.64 -
    1.65 -# reset LD_PRELOAD
    1.66 -unset LD_PRELOAD
    1.67 -
    1.68 -# check the output file (test.out)
    1.69  grep "old handler" test.out > ${NULL}
    1.70  if [ $? = 0 ]
    1.71  then
    1.72      echo "Test Passed"
    1.73      exit 0
    1.74 -else
    1.75 -    kill -9 ${C_PID}
    1.76 -    echo "Test Failed"
    1.77 -    exit 1
    1.78  fi
    1.79 +
    1.80 +echo "Test Failed"
    1.81 +exit 1

mercurial