test/tools/javap/stackmap/T6271292.sh

changeset 1
9a66ca7c79fa
child 349
bc0b1f404c40
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/test/tools/javap/stackmap/T6271292.sh	Sat Dec 01 00:00:00 2007 +0000
     1.3 @@ -0,0 +1,88 @@
     1.4 +#!/bin/sh
     1.5 +
     1.6 +#
     1.7 +# Copyright 2005-2007 Sun Microsystems, Inc.  All Rights Reserved.
     1.8 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.9 +#
    1.10 +# This code is free software; you can redistribute it and/or modify it
    1.11 +# under the terms of the GNU General Public License version 2 only, as
    1.12 +# published by the Free Software Foundation.
    1.13 +#
    1.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
    1.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    1.16 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    1.17 +# version 2 for more details (a copy is included in the LICENSE file that
    1.18 +# accompanied this code).
    1.19 +#
    1.20 +# You should have received a copy of the GNU General Public License version
    1.21 +# 2 along with this work; if not, write to the Free Software Foundation,
    1.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    1.23 +#
    1.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    1.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
    1.26 +# have any questions.
    1.27 +#
    1.28 +
    1.29 +# @test
    1.30 +# @bug 6271292
    1.31 +# @compile T6271292.java
    1.32 +# @run shell T6271292.sh
    1.33 +# @summary Verify that javap prints StackMapTable attribute contents
    1.34 +# @author Wei Tao
    1.35 +    
    1.36 +if [ "${TESTSRC}" = "" ]
    1.37 +then
    1.38 +  echo "TESTSRC not set.  Test cannot execute.  Failed."
    1.39 +  exit 1
    1.40 +fi
    1.41 +printf 'TESTSRC="%s"' "${TESTSRC}" >&2 ; echo >&2
    1.42 +if [ "${TESTJAVA}" = "" ]
    1.43 +then
    1.44 +  echo "TESTJAVA not set.  Test cannot execute.  Failed."
    1.45 +  exit 1
    1.46 +fi
    1.47 +printf 'TESTJAVA="%s"' "${TESTJAVA}" >&2 ; echo >&2
    1.48 +if [ "${TESTCLASSES}" = "" ]
    1.49 +then
    1.50 +  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
    1.51 +  exit 1
    1.52 +fi
    1.53 +printf 'TESTCLASSES="%s"' "${TESTCLASSES}" >&2 ; echo >&2
    1.54 +printf 'CLASSPATH="%s"' "${CLASSPATH}" >&2 ; echo >&2
    1.55 +
    1.56 +# set platform-dependent variables
    1.57 +OS=`uname -s`
    1.58 +case "$OS" in
    1.59 +  CYGWIN* | Windows* )
    1.60 +    FS="\\"
    1.61 +    ;;
    1.62 +  * )
    1.63 +    FS="/"
    1.64 +    ;;
    1.65 +esac
    1.66 +
    1.67 +JAVAPFILE=T6271292.javap
    1.68 +OUTFILE=outfile
    1.69 +
    1.70 +"${TESTJAVA}${FS}bin${FS}javap" ${TESTTOOLVMOPTS} -classpath "${TESTCLASSES}" -verbose T6271292 > "${JAVAPFILE}"
    1.71 +result="$?"
    1.72 +if [ "$result" -ne 0 ] 
    1.73 +then
    1.74 +  exit "$result"
    1.75 +fi
    1.76 +
    1.77 +grep "frame_type" "${JAVAPFILE}" > "${OUTFILE}"
    1.78 +grep "offset_delta" "${JAVAPFILE}" >> "${OUTFILE}"
    1.79 +grep "stack = " "${JAVAPFILE}" >> "${OUTFILE}"
    1.80 +grep "locals = " "${JAVAPFILE}" >> "${OUTFILE}"
    1.81 +diff "${OUTFILE}" "${TESTSRC}${FS}T6271292.out"
    1.82 +result="$?"
    1.83 +if [ "$result" -eq 0 ]
    1.84 +then
    1.85 +  echo "Passed"
    1.86 +else
    1.87 +  echo "Failed"
    1.88 +fi
    1.89 +exit "$result"
    1.90 +
    1.91 +

mercurial