classpathtest.sh

来自「是一款用JAVA 编写的编译器 具有很强的编译功能」· Shell 代码 · 共 139 行

SH
139
字号
#!/bin/sh## Copyright 1999-2003 Sun Microsystems, Inc.  All Rights Reserved.# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.## This code is free software; you can redistribute it and/or modify it# under the terms of the GNU General Public License version 2 only, as# published by the Free Software Foundation.## This code is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License# version 2 for more details (a copy is included in the LICENSE file that# accompanied this code).## You should have received a copy of the GNU General Public License version# 2 along with this work; if not, write to the Free Software Foundation,# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.## Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,# CA 95054 USA or visit www.sun.com if you need additional information or# have any questions.## @test# @bug 4241229 4785453# @summary Test -classpath option and classpath defaults.# @author maddox## @run shell/timeout=180 ClassPathTest.sh# TODO: Should test sourcepath and classpath separately.if [ "${TESTSRC}" = "" ]then  echo "TESTSRC not set.  Test cannot execute.  Failed."  exit 1fiecho "TESTSRC=${TESTSRC}"if [ "${TESTJAVA}" = "" ]then  echo "TESTJAVA not set.  Test cannot execute.  Failed."  exit 1fiecho "TESTJAVA=${TESTJAVA}"if [ "${TESTCLASSES}" = "" ]then  echo "TESTCLASSES not set.  Test cannot execute.  Failed."  exit 1fiecho "TESTCLASSES=${TESTCLASSES}"echo "CLASSPATH=${CLASSPATH}"# set platform-dependent variablesOS=`uname -s`case "$OS" in  SunOS | Linux )    NULL=/dev/null    PS=":"    FS="/"    ;;  Windows* )    NULL=NUL    PS=";"    FS="\\"    ;;  * )    echo "Unrecognized system!"    exit 1;    ;;esacjavac="${TESTJAVA}${FS}bin${FS}javac"cleanup() {	rm -f *.class pkg${FS}*.class foo${FS}pkg${FS}*.class bar${FS}pkg${FS}*.class	cp -rf $TESTSRC${FS}* .}fail() {	echo "FAIL: $1"	failed="yes"}# report expectedResult $?report() {	if   test "$1" = "success" -a "$2" = 0; then		echo "PASS: succeeded as expected"	elif test "$1" = "failure" -a "$2" != 0; then		echo "PASS: failed as expected"	elif test "$1" = "success" -a "$2" != 0; then		fail "test failed unexpectedly"	elif test "$1" = "failure" -a "$2" = 0; then		fail "test succeeded unexpectedly"	else		fail "internal error"	fi}# testJavac expectedResult javacArgs...testJavac() {	expectedResult="$1"; shift	cleanup	echo $javac ${TESTTOOLVMOPTS} "$@"	$javac ${TESTTOOLVMOPTS} "$@"	report $expectedResult $?}unset CLASSPATH# classpath should default to current directorytestJavac success ClassPathTest3.javatestJavac failure ClassPathTest1.java# if CLASSPATH is set, it should be honoredCLASSPATH=bar; export CLASSPATHtestJavac success ClassPathTest2.javatestJavac failure ClassPathTest1.javatestJavac failure ClassPathTest3.java# -classpath option should override defaulttestJavac success -classpath foo ClassPathTest1.javatestJavac failure -classpath foo ClassPathTest2.javatestJavac failure -classpath foo ClassPathTest3.javaif test -n "$failed"; then	echo "Some tests failed"	exit 1else	echo PASS: all tests gave expected results	exit 0fi

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?