test/tools/javac/fatalErrors/NoJavaLang.sh

Fri, 21 Aug 2009 14:58:21 -0700

author
jjg
date
Fri, 21 Aug 2009 14:58:21 -0700
changeset 377
d9febdd5ae21
parent 1
9a66ca7c79fa
child 392
d5e76d422509
permissions
-rw-r--r--

6873845: refine access to symbol file
Reviewed-by: darcy

     1 #!/bin/sh
     3 #
     4 # Copyright 1999-2005 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 #
    27 if [ "${TESTSRC}" = "" ]
    28 then
    29   echo "TESTSRC not set.  Test cannot execute.  Failed."
    30   exit 1
    31 fi
    32 printf '%s' "TESTSRC=${TESTSRC}" ; echo
    33 if [ "${TESTJAVA}" = "" ]
    34 then
    35   echo "TESTJAVA not set.  Test cannot execute.  Failed."
    36   exit 1
    37 fi
    38 printf '%s' "TESTJAVA=${TESTJAVA}" ; echo
    39 if [ "${TESTCLASSES}" = "" ]
    40 then
    41   echo "TESTCLASSES not set.  Test cannot execute.  Failed."
    42   exit 1
    43 fi
    44 printf '%s' "TESTCLASSES=${TESTCLASSES}" ; echo
    45 printf '%s' "CLASSPATH=${CLASSPATH}" ; echo
    46 echo
    48 # set platform-dependent variables
    49 OS=`uname -s`
    50 case "$OS" in
    51   SunOS | Linux )
    52     NULL=/dev/null
    53     PS=":"
    54     FS="/"
    55     ;;
    56   Windows* )
    57     NULL=NUL
    58     PS=";"
    59     FS="\\"
    60     ;;
    61   * )
    62     echo "Unrecognized system!"
    63     exit 1;
    64     ;;
    65 esac
    67 TMP1=OUTPUT.txt
    69 cp "${TESTSRC}${FS}NoJavaLang.java" .
    71 echo "- verifing that fatal error is not produced in the regular case" 
    72 "${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} NoJavaLang.java 2> "${TMP1}"
    73 result=$?
    75 if [ $result -eq 0 ]
    76 then
    77   echo "Passed - base compilation successful"
    78 else
    79   echo "Failed - unable to compile test"
    80   exit $result
    81 fi
    83 echo
    85 echo "- verifing the fatal error is produced"
    86 rm "${TMP1}"
    87 "${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -bootclasspath . NoJavaLang.java 2> "${TMP1}"
    89 # return code should be EXIT_SYSERR
    90 result=$?
    91 if [ $result -ne 3 ]
    92 then
    93   echo "Failed - unexpected return code"
    94   exit $result
    95 else
    96   echo "Passed - expected return code"
    97 fi
    99 # expected message
   100 cat "${TMP1}"
   101 diff -c "${TESTSRC}${FS}NoJavaLang.out" "${TMP1}"
   102 result=$?
   103 rm "${TMP1}"
   105 if [ $result -eq 0 ]
   106 then
   107   echo "Passed - expected message"
   108 else
   109   echo "Failed - unexpected message"
   110   exit $result
   112 fi
   114 exit

mercurial