Tue, 02 Feb 2010 10:56:10 -0800
6918625: handle annotations on array class literals
Reviewed-by: jjg, darcy
Contributed-by: mali@csail.mit.edu, mernst@cs.washington.edu
duke@1 | 1 | #!/bin/sh |
duke@1 | 2 | |
duke@1 | 3 | # |
duke@1 | 4 | # Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. |
duke@1 | 5 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@1 | 6 | # |
duke@1 | 7 | # This code is free software; you can redistribute it and/or modify it |
duke@1 | 8 | # under the terms of the GNU General Public License version 2 only, as |
duke@1 | 9 | # published by the Free Software Foundation. |
duke@1 | 10 | # |
duke@1 | 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
duke@1 | 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@1 | 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@1 | 14 | # version 2 for more details (a copy is included in the LICENSE file that |
duke@1 | 15 | # accompanied this code). |
duke@1 | 16 | # |
duke@1 | 17 | # You should have received a copy of the GNU General Public License version |
duke@1 | 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
duke@1 | 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@1 | 20 | # |
duke@1 | 21 | # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
duke@1 | 22 | # CA 95054 USA or visit www.sun.com if you need additional information or |
duke@1 | 23 | # have any questions. |
duke@1 | 24 | # |
duke@1 | 25 | |
duke@1 | 26 | # |
duke@1 | 27 | # @test |
duke@1 | 28 | # @summary Test classpath wildcards for javac and java -classpath option. |
duke@1 | 29 | # @bug 6268383 |
duke@1 | 30 | # @run shell/timeout=600 wcMineField.sh |
duke@1 | 31 | |
duke@1 | 32 | # To run this test manually, simply do ./wcMineField.sh |
duke@1 | 33 | #---------------------------------------------------------------- |
duke@1 | 34 | |
duke@1 | 35 | . ${TESTSRC-.}/Util.sh |
duke@1 | 36 | |
duke@1 | 37 | set -u |
duke@1 | 38 | |
duke@1 | 39 | #---------------------------------------------------------------- |
duke@1 | 40 | # Note that, on Windows only, the launcher also includes another |
duke@1 | 41 | # kind of command-line wildcard expansion, via setargv.obj |
duke@1 | 42 | # http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccelng/htm/progs_11.asp |
duke@1 | 43 | # Therefore, on Windows, -classpath "foo/*" is treated differently |
duke@1 | 44 | # from -classpath ".${PS}foo/*" |
duke@1 | 45 | #---------------------------------------------------------------- |
duke@1 | 46 | |
duke@1 | 47 | #---------------------------------------------------------------- |
duke@1 | 48 | # Prepare the "Minefield" |
duke@1 | 49 | #---------------------------------------------------------------- |
duke@1 | 50 | Cleanup() { |
duke@1 | 51 | Sys rm -rf GooSrc GooJar GooZip GooClass |
duke@1 | 52 | Sys rm -rf SpeSrc SpeJar SpeZip SpeClass |
duke@1 | 53 | Sys rm -rf BadSrc BadJar BadZip BadClass |
duke@1 | 54 | Sys rm -rf JarNClass StarJar MixJar StarDir |
duke@1 | 55 | Sys rm -rf OneDir *.class Main*.java MANIFEST.MF |
duke@1 | 56 | } |
duke@1 | 57 | |
duke@1 | 58 | Cleanup |
duke@1 | 59 | Sys mkdir GooSrc GooJar GooZip GooClass GooJar/SubDir |
duke@1 | 60 | Sys mkdir BadSrc BadJar BadZip BadClass |
duke@1 | 61 | Sys mkdir SpeSrc SpeJar SpeZip SpeClass |
duke@1 | 62 | Sys mkdir JarNClass StarJar MixJar |
duke@1 | 63 | echo 'public class Lib {public static void f(){}}' > Lib.java |
duke@1 | 64 | echo 'public class Lib2 {public static void g(){}}' > Lib2.java |
duke@1 | 65 | echo 'public class Lib3 {public static void h(){}}' > Lib3.java |
duke@1 | 66 | Sys "$javac" ${TESTTOOLVMOPTS} Lib.java Lib2.java Lib3.java |
duke@1 | 67 | Sys cp Lib.class JarNClass/. |
duke@1 | 68 | Sys "$jar" cf GooJar/Lib.jar Lib.class |
duke@1 | 69 | Sys "$jar" cf GooJar/SubDir/Lib2.jar Lib2.class |
duke@1 | 70 | Sys "$jar" cf JarNClass/Lib.jar Lib.class |
duke@1 | 71 | |
duke@1 | 72 | Sys "$jar" cf GooZip/Lib.zip Lib.class |
duke@1 | 73 | Sys mv Lib.class GooClass/. |
duke@1 | 74 | Sys mv Lib2.class GooClass/. |
duke@1 | 75 | Sys mv Lib3.class GooClass/. |
duke@1 | 76 | Sys mv Lib.java GooSrc/. |
duke@1 | 77 | Sys mv Lib2.java GooSrc/. |
duke@1 | 78 | Sys mv Lib3.java GooSrc |
duke@1 | 79 | CheckFiles GooZip/Lib.zip GooJar/Lib.jar GooSrc/Lib.java |
duke@1 | 80 | CheckFiles GooSrc/Lib2.java GooSrc/Lib3.java GooJar/SubDir/Lib2.jar |
duke@1 | 81 | |
duke@1 | 82 | echo 'public class Spe1 {public static void f(){}}' > Spe1.java |
duke@1 | 83 | echo 'public class Spe2 {public static void f(){}}' > Spe2.java |
duke@1 | 84 | echo 'public class Spe3 {public static void f(){}}' > Spe3.java |
duke@1 | 85 | echo 'public class Spe4 {public static void f(){}}' > Spe4.java |
duke@1 | 86 | Sys "$javac" ${TESTTOOLVMOPTS} Spe1.java |
duke@1 | 87 | Sys "$javac" ${TESTTOOLVMOPTS} Spe2.java |
duke@1 | 88 | Sys "$javac" ${TESTTOOLVMOPTS} Spe3.java |
duke@1 | 89 | Sys "$javac" ${TESTTOOLVMOPTS} Spe4.java |
duke@1 | 90 | |
duke@1 | 91 | UnixOnly Sys "$jar" cf "SpeJar/Spe:Colon.jar" Spe1.class |
duke@1 | 92 | UnixOnly Sys "$jar" cf "SpeJar/Spe*wc.jar" Spe4.class |
duke@1 | 93 | UnixOnly CheckFiles "SpeJar/Spe*wc.jar" |
duke@1 | 94 | |
duke@1 | 95 | UnixOnly Sys "$jar" cf "StarJar/*jar.jar" Spe2.class |
duke@1 | 96 | UnixOnly Sys "$jar" cf "StarJar/jar*.jar" Spe3.class |
duke@1 | 97 | UnixOnly Sys "$jar" cf "StarJar/*jar*.jar" Spe4.class |
duke@1 | 98 | UnixOnly CheckFiles "StarJar/*jar.jar" "StarJar/jar*.jar" "StarJar/*jar*.jar" |
duke@1 | 99 | |
duke@1 | 100 | Sys "$jar" cf "SpeJar/Spe,Comma.jar" Spe2.class |
duke@1 | 101 | Sys "$jar" cf "SpeJar/Spe;Semi.jar" Spe3.class |
duke@1 | 102 | |
duke@1 | 103 | Sys "$jar" cf "MixJar/mix.jAr" Spe1.class |
duke@1 | 104 | Sys "$jar" cf "MixJar/mix2.JAR" Spe2.class |
duke@1 | 105 | Sys "$jar" cf "MixJar/mix3.zip" Spe3.class |
duke@1 | 106 | Sys "$jar" cf "MixJar/.hiddenjar.jar" Spe4.class |
duke@1 | 107 | |
duke@1 | 108 | Sys mv Spe*.class SpeClass/. |
duke@1 | 109 | Sys mv Spe*.java SpeSrc/. |
duke@1 | 110 | CheckFiles "SpeJar/Spe,Comma.jar" "SpeJar/Spe;Semi.jar" "SpeSrc/Spe2.java" "SpeSrc/Spe3.java" "SpeSrc/Spe4.java" |
duke@1 | 111 | CheckFiles "MixJar/mix.jAr" "MixJar/mix2.JAR" "MixJar/mix3.zip" "MixJar/.hiddenjar.jar" |
duke@1 | 112 | |
duke@1 | 113 | echo 'public class Main {public static void main(String[] a) {Lib.f();}}' > Main.java |
duke@1 | 114 | echo 'public class Main1 {public static void main(String[] a) {Lib2.g();}}' > Main1.java |
duke@1 | 115 | echo 'public class Main1b {public static void main(String[] a) {Spe1.f();}}' > Main1b.java |
duke@1 | 116 | echo 'public class Main2 {public static void main(String[] a) {Spe2.f();}}' > Main2.java |
duke@1 | 117 | echo 'public class Main3 {public static void main(String[] a) {Spe3.f();}}' > Main3.java |
duke@1 | 118 | echo 'public class Main4 {public static void main(String[] a) {Spe4.f();}}' > Main4.java |
duke@1 | 119 | echo 'public class Main5 {public static void main(String[] a) {Spe2.f(); Lib.f();}}' > Main5.java |
duke@1 | 120 | echo 'public class Main6 {public static void main(String[] a) {Lib3.h();}}' > Main6.java |
duke@1 | 121 | |
duke@1 | 122 | |
duke@1 | 123 | #---------------------------------------------------------------- |
duke@1 | 124 | # Verify expected behaviour with directory named "*" |
duke@1 | 125 | #---------------------------------------------------------------- |
duke@1 | 126 | starDir() { |
duke@1 | 127 | printf "Running tests with directory named \"*\"\n" |
duke@1 | 128 | Sys rm -rf ./StarDir |
duke@1 | 129 | Sys mkdir -p StarDir/"*" |
duke@1 | 130 | Sys cp -p "GooClass/Lib3.class" "GooClass/Lib.class" ./ |
duke@1 | 131 | Sys cp "GooClass/Lib2.class" "StarDir/*/Lib2.class" |
duke@1 | 132 | Sys "$jar" cf "StarDir/Lib3.jar" "Lib3.class" |
duke@1 | 133 | Sys "$jar" cf "StarDir/*/Lib.jar" "Lib.class" |
duke@1 | 134 | Sys rm -f "./Lib.class" "./Lib3.class" |
duke@1 | 135 | CheckFiles "StarDir/*/Lib.jar" "StarDir/*/Lib2.class" "StarDir/Lib3.jar" |
duke@1 | 136 | Sys cp Main6.java ./StarDir/. |
duke@1 | 137 | Sys cp Main.java ./StarDir/"*"/. |
duke@1 | 138 | Sys cp Main1.java ./StarDir/"*"/. |
duke@1 | 139 | CPWC_DIR=`pwd` |
duke@1 | 140 | Sys cd StarDir |
duke@1 | 141 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "*" Main6.java |
duke@1 | 142 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "./*" Main6.java |
duke@1 | 143 | Sys rm -f Main6.* |
duke@1 | 144 | Sys cd "*" |
duke@1 | 145 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "*" Main.java |
duke@1 | 146 | Success "$java" ${TESTVMOPTS} -classpath .${PS}"*" Main |
duke@1 | 147 | Success "$javac" ${TESTTOOLVMOPTS} Main1.java |
duke@1 | 148 | Success "$java" ${TESTVMOPTS} -classpath "." Main1 |
duke@1 | 149 | Sys cd $CPWC_DIR |
duke@1 | 150 | |
duke@1 | 151 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "StarDir/*" Main6.java |
duke@1 | 152 | |
duke@1 | 153 | Success "$javac" ${TESTTOOLVMOPTS} -classpath StarDir/\* Main1.java |
duke@1 | 154 | Success "$java" ${TESTVMOPTS} -classpath StarDir/\*:. Main1 |
duke@1 | 155 | |
duke@1 | 156 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarDir/*" Main1.java |
duke@1 | 157 | Success "$java" ${TESTVMOPTS} -classpath ".${PS}StarDir/*" Main1 |
duke@1 | 158 | |
duke@1 | 159 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath StarDir/"\*/*" Main.java |
duke@1 | 160 | Success "$javac" ${TESTTOOLVMOPTS} -classpath StarDir/"*/*" Main.java |
duke@1 | 161 | |
duke@1 | 162 | Success "$java" ${TESTVMOPTS} -classpath .${PS}StarDir/"*/*" Main |
duke@1 | 163 | Failure "$java" ${TESTVMOPTS} -classpath .${PS}StarDir/"\*/*" Main |
duke@1 | 164 | |
duke@1 | 165 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarDir/Lib3.jar" Main6.java |
duke@1 | 166 | Success "$java" ${TESTVMOPTS} -classpath ".${PS}StarDir/Lib3.jar" Main6 |
duke@1 | 167 | |
duke@1 | 168 | Success "$javac" ${TESTTOOLVMOPTS} -classpath StarDir/"*"/Lib.jar Main.java |
duke@1 | 169 | Success "$java" ${TESTVMOPTS} -classpath .${PS}StarDir/"*"/Lib.jar Main |
duke@1 | 170 | } |
duke@1 | 171 | UnixOnly starDir |
duke@1 | 172 | |
duke@1 | 173 | #---------------------------------------------------------------- |
duke@1 | 174 | # Verify the basic jar file works |
duke@1 | 175 | #---------------------------------------------------------------- |
duke@1 | 176 | #baseline test to verify it works. |
duke@1 | 177 | Success "$javac" ${TESTTOOLVMOPTS} -cp "GooJar/Lib.jar" Main.java |
duke@1 | 178 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/Lib.jar" Main.java |
duke@1 | 179 | Success "$java" ${TESTVMOPTS} -classpath "GooJar/Lib.jar${PS}." Main |
duke@1 | 180 | Success "$java" ${TESTVMOPTS} -cp "GooJar/Lib.jar${PS}." Main |
duke@1 | 181 | |
duke@1 | 182 | #basic test of one jar to be loaded |
duke@1 | 183 | UnixOnly Success "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/*" Main.java |
duke@1 | 184 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/*${PS}." Main.java |
duke@1 | 185 | Success "$java" ${TESTVMOPTS} -classpath "GooJar/*${PS}." Main |
duke@1 | 186 | #in a subdir. First * should not load jars in subdirectories unless specified |
duke@1 | 187 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/*" Main1.java |
duke@1 | 188 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/*${PS}." Main1.java |
duke@1 | 189 | Success "$javac" ${TESTTOOLVMOPTS} -cp "GooJar/SubDir/*" Main1.java |
duke@1 | 190 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/SubDir/*" Main1.java |
duke@1 | 191 | #Same with launcher. Should not load jar in subdirectories unless specified |
duke@1 | 192 | Failure "$java" ${TESTVMOPTS} -classpath "GooJar/*${PS}." Main1 |
duke@1 | 193 | Success "$java" ${TESTVMOPTS} -classpath "GooJar/SubDir/*${PS}." Main1 |
duke@1 | 194 | Success "$java" ${TESTVMOPTS} -cp "GooJar/SubDir/*${PS}." Main1 |
duke@1 | 195 | |
duke@1 | 196 | Success env CLASSPATH="GooJar/SubDir/*" "$javac" ${TESTTOOLVMOPTS} Main1.java |
duke@1 | 197 | Success env CLASSPATH="GooJar/SubDir/*${PS}." "$java" ${TESTVMOPTS} Main1 |
duke@1 | 198 | #---------------------------------------------------------------- |
duke@1 | 199 | # Verify the jar files in 2 directories |
duke@1 | 200 | #---------------------------------------------------------------- |
duke@1 | 201 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/Lib.jar${PS}SpeJar/Spe,Comma.jar" Main5.java |
duke@1 | 202 | Success "$java" ${TESTVMOPTS} -classpath "GooJar/Lib.jar${PS}SpeJar/Spe,Comma.jar${PS}." Main5 |
duke@1 | 203 | |
duke@1 | 204 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "GooJar/*${PS}SpeJar/*" Main5.java |
duke@1 | 205 | Success "$java" ${TESTVMOPTS} -classpath "GooJar/*${PS}SpeJar/*${PS}." Main5 |
duke@1 | 206 | |
duke@1 | 207 | #---------------------------------------------------------------- |
duke@1 | 208 | # Verify jar file and class file in same directory. |
duke@1 | 209 | #---------------------------------------------------------------- |
duke@1 | 210 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "JarNClass/*${PS}" Main.java |
duke@1 | 211 | Success "$java" ${TESTVMOPTS} -classpath "JarNClass/*${PS}." Main |
duke@1 | 212 | |
duke@1 | 213 | #---------------------------------------------------------------- |
duke@1 | 214 | # Verify these odd jar files work explicitly on classpath, kind of |
duke@1 | 215 | # a baseline. Last one is also a test with * in a jar name. |
duke@1 | 216 | #---------------------------------------------------------------- |
duke@1 | 217 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/Spe:Colon.jar" Main1.java |
duke@1 | 218 | |
duke@1 | 219 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/Spe,Comma.jar" Main2.java |
duke@1 | 220 | Success "$java" ${TESTVMOPTS} -classpath "SpeJar/Spe,Comma.jar${PS}." Main2 |
duke@1 | 221 | |
duke@1 | 222 | UnixOnly Success "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/Spe;Semi.jar" Main3.java |
duke@1 | 223 | UnixOnly Success "$java" ${TESTVMOPTS} -classpath "SpeJar/Spe;Semi.jar${PS}." Main3 |
duke@1 | 224 | |
duke@1 | 225 | UnixOnly Success "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/Spe*wc.jar" Main4.java |
duke@1 | 226 | UnixOnly Success "$java" ${TESTVMOPTS} -classpath "SpeJar/Spe*wc.jar${PS}." Main4 |
duke@1 | 227 | #---------------------------------------------------------------- |
duke@1 | 228 | # Verify these odd jar files work with classpath wildcard. |
duke@1 | 229 | #---------------------------------------------------------------- |
duke@1 | 230 | |
duke@1 | 231 | speJar() { |
duke@1 | 232 | printf "Running tests with jar file names containing special characters\n" |
duke@1 | 233 | # Failure "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/*" Main1.java |
duke@1 | 234 | # Success "$java" ${TESTVMOPTS} -classpath "SpeJar/*" Main1 |
duke@1 | 235 | |
duke@1 | 236 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/*" Main2.java |
duke@1 | 237 | Success "$java" ${TESTVMOPTS} -classpath "SpeJar/*${PS}." Main2 |
duke@1 | 238 | |
duke@1 | 239 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/*" Main3.java |
duke@1 | 240 | Success "$java" ${TESTVMOPTS} -classpath "SpeJar/*${PS}." Main3 |
duke@1 | 241 | |
duke@1 | 242 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "SpeJar/*" Main4.java |
duke@1 | 243 | Success "$java" ${TESTVMOPTS} -classpath "SpeJar/*${PS}." Main4 |
duke@1 | 244 | } |
duke@1 | 245 | UnixOnly speJar |
duke@1 | 246 | |
duke@1 | 247 | #---------------------------------------------------------------- |
duke@1 | 248 | # Verify these jar files with asterisk in jar file name |
duke@1 | 249 | #---------------------------------------------------------------- |
duke@1 | 250 | starJar() { |
duke@1 | 251 | printf "Running tests with jar file names containing \"*\"\n" |
duke@1 | 252 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarJar/*jar.jar" Main2.java |
duke@1 | 253 | Success "$java" ${TESTVMOPTS} -classpath "StarJar/*jar.jar${PS}." Main2 |
duke@1 | 254 | |
duke@1 | 255 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarJar/jar*.jar" Main3.java |
duke@1 | 256 | Success "$java" ${TESTVMOPTS} -classpath "StarJar/jar*.jar${PS}." Main3 |
duke@1 | 257 | |
duke@1 | 258 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarJar/*jar*.jar" Main4.java |
duke@1 | 259 | Success "$java" ${TESTVMOPTS} -classpath "StarJar/*jar*.jar${PS}." Main4 |
duke@1 | 260 | |
duke@1 | 261 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarJar/*" Main2.java |
duke@1 | 262 | Success "$java" ${TESTVMOPTS} -classpath "StarJar/*${PS}." Main2 |
duke@1 | 263 | |
duke@1 | 264 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarJar/*" Main3.java |
duke@1 | 265 | Success "$java" ${TESTVMOPTS} -classpath "StarJar/*${PS}." Main3 |
duke@1 | 266 | |
duke@1 | 267 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "StarJar/*" Main4.java |
duke@1 | 268 | Success "$java" ${TESTVMOPTS} -classpath "StarJar/*${PS}." Main4 |
duke@1 | 269 | } |
duke@1 | 270 | UnixOnly starJar |
duke@1 | 271 | |
duke@1 | 272 | #---------------------------------------------------------------- |
duke@1 | 273 | # Verify these jar files with varying extensions |
duke@1 | 274 | #---------------------------------------------------------------- |
duke@1 | 275 | # Mixed case extensions should not be loaded. |
duke@1 | 276 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "MixJar/*" Main1b.java |
duke@1 | 277 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "MixJar/mix.jAr" Main1b.java |
duke@1 | 278 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "MixJar/*" Main1b |
duke@1 | 279 | |
duke@1 | 280 | #upper case, .JAR, extension should be loaded |
duke@1 | 281 | UnixOnly Success "$javac" ${TESTTOOLVMOPTS} -classpath "MixJar/*" Main2.java |
duke@1 | 282 | Success "$javac" ${TESTTOOLVMOPTS} -classpath ".${PS}MixJar/*" Main2.java |
duke@1 | 283 | |
duke@1 | 284 | Success "$java" ${TESTVMOPTS} -classpath "MixJar/*${PS}." Main2 |
duke@1 | 285 | # zip extensions should not be loaded |
duke@1 | 286 | Failure "$javac" ${TESTTOOLVMOPTS} -classpath "MixJar/*" Main3.java |
duke@1 | 287 | Success "$javac" ${TESTTOOLVMOPTS} -classpath "MixJar/mix3.zip" Main3.java |
duke@1 | 288 | Failure "$java" ${TESTVMOPTS} -classpath "MixJar/*${PS}." Main3 |
duke@1 | 289 | # unix "hidden" file |
duke@1 | 290 | UnixOnly Success "$javac" ${TESTTOOLVMOPTS} -classpath "MixJar/*" Main4.java |
duke@1 | 291 | UnixOnly Success "$java" ${TESTVMOPTS} -classpath "MixJar/*${PS}." Main4 |
duke@1 | 292 | |
duke@1 | 293 | Cleanup |
duke@1 | 294 | |
duke@1 | 295 | Bottom Line |
duke@1 | 296 | #---------------------------------------------------------------- |