0N/A#!/bin/sh
0N/A
0N/A#
2617N/A# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A#
0N/A# This code is free software; you can redistribute it and/or modify it
0N/A# under the terms of the GNU General Public License version 2 only, as
0N/A# published by the Free Software Foundation.
0N/A#
0N/A# This code is distributed in the hope that it will be useful, but WITHOUT
0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A# version 2 for more details (a copy is included in the LICENSE file that
0N/A# accompanied this code).
0N/A#
0N/A# You should have received a copy of the GNU General Public License version
0N/A# 2 along with this work; if not, write to the Free Software Foundation,
0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A#
2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A# or visit www.oracle.com if you need additional information or have any
2362N/A# questions.
0N/A#
0N/A
0N/A
2617N/A# Common setup for tool tests and other tests that use jtools.
0N/A# Checks that TESTJAVA, TESTSRC, and TESTCLASSES environment variables are set.
2617N/A#
2617N/A# Creates the following constants for use by the caller:
2617N/A# JAVA - java launcher
2617N/A# JHAT - jhat utility
2617N/A# JINFO - jinfo utility
2617N/A# JMAP - jmap utility
2617N/A# JPS - jps utility
2617N/A# JSTACK - jstack utility
4601N/A# JCMD - jcmd utility
2617N/A# OS - operating system name
2617N/A# PATTERN_EOL - grep or sed end-of-line pattern
2617N/A# PATTERN_WS - grep or sed whitespace pattern
2617N/A# PS - path separator (";" or ":")
2617N/A#
2617N/A# Sets the following variables:
2617N/A#
2617N/A# isCygwin - true if environment is Cygwin
2617N/A# isMKS - true if environment is MKS
2617N/A# isLinux - true if OS is Linux
2617N/A# isSolaris - true if OS is Solaris
2617N/A# isWindows - true if OS is Windows
0N/A
0N/A
2617N/Aif [ -z "${TESTJAVA}" ]; then
2617N/A echo "ERROR: TESTJAVA not set. Test cannot execute. Failed."
0N/A exit 1
0N/Afi
2617N/A
2617N/Aif [ -z "${TESTSRC}" ]; then
2617N/A echo "ERROR: TESTSRC not set. Test cannot execute. Failed."
2617N/A exit 1
2617N/Afi
2617N/A
2617N/Aif [ -z "${TESTCLASSES}" ]; then
2617N/A echo "ERROR: TESTCLASSES not set. Test cannot execute. Failed."
0N/A exit 1
0N/Afi
2617N/A
2617N/A# only enable these after checking the expected incoming env variables
2617N/Aset -eu
2617N/A
0N/AJAVA="${TESTJAVA}/bin/java"
2617N/AJHAT="${TESTJAVA}/bin/jhat"
2617N/AJINFO="${TESTJAVA}/bin/jinfo"
0N/AJMAP="${TESTJAVA}/bin/jmap"
2617N/AJPS="${TESTJAVA}/bin/jps"
2617N/AJSTACK="${TESTJAVA}/bin/jstack"
4601N/AJCMD="${TESTJAVA}/bin/jcmd"
2617N/A
2617N/AisCygwin=false
2617N/AisMKS=false
2617N/AisLinux=false
2617N/AisSolaris=false
2617N/AisUnknownOS=false
2617N/AisWindows=false
0N/A
0N/AOS=`uname -s`
0N/A
2617N/A# start with some UNIX like defaults
2617N/APATTERN_EOL='$'
2617N/A# blank and tab
2617N/APATTERN_WS='[ ]'
2617N/APS=":"
2617N/A
0N/Acase "$OS" in
2617N/A CYGWIN* )
0N/A OS="Windows"
2617N/A PATTERN_EOL='[
2617N/A]*$'
2617N/A # blank and tab
2617N/A PATTERN_WS='[ \t]'
2617N/A isCygwin=true
0N/A isWindows=true
2617N/A ;;
2617N/A Linux )
2617N/A OS="Linux"
2617N/A isLinux=true
2617N/A ;;
2617N/A SunOS )
2617N/A OS="Solaris"
2617N/A isSolaris=true
2617N/A ;;
2617N/A Windows* )
2617N/A OS="Windows"
2078N/A PATTERN_EOL='[
2617N/A]*$'
2078N/A PS=";"
0N/A isWindows=true
2617N/A ;;
0N/A * )
0N/A isUnknownOS=true
;;
esac