test/jdk/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
changeset 47216 71c04702a3d5
parent 23010 6dadb192ad81
equal deleted inserted replaced
47215:4ebc2e2fb97c 47216:71c04702a3d5
       
     1 #
       
     2 # Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
       
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4 #
       
     5 # This code is free software; you can redistribute it and/or modify it
       
     6 # under the terms of the GNU General Public License version 2 only, as
       
     7 # published by the Free Software Foundation.
       
     8 #
       
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12 # version 2 for more details (a copy is included in the LICENSE file that
       
    13 # accompanied this code).
       
    14 #
       
    15 # You should have received a copy of the GNU General Public License version
       
    16 # 2 along with this work; if not, write to the Free Software Foundation,
       
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18 #
       
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    20 # or visit www.oracle.com if you need additional information or have any
       
    21 # questions.
       
    22 #
       
    23 
       
    24 # @test
       
    25 # @bug 5094825
       
    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   AIX )
       
    66     PATHSEP=":"
       
    67     FILESEP="/"
       
    68     ;;
       
    69   CYGWIN* )
       
    70     PATHSEP=";"
       
    71     FILESEP="/"
       
    72     ;;
       
    73   Windows* )
       
    74     PATHSEP=";"
       
    75     FILESEP="\\"
       
    76     ;;
       
    77   * )
       
    78     echo "Unrecognized system!"
       
    79     exit 1;
       
    80     ;;
       
    81 esac
       
    82 
       
    83 cd ${TESTCLASSES}${FILESEP}
       
    84 if [ ! -d provider ] ; then
       
    85     mkdir provider
       
    86 fi
       
    87 
       
    88 # compile the test program
       
    89 ${COMPILEJAVA}${FILESEP}bin${FILESEP}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \
       
    90         -d ${TESTCLASSES}${FILESEP} \
       
    91         ${TESTSRC}${FILESEP}ClassLoaderDeadlock.java
       
    92 
       
    93 ${COMPILEJAVA}${FILESEP}bin${FILESEP}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \
       
    94         -d ${TESTCLASSES}${FILESEP}provider${FILESEP} \
       
    95         ${TESTSRC}${FILESEP}provider${FILESEP}HashProvider.java
       
    96 
       
    97 # run the test
       
    98 ${TESTJAVA}${FILESEP}bin${FILESEP}java ${TESTVMOPTS} \
       
    99         -classpath "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar" \
       
   100 	-Djava.awt.headless=true \
       
   101         ClassLoaderDeadlock
       
   102 
       
   103 STATUS=$?
       
   104 
       
   105 # clean up
       
   106 rm -f 'ClassLoaderDeadlock.class' 'ClassLoaderDeadlock$1.class' \
       
   107 'ClassLoaderDeadlock$DelayClassLoader.class' \
       
   108 provider${FILESEP}HashProvider.class
       
   109 
       
   110 exit $STATUS