ImmutableResourceTest.sh revision 6073:cea72c2bf071
1#
2# Copyright (c) 2005, 2012, 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        6287579
26#   @summary    SubClasses of ListResourceBundle should fix getContents()
27#   @author     Tim Bell
28#
29#   @run shell ImmutableResourceTest.sh
30#
31#
32
33# Beginning of subroutines:
34status=1
35
36#Call this from anywhere to fail the test with an error message
37# usage: fail "reason why the test failed"
38fail()
39 { echo "The test failed :-("
40   echo "$*" 1>&2
41   echo "exit status was $status"
42   exit $status
43 } #end of fail()
44
45#Call this from anywhere to pass the test with a message
46# usage: pass "reason why the test passed if applicable"
47pass()
48 { echo "The test passed!!!"
49   echo "$*" 1>&2
50   exit 0
51 } #end of pass()
52
53# end of subroutines
54
55# The beginning of the script proper
56
57OS=`uname -s`
58case "$OS" in
59   SunOS | Linux | Darwin )
60      PATHSEP=":"
61      ;;
62
63   Windows* | CYGWIN*)
64      PATHSEP=";"
65      ;;
66
67   # catch all other OSs
68   * )
69      echo "Unrecognized system!  $OS"
70      fail "Unrecognized system!  $OS"
71      ;;
72esac
73
74TARGETCLASS="ImmutableResourceTest"
75if [ -z "${TESTJAVA}" ] ; then
76   # TESTJAVA is not set, so the test is running stand-alone.
77   # TESTJAVA holds the path to the root directory of the build of the JDK
78   # to be tested.  That is, any java files run explicitly in this shell
79   # should use TESTJAVA in the path to the java interpreter.
80   # So, we'll set this to the JDK spec'd on the command line.  If none
81   # is given on the command line, tell the user that and use a default.
82   # THIS IS THE JDK BEING TESTED.
83   if [ -n "$1" ] ; then
84          TESTJAVA=$1
85      else
86          TESTJAVA=$JAVA_HOME
87   fi
88   TESTSRC=.
89   TESTCLASSES=.
90   #Deal with .class files:
91fi
92#
93echo "JDK under test is: $TESTJAVA"
94#
95CP="-classpath ${TESTCLASSES}${PATHSEP}${TESTJAVA}/lib/tools.jar"
96# Compile the test class using the classpath we need:
97#
98env
99#
100set -vx
101#
102#Compile.  tools.jar is required on the classpath.
103${TESTJAVA}/bin/javac -d "${TESTCLASSES}" ${CP} -g \
104                         "${TESTSRC}"/"${TARGETCLASS}".java
105#
106#Run the test class, again with the classpath we need:
107${TESTJAVA}/bin/java ${CP} ${TARGETCLASS}
108status=$?
109echo "test status was: $status"
110if [ $status -eq "0" ];
111   then pass ""
112
113   else fail "unspecified test failure"
114fi
115