source: trunk/openjdk/langtools/test/tools/javah/ConstMacroTest.sh

Last change on this file was 278, checked in by dmik, 14 years ago

trunk: Merged in openjdk6 b22 from branches/vendor/oracle.

File size: 2.7 KB
Line 
1#!/bin/sh
2
3#
4# Copyright (c) 2003, 2007, 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#
25
26# @test
27#
28# @bug 4786406 4781221 4780341 6214324
29
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.
33
34if [ "${TESTSRC}" = "" ]
35then
36 echo "TESTSRC not set. Test cannot execute. Failed."
37 exit 1
38fi
39echo "TESTSRC=${TESTSRC}"
40if [ "${TESTJAVA}" = "" ]
41then
42 echo "TESTJAVA not set. Test cannot execute. Failed."
43 exit 1
44fi
45echo "TESTJAVA=${TESTJAVA}"
46if [ "${TESTCLASSES}" = "" ]
47then
48 echo "TESTCLASSES not set. Test cannot execute. Failed."
49 exit 1
50fi
51echo "TESTCLASSES=${TESTCLASSES}"
52echo "CLASSPATH=${CLASSPATH}"
53
54EXPECTED_JAVAH_OUT_FILE=SubClassConsts.out
55
56# set platform-dependent variables
57OS=`uname -s`
58case "$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
79
80GENERATED_HEADER_FILE=SubClassConsts.h
81HEADER_FILE_FILTERED=SubClassConsts.h.linefeed-filtered
82
83rm -rf SuperClassConsts.class SubClassConsts.class
84
85cp "${TESTSRC}${FS}SuperClassConsts.java" .
86cp "${TESTSRC}${FS}SubClassConsts.java" .
87
88"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -d . "${TESTSRC}${FS}SubClassConsts.java"
89
90"${TESTJAVA}${FS}bin${FS}javah" ${TESTTOOLVMOPTS} SubClassConsts
91
92diff ${DIFFOPTS} "${TESTSRC}${FS}${EXPECTED_JAVAH_OUT_FILE}" "${GENERATED_HEADER_FILE}"
93result=$?
94rm ${GENERATED_HEADER_FILE}
95
96if [ $result -eq 0 ]
97then
98 echo "Passed"
99else
100 echo "Failed"
101fi
102exit $result
Note: See TracBrowser for help on using the repository browser.