Thu, 25 Aug 2011 17:18:25 -0700
Added tag jdk8-b02 for changeset b3c059de2a61
1 #!/bin/sh
3 #
4 # Copyright (c) 2004, 2009, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
26 # @test
27 # @bug 5008759 4998341 5018369 5032476 5060121 5096932 5096931
28 # @run shell ../verifyVariables.sh
29 # @run shell print.sh
30 # @summary test availabilty of print option
31 # @author Joseph D. Darcy
33 OS=`uname -s`;
34 case "${OS}" in
35 CYGWIN* )
36 DIFFOPTS="--strip-trailing-cr"
37 ;;
39 * )
40 ;;
41 esac
43 # Compile file directly, without TESTJAVACOPTS
44 # Don't use @build or @compile as these implicitly use jtreg -javacoption values
45 # and it is important that this file be compiled as expected, for later comparison
46 # against a golden file.
47 "${TESTJAVA}/bin/javac" ${TESTTOOLVMOPTS} -d ${TESTCLASSES} ${TESTSRC}/Aggregate.java
49 # Construct path to apt executable
50 APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} \
51 -print "
53 printf "%s\n" "APT = ${APT}"
55 PRINT_FILES="${TESTSRC}/MisMatch.java \
56 ${TESTSRC}/GenClass.java \
57 ${TESTSRC}/Misc.java \
58 ${TESTSRC}/Lacuna.java"
60 for i in ${PRINT_FILES}
61 do
62 # Delete any existing class file
63 FILENAME=`basename $i .java`
64 rm -f ${FILENAME}.class
66 printf "%s\n" "Printing ${i}"
67 ${APT} ${i}
69 RESULT=$?
70 case "$RESULT" in
71 0 )
72 ;;
74 * )
75 echo "Problem printing file ${i}."
76 exit 1
77 esac
79 # Verify compilation did not occur
80 if [ -f ${FILENAME}.class ]; then
81 printf "Improper compilation occured for %s.\n" ${i}
82 exit 1
83 fi
85 done
87 # check for mutliple methods and no static initializer
89 ${APT} -XclassesAsDecls -cp ${TESTCLASSES} -print Aggregate > aggregate.txt
90 diff ${DIFFOPTS} aggregate.txt ${TESTSRC}/goldenAggregate.txt
92 RESULT=$?
93 case "$RESULT" in
94 0 )
95 ;;
97 * )
98 echo "Expected output not received"
99 exit 1
100 esac
102 exit 0