hotspot/test/runtime/7051189/Xchecksig.sh
author collins
Wed, 27 Mar 2013 09:49:51 -0700
changeset 16457 92af83361777
parent 13523 6a7f3e56a242
permissions -rw-r--r--
8009152: A number of jtreg tests need review/improvement Summary: Added a new test_env.txt file to capture common shell variable. Added concept of COMPILEJAVA for use when TESTJAVA is a JRE. If COMPILEJAVA not set then TESTJAVA will be the default with assumption it is a JDK. Reviewed-by: kvn, brutisso, coleenp
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     1
# 
12729
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
     2
#  Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     3
#  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     4
# 
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     5
#  This code is free software; you can redistribute it and/or modify it
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     6
#  under the terms of the GNU General Public License version 2 only, as
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     7
#  published by the Free Software Foundation.
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     8
# 
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
     9
#  This code is distributed in the hope that it will be useful, but WITHOUT
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    10
#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    11
#  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    12
#  version 2 for more details (a copy is included in the LICENSE file that
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    13
#  accompanied this code).
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    14
# 
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    15
#  You should have received a copy of the GNU General Public License version
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    16
#  2 along with this work; if not, write to the Free Software Foundation,
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    17
#  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    18
# 
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    19
#  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    20
#  or visit www.oracle.com if you need additional information or have any
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    21
#  questions.
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    22
# 
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    23
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    24
 
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    25
# @test Xchecksig.sh
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    26
# @bug 7051189
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    27
# @summary Need to suppress info message if -xcheck:jni used with libjsig.so
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    28
# @run shell Xchecksig.sh
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    29
#
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    30
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    31
if [ "${TESTSRC}" = "" ]
16457
92af83361777 8009152: A number of jtreg tests need review/improvement
collins
parents: 13523
diff changeset
    32
then
92af83361777 8009152: A number of jtreg tests need review/improvement
collins
parents: 13523
diff changeset
    33
  TESTSRC=${PWD}
92af83361777 8009152: A number of jtreg tests need review/improvement
collins
parents: 13523
diff changeset
    34
  echo "TESTSRC not set.  Using "${TESTSRC}" as default"
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    35
fi
16457
92af83361777 8009152: A number of jtreg tests need review/improvement
collins
parents: 13523
diff changeset
    36
echo "TESTSRC=${TESTSRC}"
92af83361777 8009152: A number of jtreg tests need review/improvement
collins
parents: 13523
diff changeset
    37
## Adding common setup Variables for running shell tests.
92af83361777 8009152: A number of jtreg tests need review/improvement
collins
parents: 13523
diff changeset
    38
. ${TESTSRC}/../../test_env.sh
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    39
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    40
OS=`uname -s`
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    41
case "$OS" in
13523
6a7f3e56a242 7191926: Remove MKS dependency in Hotspot regression tests
coleenp
parents: 13469
diff changeset
    42
  Windows_* | CYGWIN_* )
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    43
    printf "Not testing libjsig.so on Windows. PASSED.\n "
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    44
    exit 0
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    45
    ;;
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    46
esac
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    47
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    48
JAVA=${TESTJAVA}${FS}bin${FS}java
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    49
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    50
# LD_PRELOAD arch needs to match the binary we run, so run the java
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    51
# 64-bit binary directly if we are testing 64-bit (bin/ARCH/java).
12729
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
    52
# Check if TESTVMOPS contains -d64, but cannot use 
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
    53
# java ${TESTVMOPS} to run "java -d64"  with LD_PRELOAD.
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    54
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    55
if [ ${OS} -eq "SunOS" ]
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    56
then
12729
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
    57
  printf  "SunOS test TESTVMOPTS = ${TESTVMOPTS}"
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
    58
  printf ${TESTVMOPTS} | grep d64 > /dev/null
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    59
  if [ $? -eq 0 ]
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    60
  then
12729
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
    61
    printf "SunOS 64-bit test\n"
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    62
    BIT_FLAG=-d64
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    63
  fi
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    64
fi
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    65
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    66
ARCH=`uname -p`
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    67
case $ARCH in
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    68
  i386)
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    69
    if [ X${BIT_FLAG} != "X" ]
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    70
    then
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    71
      ARCH=amd64
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    72
      JAVA=${TESTJAVA}${FS}bin${FS}${ARCH}${FS}java
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    73
    fi
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    74
    ;;
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    75
  sparc)
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    76
    if [ X${BIT_FLAG} != "X" ]
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    77
    then
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    78
      ARCH=sparcv9
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    79
      JAVA=${TESTJAVA}${FS}bin${FS}${ARCH}${FS}java
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    80
    fi
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    81
    ;;
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    82
  * )
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    83
    printf "Not testing architecture $ARCH, skipping test.\n"
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    84
    exit 0
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    85
  ;; 
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    86
esac
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    87
16457
92af83361777 8009152: A number of jtreg tests need review/improvement
collins
parents: 13523
diff changeset
    88
LIBJSIG=${COMPILEJAVA}${FS}jre${FS}lib${FS}${ARCH}${FS}libjsig.so
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    89
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    90
# If libjsig and binary do not match, skip test.
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    91
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    92
A=`file ${LIBJSIG} | awk '{ print $3 }'`
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    93
B=`file ${JAVA}    | awk '{ print $3 }'`
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    94
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    95
if [ $A -ne $B ]
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    96
then
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    97
  printf "Mismatching binary and library to preload, skipping test.\n"
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    98
  exit 0
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
    99
fi
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   100
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   101
if [ ! -f ${LIBJSIG} ]
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   102
then
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   103
  printf "Skipping test: libjsig missing for given architecture: ${LIBJSIG}\n"
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   104
  exit 0
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   105
fi
12729
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
   106
# Use java -version to test, java version info appears on stderr,
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   107
# the libjsig message we are removing appears on stdout.
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   108
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   109
# grep returns zero meaning found, non-zero means not found:
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   110
12729
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
   111
LD_PRELOAD=${LIBJSIG} ${JAVA} ${TESTVMOPTS} -Xcheck:jni -version 2>&1  | grep "libjsig is activated"
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   112
if [ $? -eq 0 ]; then
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   113
  printf "Failed: -Xcheck:jni prints message when libjsig.so is loaded.\n"
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   114
  exit 1
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   115
fi
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   116
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   117
12729
684b5857e506 7157734: hotspot test scripts not testing 64-bit JVM under JPRT/JTREG.
kevinw
parents: 10561
diff changeset
   118
LD_PRELOAD=${LIBJSIG} ${JAVA} ${TESTVMOPTS} -Xcheck:jni -verbose:jni -version 2>&1 | grep "libjsig is activated"
10561
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   119
if [ $? != 0 ]; then
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   120
  printf "Failed: -Xcheck:jni does not print message when libjsig.so is loaded and -verbose:jni is set.\n"
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   121
  exit 1
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   122
fi
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   123
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   124
printf "PASSED\n"
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   125
exit 0
bf51fe78a9ad 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
kevinw
parents:
diff changeset
   126