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:
  34 status=1
  35 
  36 #Call this from anywhere to fail the test with an error message
  37 # usage: fail "reason why the test failed"
  38 fail()
  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"
  47 pass()
  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 
  57 OS=`uname -s`
  58 case "$OS" in
  59    SunOS | Linux | Darwin | AIX )
  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       ;;
  72 esac
  73 
  74 TARGETCLASS="ImmutableResourceTest"
  75 if [ -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:
  91 fi
  92 #
  93 echo "JDK under test is: $TESTJAVA"
  94 #
  95 CP="-classpath ${TESTCLASSES}${PATHSEP}${TESTJAVA}/lib/tools.jar"
  96 # Compile the test class using the classpath we need:
  97 #
  98 env
  99 #
 100 set -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 ${TESTVMOPTS} ${CP} ${TARGETCLASS}
 108 status=$?
 109 echo "test status was: $status"
 110 if [ $status -eq "0" ];
 111    then pass ""
 112 
 113    else fail "unspecified test failure"
 114 fi