1 # 2 # Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # This code is free software; you can redistribute it and/or modify it 6 # under the terms of the GNU General Public License version 2 only, as 7 # published by the Free Software Foundation. 8 # 9 # This code is distributed in the hope that it will be useful, but WITHOUT 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 # version 2 for more details (a copy is included in the LICENSE file that 13 # accompanied this code). 14 # 15 # You should have received a copy of the GNU General Public License version 16 # 2 along with this work; if not, write to the Free Software Foundation, 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 # 19 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 20 # CA 95054 USA or visit www.sun.com if you need additional information or 21 # have any questions. 22 # 23 #!/bin/sh 24 # 25 # 26 # 27 # This script is the actual launcher of each locale service provider test. 28 # fooprovider.jar contains localized object providers and barprovider.jar 29 # contains localized name providers. This way, we can test providers that 30 # can relate to each other (such as, DateFormatSymbolsProvider and 31 # TimeZoneNameProvider) separately. 32 # 33 # Parameters: 34 # providersToTest: [foo|bar|foobar] 35 # java class name: <class name> 36 # providersInExtDir: [true|false] 37 38 if [ "${TESTSRC}" = "" ] 39 then 40 echo "TESTSRC not set. Test cannot execute. Failed." 41 exit 1 42 fi 43 echo "TESTSRC=${TESTSRC}" 44 if [ "${TESTJAVA}" = "" ] 45 then 46 echo "TESTJAVA not set. Test cannot execute. Failed." 47 exit 1 48 fi 49 echo "TESTJAVA=${TESTJAVA}" 50 if [ "${TESTCLASSES}" = "" ] 51 then 52 echo "TESTCLASSES not set. Test cannot execute. Failed." 53 exit 1 54 fi 55 echo "TESTCLASSES=${TESTCLASSES}" 56 echo "CLASSPATH=${CLASSPATH}" 57 58 # set platform-dependent variables 59 OS=`uname -s` 60 case "$OS" in 61 SunOS | Linux ) 62 PS=":" 63 FS="/" 64 ;; 65 Windows* | CYGWIN* ) 66 PS=";" 67 FS="\\" 68 ;; 69 * ) 70 echo "Unrecognized system!" 71 exit 1; 72 ;; 73 esac 74 75 # set classpath and extension directory variables 76 if [ -d ${TESTJAVA}${FS}lib${FS}ext ] 77 then 78 EXTDIRS="${TESTJAVA}${FS}lib${FS}ext${PS}${TESTCLASSES}" 79 else 80 EXTDIRS="${TESTJAVA}${FS}jre${FS}lib${FS}ext${PS}${TESTCLASSES}" 81 fi 82 83 case "$1" in 84 "foo" ) 85 cp ${TESTSRC}${FS}fooprovider.jar ${TESTCLASSES} 86 CLASSPATHARG=".${PS}${TESTSRC}${PS}${TESTSRC}${FS}fooprovider.jar" 87 ;; 88 "bar" ) 89 cp ${TESTSRC}${FS}barprovider.jar ${TESTCLASSES} 90 CLASSPATHARG=".${PS}${TESTSRC}${PS}${TESTSRC}${FS}barprovider.jar" 91 ;; 92 "foobar" ) 93 cp ${TESTSRC}${FS}fooprovider.jar ${TESTCLASSES} 94 cp ${TESTSRC}${FS}barprovider.jar ${TESTCLASSES} 95 CLASSPATHARG=".${PS}${TESTSRC}${PS}${TESTSRC}${FS}fooprovider.jar${PS}${TESTSRC}${PS}${TESTSRC}${FS}barprovider.jar" 96 ;; 97 esac 98 99 # compile 100 cp ${TESTSRC}${FS}ProviderTest.java . 101 cp ${TESTSRC}${FS}$2.java . 102 COMPILE="${TESTJAVA}${FS}bin${FS}javac -XDignore.symbol.file -d . -classpath ${CLASSPATHARG} $2.java" 103 echo ${COMPILE} 104 ${COMPILE} 105 result=$? 106 107 if [ $result -eq 0 ] 108 then 109 echo "Compilation of the test case was successful." 110 else 111 echo "Compilation of the test case failed." 112 # Cleanup 113 rm -f ${TESTCLASSES}${FS}$2*.class 114 rm -f ${TESTCLASSES}${FS}fooprovider.jar 115 rm -f ${TESTCLASSES}${FS}barprovider.jar 116 exit $result 117 fi 118 119 # run 120 if [ "$3" = "true" ] 121 then 122 RUNCMD="${TESTJAVA}${FS}bin${FS}java -Djava.ext.dirs=${EXTDIRS} $2 " 123 else 124 RUNCMD="${TESTJAVA}${FS}bin${FS}java -classpath ${CLASSPATHARG} $2 " 125 fi 126 127 echo ${RUNCMD} 128 ${RUNCMD} 129 result=$? 130 131 if [ $result -eq 0 ] 132 then 133 echo "Execution successful" 134 else 135 echo "Execution of the test case failed." 136 fi 137 138 # Cleanup 139 rm -f ${TESTCLASSES}${FS}$2*.class 140 rm -f ${TESTCLASSES}${FS}fooprovider.jar 141 rm -f ${TESTCLASSES}${FS}barprovider.jar 142 143 exit $result