blob: ba3305ee44c19e81d92691b0a730dd0464f1c3e0 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001#! /bin/sh
2
3#
4# Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
5# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6#
7# This code is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License version 2 only, as
9# published by the Free Software Foundation.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22# CA 95054 USA or visit www.sun.com if you need additional information or
23# have any questions.
24#
25
26#
27
28# set a few environment variables so that the shell-script can run stand-alone
29# in the source directory
30if [ "${TESTSRC}" = "" ] ; then
31 TESTSRC="."
32fi
33
34if [ "${TESTCLASSES}" = "" ] ; then
35 TESTCLASSES="."
36fi
37
38if [ "${TESTJAVA}" = "" ] ; then
39 echo "TESTJAVA not set. Test cannot execute."
40 echo "FAILED!!!"
41 exit 1
42fi
43
44# set platform-dependent variables
45OS=`uname -s`
46case "$OS" in
47 SunOS )
48 PATHSEP=":"
49 FILESEP="/"
50 ;;
51 Linux )
52 PATHSEP=":"
53 FILESEP="/"
54 ;;
55 Windows* )
56 PATHSEP=";"
57 FILESEP="\\"
58 ;;
59 * )
60 echo "Unrecognized system!"
61 exit 1;
62 ;;
63esac
64
65# compile the test program
66cd ${TESTSRC}${FILESEP}
67rm GrantAllPermToExtWhenNoPolicy.class
68${TESTJAVA}${FILESEP}bin${FILESEP}javac -d ${TESTSRC}${FILESEP} ${TESTSRC}${FILESEP}SomeExtensionClass.java
69${TESTJAVA}${FILESEP}bin${FILESEP}javac -d ${TESTSRC}${FILESEP} ${TESTSRC}${FILESEP}GrantAllPermToExtWhenNoPolicy.java
70
71# create the extension JAR file
72cd ${TESTCLASSES}
73${TESTJAVA}${FILESEP}bin${FILESEP}jar cvf SomeExt.jar SomeExtensionClass*.class
74rm SomeExtensionClass.class
75
76# move the extension JAR file to the extension directory
77mv SomeExt.jar ${TESTJAVA}${FILESEP}jre${FILESEP}lib${FILESEP}ext
78
79# remove the system policy file
80mv \
81 ${TESTJAVA}${FILESEP}jre${FILESEP}lib${FILESEP}security${FILESEP}java.policy \
82 ${TESTJAVA}${FILESEP}jre${FILESEP}lib${FILESEP}security${FILESEP}tmp_pol
83
84# run the test program
85${TESTJAVA}${FILESEP}bin${FILESEP}java -Djava.security.manager \
86 GrantAllPermToExtWhenNoPolicy
87
88# save error status
89status=$?
90
91# restore system policy and remove extension JAR file
92mv ${TESTJAVA}${FILESEP}jre${FILESEP}lib${FILESEP}security${FILESEP}tmp_pol \
93 ${TESTJAVA}${FILESEP}jre${FILESEP}lib${FILESEP}security${FILESEP}java.policy
94rm ${TESTJAVA}${FILESEP}jre${FILESEP}lib${FILESEP}ext${FILESEP}SomeExt.jar
95
96exit $status