1 #!/bin/sh
   2 #
   3 #  Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
   4 #  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 # 
   6 #  This code is free software; you can redistribute it and/or modify it
   7 #  under the terms of the GNU General Public License version 2 only, as
   8 #  published by the Free Software Foundation.
   9 # 
  10 #  This code is distributed in the hope that it will be useful, but WITHOUT
  11 #  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 #  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13 #  version 2 for more details (a copy is included in the LICENSE file that
  14 #  accompanied this code).
  15 # 
  16 #  You should have received a copy of the GNU General Public License version
  17 #  2 along with this work; if not, write to the Free Software Foundation,
  18 #  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 # 
  20 #  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21 #  or visit www.oracle.com if you need additional information or have any
  22 #  questions.
  23 # 
  24 
  25 #
  26 # This Environment script was written to capture typically used environment
  27 # setup for a given shell test. 
  28 #
  29 
  30 # TESTJAVA can be a JDK or JRE. If JRE you need to set COMPILEJAVA
  31 if [ "${TESTJAVA}" = "" ]
  32 then
  33   echo "TESTJAVA not set.  Test cannot execute.  Failed."
  34   exit 1
  35 fi
  36 echo "TESTJAVA=${TESTJAVA}"
  37 
  38 # COMPILEJAVA requires a JDK, some shell test use javac,jar,etc 
  39 if [ "${COMPILEJAVA}" = "" ]
  40 then
  41  echo "COMPILEJAVA not set.  Using TESTJAVA as default"
  42  COMPILEJAVA=${TESTJAVA}
  43 fi
  44 echo "COMPILEJAVA=${COMPILEJAVA}"
  45 
  46 if [ "${TESTCLASSES}" = "" ]
  47 then
  48   echo "TESTCLASES not set.  Using "." as default"
  49   TESTCLASSES=.
  50 fi
  51 echo "TESTCLASSES=${TESTCLASSES}"
  52 
  53 TESTOPTS="${TESTVMOPTS} ${TESTJAVAOPTS}"
  54 echo "TESTOPTS=${TESTOPTS}"
  55 
  56 # set platform-dependent variables
  57 OS=`uname -s`
  58 case "$OS" in
  59   AIX | Darwin | Linux | SunOS )
  60     NULL=/dev/null
  61     PS=":"
  62     FS="/"
  63     RM=/bin/rm
  64     CP=/bin/cp
  65     MV=/bin/mv
  66     ;;
  67   Windows_* )
  68     NULL=NUL
  69     PS=";"
  70     FS="\\"
  71     RM=rm
  72     CP=cp
  73     MV=mv
  74     ;;
  75   CYGWIN_* )
  76     NULL=/dev/null
  77     PS=";"
  78     FS="/"
  79     RM=rm
  80     CP=cp
  81     MV=mv
  82     ;;
  83   * )
  84     echo "Unrecognized system!"
  85     exit 1;
  86     ;;
  87 esac
  88 
  89 export NULL PS FS RM CP MV
  90 echo "NULL =${NULL}"
  91 echo "PS =${PS}"
  92 echo "FS =${FS}"
  93 echo "RM =${RM}"
  94 echo "CP =${CP}"
  95 echo "MV =${MV}"
  96 
  97 # jtreg -classpathappend:<path>
  98 JEMMYPATH=${CPAPPEND}
  99 CLASSPATH=.${PS}${TESTCLASSES}${PS}${JEMMYPATH} ; export CLASSPATH
 100 echo "CLASSPATH =${CLASSPATH}"
 101 
 102 # Current directory is scratch directory 
 103 THIS_DIR=.
 104 echo "THIS_DIR=${THIS_DIR}"
 105 
 106 # Check to ensure the java defined actually works
 107 ${TESTJAVA}${FS}bin${FS}java ${TESTOPTS} -version
 108 if [ $? != 0 ]; then
 109   echo "Wrong TESTJAVA or TESTJAVAOPTS or TESTVMOPTS:"
 110   echo ''$TESTJAVA'' ''$TESTJAVAOPTS'' ''$TESTVMOPTS''
 111   exit 1
 112 fi
 113 
 114 ${TESTJAVA}${FS}bin${FS}java ${TESTOPTS} -Xinternalversion | sed -e 's/[(][^)]*[)]//g' -e 's/ by "[^"]*"//g' > vm_version.out 2>&1
 115 echo "INT_VERSION=`cat vm_version.out 2>&1`"
 116 
 117 VM_TYPE="unknown"
 118 grep "Server" vm_version.out > ${NULL}
 119 if [ $? = 0 ]
 120 then
 121   VM_TYPE="server"
 122 fi
 123 grep "Client" vm_version.out > ${NULL}
 124 if [ $? = 0 ]
 125 then
 126   VM_TYPE="client"
 127 fi
 128 
 129 VM_BITS="32"
 130 grep "64-Bit" vm_version.out > ${NULL}
 131 if [ $? = 0 ]
 132 then
 133   VM_BITS="64"
 134 fi
 135 
 136 VM_OS="unknown"
 137 grep "aix" vm_version.out > ${NULL}
 138 if [ $? = 0 ]
 139 then
 140   VM_OS="aix"
 141 fi
 142 grep "bsd" vm_version.out > ${NULL}
 143 if [ $? = 0 ]
 144 then
 145   VM_OS="bsd"
 146 fi
 147 grep "linux" vm_version.out > ${NULL}
 148 if [ $? = 0 ]
 149 then
 150   VM_OS="linux"
 151 fi
 152 grep "solaris" vm_version.out > ${NULL}
 153 if [ $? = 0 ]
 154 then
 155   VM_OS="solaris"
 156 fi
 157 grep "windows" vm_version.out > ${NULL}
 158 if [ $? = 0 ]
 159 then
 160   VM_OS="windows"
 161 fi
 162 
 163 VM_CPU="unknown"
 164 grep "sparc" vm_version.out > ${NULL}
 165 if [ $? = 0 ]
 166 then
 167   VM_CPU="sparc"
 168   if [ $VM_BITS = "64" ]
 169   then
 170     VM_CPU="sparcv9"
 171   fi
 172 fi
 173 grep "x86" vm_version.out > ${NULL}
 174 if [ $? = 0 ]
 175 then
 176   VM_CPU="i386"
 177 fi
 178 grep "amd64" vm_version.out > ${NULL}
 179 if [ $? = 0 ]
 180 then
 181   VM_CPU="amd64"
 182 fi
 183 grep "arm" vm_version.out > ${NULL}
 184 if [ $? = 0 ]
 185 then
 186   VM_CPU="arm"
 187 fi
 188 grep "ppc" vm_version.out > ${NULL}
 189 if [ $? = 0 ]
 190 then
 191   VM_CPU="ppc"
 192   if [ $VM_BITS = "64" ]
 193   then
 194     VM_CPU="ppc64"
 195   fi
 196 fi
 197 grep "ia64" vm_version.out > ${NULL}
 198 if [ $? = 0 ]
 199 then
 200   VM_CPU="ia64"
 201 fi
 202 grep "aarch64" vm_version.out > ${NULL}
 203 if [ $? = 0 ]
 204 then
 205   VM_CPU="aarch64"
 206 fi
 207 export VM_TYPE VM_BITS VM_OS VM_CPU
 208 echo "VM_TYPE=${VM_TYPE}"
 209 echo "VM_BITS=${VM_BITS}"
 210 echo "VM_OS=${VM_OS}"
 211 echo "VM_CPU=${VM_CPU}"