Mercurial > hg > truffle
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 |