Mon, 12 Jul 2010 19:43:19 -0700
Merge
1 #!/bin/sh
3 #
4 # Copyright (c) 2003, 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 #
28 # @bug 4786406 4781221 4780341 6214324
30 # Validates rewritten javah handling of class defined constants
31 # and ensures that the appropriate macro definitions are placed
32 # in the generated header file.
34 if [ "${TESTSRC}" = "" ]
35 then
36 echo "TESTSRC not set. Test cannot execute. Failed."
37 exit 1
38 fi
39 echo "TESTSRC=${TESTSRC}"
40 if [ "${TESTJAVA}" = "" ]
41 then
42 echo "TESTJAVA not set. Test cannot execute. Failed."
43 exit 1
44 fi
45 echo "TESTJAVA=${TESTJAVA}"
46 if [ "${TESTCLASSES}" = "" ]
47 then
48 echo "TESTCLASSES not set. Test cannot execute. Failed."
49 exit 1
50 fi
51 echo "TESTCLASSES=${TESTCLASSES}"
52 echo "CLASSPATH=${CLASSPATH}"
54 EXPECTED_JAVAH_OUT_FILE=SubClassConsts.out
56 # set platform-dependent variables
57 OS=`uname -s`
58 case "$OS" in
59 SunOS | Linux )
60 PS=":"
61 FS="/"
62 ;;
63 CYGWIN* )
64 PS=":"
65 FS="/"
66 DIFFOPTS="--strip-trailing-cr"
67 EXPECTED_JAVAH_OUT_FILE=SubClassConsts.win
68 ;;
69 Windows* )
70 PS=";"
71 FS="\\"
72 EXPECTED_JAVAH_OUT_FILE=SubClassConsts.win
73 ;;
74 * )
75 echo "Unrecognized system!"
76 exit 1;
77 ;;
78 esac
80 GENERATED_HEADER_FILE=SubClassConsts.h
81 HEADER_FILE_FILTERED=SubClassConsts.h.linefeed-filtered
83 rm -rf SuperClassConsts.class SubClassConsts.class
85 cp "${TESTSRC}${FS}SuperClassConsts.java" .
86 cp "${TESTSRC}${FS}SubClassConsts.java" .
88 "${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -d . "${TESTSRC}${FS}SubClassConsts.java"
90 "${TESTJAVA}${FS}bin${FS}javah" ${TESTTOOLVMOPTS} SubClassConsts
92 diff ${DIFFOPTS} "${TESTSRC}${FS}${EXPECTED_JAVAH_OUT_FILE}" "${GENERATED_HEADER_FILE}"
93 result=$?
94 rm ${GENERATED_HEADER_FILE}
96 if [ $result -eq 0 ]
97 then
98 echo "Passed"
99 else
100 echo "Failed"
101 fi
102 exit $result