26 # @summary verify no deadlock if crypto provider in other classloader is used to verify signed jars 27 # 28 # @run shell/timeout=30 ClassLoaderDeadlock.sh 29 30 # set a few environment variables so that the shell-script can run stand-alone 31 # in the source directory 32 if [ "${TESTSRC}" = "" ] ; then 33 TESTSRC="." 34 fi 35 36 if [ "${TESTCLASSES}" = "" ] ; then 37 TESTCLASSES="." 38 fi 39 40 if [ "${TESTJAVA}" = "" ] ; then 41 echo "TESTJAVA not set. Test cannot execute." 42 echo "FAILED!!!" 43 exit 1 44 fi 45 46 # set platform-dependent variables 47 OS=`uname -s` 48 case "$OS" in 49 SunOS ) 50 PATHSEP=":" 51 FILESEP="/" 52 ;; 53 Linux ) 54 PATHSEP=":" 55 FILESEP="/" 56 ;; 57 Darwin ) 58 PATHSEP=":" 59 FILESEP="/" 60 ;; 61 CYGWIN* ) 62 PATHSEP=";" 63 FILESEP="/" 64 ;; 65 Windows* ) 66 PATHSEP=";" 67 FILESEP="\\" 68 ;; 69 * ) 70 echo "Unrecognized system!" 71 exit 1; 72 ;; 73 esac 74 75 cd ${TESTCLASSES}${FILESEP} 76 if [ ! -d provider ] ; then 77 mkdir provider 78 fi 79 80 # compile the test program 81 ${TESTJAVA}${FILESEP}bin${FILESEP}javac \ 82 -d ${TESTCLASSES}${FILESEP} \ 83 ${TESTSRC}${FILESEP}ClassLoaderDeadlock.java 84 85 ${TESTJAVA}${FILESEP}bin${FILESEP}javac \ 86 -d ${TESTCLASSES}${FILESEP}provider${FILESEP} \ 87 ${TESTSRC}${FILESEP}provider${FILESEP}HashProvider.java 88 89 # run the test 90 ${TESTJAVA}${FILESEP}bin${FILESEP}java ${TESTVMOPTS} \ 91 -classpath "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar" \ 92 -Djava.awt.headless=true \ 93 ClassLoaderDeadlock 94 95 STATUS=$? 96 97 # clean up 98 rm -f 'ClassLoaderDeadlock.class' 'ClassLoaderDeadlock$1.class' \ 99 'ClassLoaderDeadlock$DelayClassLoader.class' \ 100 provider${FILESEP}HashProvider.class 101 102 exit $STATUS | 26 # @summary verify no deadlock if crypto provider in other classloader is used to verify signed jars 27 # 28 # @run shell/timeout=30 ClassLoaderDeadlock.sh 29 30 # set a few environment variables so that the shell-script can run stand-alone 31 # in the source directory 32 if [ "${TESTSRC}" = "" ] ; then 33 TESTSRC="." 34 fi 35 36 if [ "${TESTCLASSES}" = "" ] ; then 37 TESTCLASSES="." 38 fi 39 40 if [ "${TESTJAVA}" = "" ] ; then 41 echo "TESTJAVA not set. Test cannot execute." 42 echo "FAILED!!!" 43 exit 1 44 fi 45 46 if [ "${COMPILEJAVA}" = "" ]; then 47 COMPILEJAVA="${TESTJAVA}" 48 fi 49 50 # set platform-dependent variables 51 OS=`uname -s` 52 case "$OS" in 53 SunOS ) 54 PATHSEP=":" 55 FILESEP="/" 56 ;; 57 Linux ) 58 PATHSEP=":" 59 FILESEP="/" 60 ;; 61 Darwin ) 62 PATHSEP=":" 63 FILESEP="/" 64 ;; 65 CYGWIN* ) 66 PATHSEP=";" 67 FILESEP="/" 68 ;; 69 Windows* ) 70 PATHSEP=";" 71 FILESEP="\\" 72 ;; 73 * ) 74 echo "Unrecognized system!" 75 exit 1; 76 ;; 77 esac 78 79 cd ${TESTCLASSES}${FILESEP} 80 if [ ! -d provider ] ; then 81 mkdir provider 82 fi 83 84 # compile the test program 85 ${COMPILEJAVA}${FILESEP}bin${FILESEP}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \ 86 -d ${TESTCLASSES}${FILESEP} \ 87 ${TESTSRC}${FILESEP}ClassLoaderDeadlock.java 88 89 ${COMPILEJAVA}${FILESEP}bin${FILESEP}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \ 90 -d ${TESTCLASSES}${FILESEP}provider${FILESEP} \ 91 ${TESTSRC}${FILESEP}provider${FILESEP}HashProvider.java 92 93 # run the test 94 ${TESTJAVA}${FILESEP}bin${FILESEP}java ${TESTVMOPTS} \ 95 -classpath "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar" \ 96 -Djava.awt.headless=true \ 97 ClassLoaderDeadlock 98 99 STATUS=$? 100 101 # clean up 102 rm -f 'ClassLoaderDeadlock.class' 'ClassLoaderDeadlock$1.class' \ 103 'ClassLoaderDeadlock$DelayClassLoader.class' \ 104 provider${FILESEP}HashProvider.class 105 106 exit $STATUS |