1 #
   2 # Copyright (c) 2004, 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 # 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   AIX )
  58     PATHSEP=":"
  59     FILESEP="/"
  60     ;;
  61   Windows* )
  62     PATHSEP=";"
  63     FILESEP="\\"
  64     ;;
  65   * )
  66     echo "Unrecognized system!"
  67     exit 1;
  68     ;;
  69 esac
  70 
  71 # remove old class files
  72 cd ${TESTCLASSES}${FILESEP}
  73 rm -f ClassLoaderDeadlock.class
  74 rm -rf provider
  75 mkdir provider
  76 
  77 # compile the test program
  78 ${TESTJAVA}${FILESEP}bin${FILESEP}javac \
  79         -d ${TESTCLASSES}${FILESEP} \
  80         ${TESTSRC}${FILESEP}ClassLoaderDeadlock.java
  81 
  82 ${TESTJAVA}${FILESEP}bin${FILESEP}javac \
  83         -d ${TESTCLASSES}${FILESEP}provider${FILESEP} \
  84         ${TESTSRC}${FILESEP}provider${FILESEP}HashProvider.java
  85 
  86 # run the test
  87 ${TESTJAVA}${FILESEP}bin${FILESEP}java \
  88         -classpath ${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar \
  89         ClassLoaderDeadlock
  90 
  91 exit $?