test/tools/javah/ConstMacroTest.sh

Thu, 25 Aug 2011 17:18:25 -0700

author
schien
date
Thu, 25 Aug 2011 17:18:25 -0700
changeset 1067
f497fac86cf9
parent 554
9d9f26857129
child 1223
f3743b82945e
permissions
-rw-r--r--

Added tag jdk8-b02 for changeset b3c059de2a61

     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

mercurial