test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh

Print this page




  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