print.sh revision 0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#!/bin/sh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# This code is free software; you can redistribute it and/or modify it
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# under the terms of the GNU General Public License version 2 only, as
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# published by the Free Software Foundation.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# This code is distributed in the hope that it will be useful, but WITHOUT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# version 2 for more details (a copy is included in the LICENSE file that
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# accompanied this code).
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# You should have received a copy of the GNU General Public License version
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# 2 along with this work; if not, write to the Free Software Foundation,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# CA 95054 USA or visit www.sun.com if you need additional information or
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# have any questions.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# @test
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# @bug 5008759 4998341 5018369 5032476 5060121 5096932 5096931
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# @run shell ../verifyVariables.sh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# @build Aggregate
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# @run shell print.sh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# @summary test availabilty of print option
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# @author Joseph D. Darcy
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinOS=`uname -s`;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chincase "${OS}" in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Windows* | CYGWIN* )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin SEP=";"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ;;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin SEP=":"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ;;
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chinesac
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Construct path to apt executable
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinAPT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin-print "
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinprintf "%s\n" "APT = ${APT}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinPRINT_FILES="${TESTSRC}/MisMatch.java \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin${TESTSRC}/GenClass.java \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin${TESTSRC}/Misc.java \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin${TESTSRC}/Lacuna.java"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinfor i in ${PRINT_FILES}
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chindo
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin # Delete any existing class file
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin FILENAME=`basename $i .java`
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin rm -f ${FILENAME}.class
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin printf "%s\n" "Printing ${i}"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ${APT} ${i}
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin RESULT=$?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin case "$RESULT" in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0 )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ;;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin echo "Problem printing file ${i}."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin exit 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin esac
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin # Verify compilation did not occur
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin if [ -f ${FILENAME}.class ]; then
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin printf "Improper compilation occured for %s.\n" ${i}
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin exit 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fi
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chindone
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# check for mutliple methods and no static initializer
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin${APT} -XclassesAsDecls -cp ${TESTCLASSES} -print Aggregate > aggregate.txt
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chindiff aggregate.txt ${TESTSRC}/goldenAggregate.txt
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinRESULT=$?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chincase "$RESULT" in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0 )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ;;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * )
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin echo "Expected output not received"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin exit 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinesac
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinexit 0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin