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 + -
显示快捷键?