1#!/bin/sh
2#
3#  Copyright (c) 2013, 2016, 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
31if [ "${TESTJAVA}" = "" ]
32then
33  echo "TESTJAVA not set.  Test cannot execute.  Failed."
34  exit 1
35fi
36echo "TESTJAVA=${TESTJAVA}"
37
38# COMPILEJAVA requires a JDK, some shell test use javac,jar,etc 
39if [ "${COMPILEJAVA}" = "" ]
40then
41 echo "COMPILEJAVA not set.  Using TESTJAVA as default"
42 COMPILEJAVA=${TESTJAVA}
43fi
44echo "COMPILEJAVA=${COMPILEJAVA}"
45
46if [ "${TESTCLASSES}" = "" ]
47then
48  echo "TESTCLASES not set.  Using "." as default"
49  TESTCLASSES=.
50fi
51echo "TESTCLASSES=${TESTCLASSES}"
52
53TESTOPTS="${TESTVMOPTS} ${TESTJAVAOPTS}"
54echo "TESTOPTS=${TESTOPTS}"
55
56# set platform-dependent variables
57OS=`uname -s`
58case "$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    ;;
87esac
88
89export NULL PS FS RM CP MV
90echo "NULL =${NULL}"
91echo "PS =${PS}"
92echo "FS =${FS}"
93echo "RM =${RM}"
94echo "CP =${CP}"
95echo "MV =${MV}"
96
97# jtreg -classpathappend:<path>
98JEMMYPATH=${CPAPPEND}
99CLASSPATH=.${PS}${TESTCLASSES}${PS}${JEMMYPATH} ; export CLASSPATH
100echo "CLASSPATH =${CLASSPATH}"
101
102# Current directory is scratch directory 
103THIS_DIR=.
104echo "THIS_DIR=${THIS_DIR}"
105
106# Check to ensure the java defined actually works
107${TESTJAVA}${FS}bin${FS}java ${TESTOPTS} -version
108if [ $? != 0 ]; then
109  echo "Wrong TESTJAVA or TESTJAVAOPTS or TESTVMOPTS:"
110  echo ''$TESTJAVA'' ''$TESTJAVAOPTS'' ''$TESTVMOPTS''
111  exit 1
112fi
113
114${TESTJAVA}${FS}bin${FS}java ${TESTOPTS} -Xinternalversion | sed -e 's/[(][^)]*[)]//g' -e 's/ by "[^"]*"//g' > vm_version.out 2>&1
115echo "INT_VERSION=`cat vm_version.out 2>&1`"
116
117VM_TYPE="unknown"
118grep "Server" vm_version.out > ${NULL}
119if [ $? = 0 ]
120then
121  VM_TYPE="server"
122fi
123grep "Client" vm_version.out > ${NULL}
124if [ $? = 0 ]
125then
126  VM_TYPE="client"
127fi
128
129VM_BITS="32"
130grep "64-Bit" vm_version.out > ${NULL}
131if [ $? = 0 ]
132then
133  VM_BITS="64"
134fi
135
136VM_OS="unknown"
137grep "aix" vm_version.out > ${NULL}
138if [ $? = 0 ]
139then
140  VM_OS="aix"
141fi
142grep "bsd" vm_version.out > ${NULL}
143if [ $? = 0 ]
144then
145  VM_OS="bsd"
146fi
147grep "linux" vm_version.out > ${NULL}
148if [ $? = 0 ]
149then
150  VM_OS="linux"
151fi
152grep "solaris" vm_version.out > ${NULL}
153if [ $? = 0 ]
154then
155  VM_OS="solaris"
156fi
157grep "windows" vm_version.out > ${NULL}
158if [ $? = 0 ]
159then
160  VM_OS="windows"
161fi
162
163VM_CPU="unknown"
164grep "sparc" vm_version.out > ${NULL}
165if [ $? = 0 ]
166then
167  VM_CPU="sparc"
168  if [ $VM_BITS = "64" ]
169  then
170    VM_CPU="sparcv9"
171  fi
172fi
173grep "x86" vm_version.out > ${NULL}
174if [ $? = 0 ]
175then
176  VM_CPU="i386"
177fi
178grep "amd64" vm_version.out > ${NULL}
179if [ $? = 0 ]
180then
181  VM_CPU="amd64"
182fi
183grep "arm" vm_version.out > ${NULL}
184if [ $? = 0 ]
185then
186  VM_CPU="arm"
187fi
188grep "ppc" vm_version.out > ${NULL}
189if [ $? = 0 ]
190then
191  VM_CPU="ppc"
192  if [ $VM_BITS = "64" ]
193  then
194    VM_CPU="ppc64"
195    grep "ppc64le" vm_version.out > ${NULL}
196    if [ $? = 0 ]
197    then
198      VM_CPU="ppc64le"
199    fi
200  fi
201fi
202grep "ia64" vm_version.out > ${NULL}
203if [ $? = 0 ]
204then
205  VM_CPU="ia64"
206fi
207grep "s390x" vm_version.out > ${NULL}
208if [ $? = 0 ]
209then
210  VM_CPU="s390x"
211fi
212grep "aarch64" vm_version.out > ${NULL}
213if [ $? = 0 ]
214then
215  VM_CPU="aarch64"
216fi
217grep "arm64" vm_version.out > ${NULL}
218if [ $? = 0 ]
219then
220  VM_CPU="aarch64"
221fi
222export VM_TYPE VM_BITS VM_OS VM_CPU
223echo "VM_TYPE=${VM_TYPE}"
224echo "VM_BITS=${VM_BITS}"
225echo "VM_OS=${VM_OS}"
226echo "VM_CPU=${VM_CPU}"
227