comparison test/runtime/jsig/Test8017498.sh @ 11162:c0f353803b47

Merge
author minqi
date Tue, 23 Jul 2013 12:50:15 -0700
parents 72727c4b6dec
children f9ee986a9fea
comparison
equal deleted inserted replaced
11159:16511b7e3d35 11162:c0f353803b47
24 # 24 #
25 25
26 ## 26 ##
27 ## @test Test8017498.sh 27 ## @test Test8017498.sh
28 ## @bug 8017498 28 ## @bug 8017498
29 ## @bug 8020791
29 ## @summary sigaction(sig) results in process hang/timed-out if sig is much greater than SIGRTMAX 30 ## @summary sigaction(sig) results in process hang/timed-out if sig is much greater than SIGRTMAX
30 ## @run shell Test8017498.sh 31 ## @run shell/timeout=30 Test8017498.sh
31 ## 32 ##
32 33
33 if [ "${TESTSRC}" = "" ] 34 if [ "${TESTSRC}" = "" ]
34 then 35 then
35 TESTSRC=${PWD} 36 TESTSRC=${PWD}
44 case "$OS" in 45 case "$OS" in
45 Linux) 46 Linux)
46 echo "Testing on Linux" 47 echo "Testing on Linux"
47 if [ "$VM_BITS" = "64" ] 48 if [ "$VM_BITS" = "64" ]
48 then 49 then
49 LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}amd64${FS}libjsig.so 50 MY_LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}amd64${FS}libjsig.so
50 else 51 else
51 LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}i386${FS}libjsig.so 52 MY_LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}i386${FS}libjsig.so
52 fi 53 fi
53 echo LD_PRELOAD = ${LD_PRELOAD} 54 echo MY_LD_PRELOAD = ${MY_LD_PRELOAD}
54 export LD_PRELOAD=${LD_PRELOAD}
55 ;; 55 ;;
56 *) 56 *)
57 NULL=NUL
58 PS=";"
59 FS="\\"
60 echo "Test passed; only valid for Linux" 57 echo "Test passed; only valid for Linux"
61 exit 0; 58 exit 0;
62 ;; 59 ;;
63 esac 60 esac
64 61
65 THIS_DIR=. 62 THIS_DIR=.
66 63
67 cp ${TESTSRC}${FS}*.java ${THIS_DIR} 64 cp ${TESTSRC}${FS}*.java ${THIS_DIR}
68 ${TESTJAVA}${FS}bin${FS}javac *.java 65 ${TESTJAVA}${FS}bin${FS}javac *.java
69 66
70 gcc -fPIC -shared -o ${TESTSRC}${FS}libTestJNI.so -I${TESTJAVA}${FS}include -I${TESTJAVA}${FS}include${FS}linux ${TESTSRC}${FS}TestJNI.c 67 gcc -DLINUX -fPIC -shared \
68 -o ${TESTSRC}${FS}libTestJNI.so \
69 -I${TESTJAVA}${FS}include \
70 -I${TESTJAVA}${FS}include${FS}linux \
71 ${TESTSRC}${FS}TestJNI.c
72 if [ $? != 0 ]
73 then
74 echo "WARNING: the gcc command failed." 2>&1
75 fi
71 76
72 # run the java test in the background 77 # run the java test in the background
73 echo ${TESTJAVA}${FS}bin${FS}java -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100 > test.out 2>&1 & 78 cmd="LD_PRELOAD=$MY_LD_PRELOAD \
74 ${TESTJAVA}${FS}bin${FS}java -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100 > test.out 2>&1 & 79 ${TESTJAVA}${FS}bin${FS}java \
80 -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100"
81 echo "$cmd > test.out 2>&1"
82 eval $cmd > test.out 2>&1
75 83
76 # obtain the process id
77 C_PID=$!
78
79 # sleep for 1s
80 sleep 1
81
82 # reset LD_PRELOAD
83 unset LD_PRELOAD
84
85 # check the output file (test.out)
86 grep "old handler" test.out > ${NULL} 84 grep "old handler" test.out > ${NULL}
87 if [ $? = 0 ] 85 if [ $? = 0 ]
88 then 86 then
89 echo "Test Passed" 87 echo "Test Passed"
90 exit 0 88 exit 0
91 else
92 kill -9 ${C_PID}
93 echo "Test Failed"
94 exit 1
95 fi 89 fi
90
91 echo "Test Failed"
92 exit 1