Tue, 02 Feb 2010 10:56:10 -0800
6918625: handle annotations on array class literals
Reviewed-by: jjg, darcy
Contributed-by: mali@csail.mit.edu, mernst@cs.washington.edu
1 #!/bin/sh
3 #
4 # Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 #
7 # This code is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License version 2 only, as
9 # published by the Free Software Foundation.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 # CA 95054 USA or visit www.sun.com if you need additional information or
23 # have any questions.
24 #
26 # @test
27 # @bug 6271292
28 # @compile T6271292.java
29 # @run shell T6271292.sh
30 # @summary Verify that javap prints StackMapTable attribute contents
31 # @author Wei Tao
33 if [ "${TESTSRC}" = "" ]
34 then
35 echo "TESTSRC not set. Test cannot execute. Failed."
36 exit 1
37 fi
38 printf 'TESTSRC="%s"' "${TESTSRC}" >&2 ; echo >&2
39 if [ "${TESTJAVA}" = "" ]
40 then
41 echo "TESTJAVA not set. Test cannot execute. Failed."
42 exit 1
43 fi
44 printf 'TESTJAVA="%s"' "${TESTJAVA}" >&2 ; echo >&2
45 if [ "${TESTCLASSES}" = "" ]
46 then
47 echo "TESTCLASSES not set. Test cannot execute. Failed."
48 exit 1
49 fi
50 printf 'TESTCLASSES="%s"' "${TESTCLASSES}" >&2 ; echo >&2
51 printf 'CLASSPATH="%s"' "${CLASSPATH}" >&2 ; echo >&2
53 # set platform-dependent variables
54 OS=`uname -s`
55 case "$OS" in
56 Windows* )
57 FS="\\"
58 ;;
59 * )
60 FS="/"
61 ;;
62 esac
64 JAVAPFILE=T6271292.javap
65 OUTFILE=outfile
67 "${TESTJAVA}${FS}bin${FS}javap" ${TESTTOOLVMOPTS} -classpath "${TESTCLASSES}" -verbose T6271292 > "${JAVAPFILE}"
68 result="$?"
69 if [ "$result" -ne 0 ]
70 then
71 exit "$result"
72 fi
74 grep "frame_type" "${JAVAPFILE}" > "${OUTFILE}"
75 grep "offset_delta" "${JAVAPFILE}" >> "${OUTFILE}"
76 grep "stack = " "${JAVAPFILE}" >> "${OUTFILE}"
77 grep "locals = " "${JAVAPFILE}" >> "${OUTFILE}"
78 diff -w "${OUTFILE}" "${TESTSRC}${FS}T6271292.out"
79 result="$?"
80 if [ "$result" -eq 0 ]
81 then
82 echo "Passed"
83 else
84 echo "Failed"
85 fi
86 exit "$result"