1#
2# Copyright (c) 2002, 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 4500504
26# @summary If the context class loader is a child of the impl's class
27# loader, the context class loader should remain unchanged (i.e., not be
28# set to the impl's class loader) when the impl is activated.
29# @library ../../../testlibrary
30# @build TestLibrary RMID RMIDSelectorProvider ActivationLibrary
31# @build ExtLoadedImplTest ExtLoadedImpl ExtLoadedImpl_Stub CheckLoader
32# @run shell ext.sh
33
34OS=`uname -s`
35case "$OS" in
36  SunOS | Linux | Darwin | AIX )
37    PS=":"
38    ;;
39  Windows* | CYGWIN* )
40    PS=";"
41    ;;
42  * )
43    echo "Unrecognized system!"
44    exit 1;
45    ;;
46esac
47
48mkdir -p classes
49for dir in `echo ${TESTCLASSPATH:-$TESTCLASSES} | sed -e "s/$PS/ /"` ; do cp $dir/*.class classes ; done
50rm classes/ExtLoadedImpl.class classes/ExtLoadedImpl_Stub.class classes/CheckLoader.class
51mkdir -p ext
52$COMPILEJAVA/bin/jar ${TESTTOOLVMOPTS} cf ext/ext.jar -C $TESTCLASSES ExtLoadedImpl.class -C $TESTCLASSES ExtLoadedImpl_Stub.class -C $TESTCLASSES CheckLoader.class
53
54TESTVMOPTS="${TESTVMOPTS} \
55 --add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED \
56 --add-exports java.rmi/sun.rmi.server=ALL-UNNAMED \
57 --add-exports java.rmi/sun.rmi.transport=ALL-UNNAMED \
58 --add-exports java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED"
59$TESTJAVA/bin/java ${TESTVMOPTS} -cp classes -Dtest.src=$TESTSRC -Dtest.classes=$TESTCLASSES -Djava.security.policy=$TESTSRC/security.policy -Djava.ext.dirs=ext ExtLoadedImplTest
60
61