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 +