diff --git a/build.xml b/build.xml index e00eea236..cf843f55d 100644 --- a/build.xml +++ b/build.xml @@ -26,7 +26,7 @@ PROPERTIES - + diff --git a/test/clitest b/test/clitest index 5da82f746..74147b2fc 100755 --- a/test/clitest +++ b/test/clitest @@ -131,7 +131,8 @@ test_compile() { info="$1"; shift 1; [ -d "$OUTPUT_DIR" ] || mkdir -p $OUTPUT_DIR; [ -f "$LOG_FILE" ] && rm $LOG_FILE; - if [ "$COMPILER" = "javac" ]; then + if [ "$COMPILER" = "javac" ] || [ "$COMPILER" = "jikes" ]; then + suffix=".${COMPILER}"; [ "$LANG" = "java5" ] && suffix=".${COMPILER}5"; [ "$LANG" = "java6" ] && suffix=".${COMPILER}6"; else @@ -329,9 +330,10 @@ if [ "$LANG" = "scala" ]; then INTERPRETER_COMMAND="${BIN_DIR}scalaint" SUFFIX=".scala" elif [ "$LANG" = "java" ]; then - RUNTIME_COMMAND=`which java` - COMPILER_COMMAND=`which $COMPILER` - BIN_DIR=`dirname $COMPILER_COMMAND` + RUNTIME_COMMAND=`which ${JAVACMD:=java}` + BIN_DIR=`dirname $RUNTIME_COMMAND`; + [ "$COMPILER" = "javac" ] && COMPILER_COMMAND=$BIN_DIR/$COMPILER; + [ "$COMPILER" = "jikes" ] && COMPILER_COMMAND=`which $COMPILER`; SUFFIX=".java" else abort "unknown language '$LANG'" @@ -347,8 +349,9 @@ printf_outline "Runtime command is : $RUNTIME_COMMAND\\n"; jvm_version=`${JAVACMD:=java} -version 2>&1 | head -3 | tail -1` printf_outline "Java runtime is : $jvm_version\\n"; -if [ "$LANG" = "java" ]; then - [ `echo "$jvm_version" | grep -c "J9"` = "1" ] && LANG="j9vm"; +if [ "$LANG" = "scala" ]; then + [ `echo "$jvm_version" | grep -c "J9"` = "1" ] && LANG="${LANG}_j9"; +elif [ "$LANG" = "java" ]; then if [ "$COMPILER" = "jikes" ]; then if [ "$LANG" = "java" ]; then jre_home=`dirname $RUNTIME_COMMAND`/..; @@ -362,6 +365,7 @@ if [ "$LANG" = "java" ]; then fi; [ `echo "$jvm_version" | grep -c "1\.5"` = "1" ] && LANG="${LANG}5"; [ `echo "$jvm_version" | grep -c "1\.6"` = "1" ] && LANG="${LANG}6"; + [ `echo "$jvm_version" | grep -c "J9"` = "1" ] && LANG="${LANG}_j9"; fi if [ "$DEBUG" = "debug" ] ; then diff --git a/test/files/cli/test1/Main.check.java b/test/files/cli/test1/Main.check.java new file mode 100644 index 000000000..64410de98 --- /dev/null +++ b/test/files/cli/test1/Main.check.java @@ -0,0 +1,6 @@ +Unrecognized option: -cpp +Could not create the Java virtual machine. +1: test 1 passed (1) +1: test 2 passed (1) +1: test 3 passed (1) +1: test 4 passed (2) diff --git a/test/files/cli/test1/Main.check.java5_j9 b/test/files/cli/test1/Main.check.java5_j9 new file mode 100644 index 000000000..de454ef47 --- /dev/null +++ b/test/files/cli/test1/Main.check.java5_j9 @@ -0,0 +1,4 @@ +env: -cpp: No such file or directory +env: test1.Main: No such file or directory +env: -cp: No such file or directory +1: test 3 passed diff --git a/test/files/cli/test1/Main.check.jikes5 b/test/files/cli/test1/Main.check.jikes5 new file mode 100644 index 000000000..cd891689d --- /dev/null +++ b/test/files/cli/test1/Main.check.jikes5 @@ -0,0 +1,3 @@ +Error: "-dd" is an invalid option. +use: jikes [options] [@files] file.java... +For more help, try -help or -version. diff --git a/test/files/cli/test1/Main.check.scala_j9 b/test/files/cli/test1/Main.check.scala_j9 new file mode 100644 index 000000000..408327e1e --- /dev/null +++ b/test/files/cli/test1/Main.check.scala_j9 @@ -0,0 +1,36 @@ +JVMJ9VM007E Command-line option unrecognised: -cpp +Could not create the Java virtual machine. + +Usage: java [-options] class [args...] + (to execute a class) + or java [-jar] [-options] jarfile [args...] + (to execute a jar file) + +where options include: + -cp -classpath + set search path for application classes and resources + -D= + set a system property + -verbose[:class|gc|jni] + enable verbose output + -version print product version + -version: + require the specified version to run + -showversion print product version and continue + -jre-restrict-search | -no-jre-restrict-search + include/exclude user private JREs in the version search + -agentlib:[=] + load native agent library , e.g. -agentlib:hprof + see also, -agentlib:jdwp=help and -agentlib:hprof=help + -agentpath:[=] + load native agent library by full pathname + -javaagent:[=] + load Java programming language agent, see java.lang.instrument + -? -help print this help message + -X print help on non-standard options + -assert print help on assert options + +1: test 1 passed (1) +1: test 2 passed (1) +1: test 3 passed (1) +1: test 4 passed (4) diff --git a/test/files/cli/test2/Main.check.java b/test/files/cli/test2/Main.check.java new file mode 100644 index 000000000..aca383de3 --- /dev/null +++ b/test/files/cli/test2/Main.check.java @@ -0,0 +1,6 @@ +Unrecognized option: -cpp +Could not create the Java virtual machine. +2: 1: test 1 passed (1) +2: 1: test 2 passed (1) +2: 1: test 3 passed (1) +2: 1: test 4 passed (2) diff --git a/test/files/cli/test2/Main.check.java5_j9 b/test/files/cli/test2/Main.check.java5_j9 new file mode 100644 index 000000000..2dcb6e892 --- /dev/null +++ b/test/files/cli/test2/Main.check.java5_j9 @@ -0,0 +1,36 @@ +JVMJ9VM007E Command-line option unrecognised: -cpp +Could not create the Java virtual machine. + +Usage: java [-options] class [args...] + (to execute a class) + or java [-jar] [-options] jarfile [args...] + (to execute a jar file) + +where options include: + -cp -classpath + set search path for application classes and resources + -D= + set a system property + -verbose[:class|gc|jni] + enable verbose output + -version print product version + -version: + require the specified version to run + -showversion print product version and continue + -jre-restrict-search | -no-jre-restrict-search + include/exclude user private JREs in the version search + -agentlib:[=] + load native agent library , e.g. -agentlib:hprof + see also, -agentlib:jdwp=help and -agentlib:hprof=help + -agentpath:[=] + load native agent library by full pathname + -javaagent:[=] + load Java programming language agent, see java.lang.instrument + -? -help print this help message + -X print help on non-standard options + -assert print help on assert options + +The java class is not found: test2.Main +The java class is not found: test2.Main +The java class is not found: test2.Main +The java class is not found: test2.Main diff --git a/test/files/cli/test2/Main.check.javac b/test/files/cli/test2/Main.check.javac index c25714eab..c40c0a7a8 100644 --- a/test/files/cli/test2/Main.check.javac +++ b/test/files/cli/test2/Main.check.javac @@ -17,11 +17,11 @@ where possible options include: -target Generate class files for specific VM version -help Print a synopsis of standard options -files/cli/test2/Main.java:5: package test1 does not exist +files/cli/test2/Main.java:6: package test1 does not exist test1.Main.main(args); ^ 1 error -files/cli/test2/Main.java:5: package test1 does not exist +files/cli/test2/Main.java:6: package test1 does not exist test1.Main.main(args); ^ 1 error diff --git a/test/files/cli/test2/Main.check.jikes5 b/test/files/cli/test2/Main.check.jikes5 new file mode 100644 index 000000000..97943e834 --- /dev/null +++ b/test/files/cli/test2/Main.check.jikes5 @@ -0,0 +1,9 @@ +Error: "-dd" is an invalid option. +use: jikes [options] [@files] file.java... +For more help, try -help or -version. + +Found 1 semantic error compiling "files/cli/test2/Main.java": + + 6. test1.Main.main(args); + ^---^ +*** Semantic Error: No accessible field named "test1" was found in type "test2.Main". diff --git a/test/files/cli/test2/Main.check.scala_j9 b/test/files/cli/test2/Main.check.scala_j9 new file mode 100644 index 000000000..8e0571983 --- /dev/null +++ b/test/files/cli/test2/Main.check.scala_j9 @@ -0,0 +1,36 @@ +JVMJ9VM007E Command-line option unrecognised: -cpp +Could not create the Java virtual machine. + +Usage: java [-options] class [args...] + (to execute a class) + or java [-jar] [-options] jarfile [args...] + (to execute a jar file) + +where options include: + -cp -classpath + set search path for application classes and resources + -D= + set a system property + -verbose[:class|gc|jni] + enable verbose output + -version print product version + -version: + require the specified version to run + -showversion print product version and continue + -jre-restrict-search | -no-jre-restrict-search + include/exclude user private JREs in the version search + -agentlib:[=] + load native agent library , e.g. -agentlib:hprof + see also, -agentlib:jdwp=help and -agentlib:hprof=help + -agentpath:[=] + load native agent library by full pathname + -javaagent:[=] + load Java programming language agent, see java.lang.instrument + -? -help print this help message + -X print help on non-standard options + -assert print help on assert options + +2: 1: test 1 passed (1) +2: 1: test 2 passed (1) +2: 1: test 3 passed (1) +2: 1: test 4 passed (4) diff --git a/test/files/cli/test3/Main.check.java b/test/files/cli/test3/Main.check.java new file mode 100644 index 000000000..de3eb7b13 --- /dev/null +++ b/test/files/cli/test3/Main.check.java @@ -0,0 +1,10 @@ +Unrecognized option: -cpp +Could not create the Java virtual machine. +3: 1: test 1 passed (1) +3: 2: 1: test 1 passed (1) +3: 1: test 2 passed (1) +3: 2: 1: test 2 passed (1) +3: 1: test 3 passed (1) +3: 2: 1: test 3 passed (1) +3: 1: test 4 passed (2) +3: 2: 1: test 4 passed (2) diff --git a/test/files/cli/test3/Main.check.java5_j9 b/test/files/cli/test3/Main.check.java5_j9 new file mode 100644 index 000000000..9e228d764 --- /dev/null +++ b/test/files/cli/test3/Main.check.java5_j9 @@ -0,0 +1,36 @@ +JVMJ9VM007E Command-line option unrecognised: -cpp +Could not create the Java virtual machine. + +Usage: java [-options] class [args...] + (to execute a class) + or java [-jar] [-options] jarfile [args...] + (to execute a jar file) + +where options include: + -cp -classpath + set search path for application classes and resources + -D= + set a system property + -verbose[:class|gc|jni] + enable verbose output + -version print product version + -version: + require the specified version to run + -showversion print product version and continue + -jre-restrict-search | -no-jre-restrict-search + include/exclude user private JREs in the version search + -agentlib:[=] + load native agent library , e.g. -agentlib:hprof + see also, -agentlib:jdwp=help and -agentlib:hprof=help + -agentpath:[=] + load native agent library by full pathname + -javaagent:[=] + load Java programming language agent, see java.lang.instrument + -? -help print this help message + -X print help on non-standard options + -assert print help on assert options + +The java class is not found: test3.Main +The java class is not found: test3.Main +The java class is not found: test3.Main +The java class is not found: test3.Main diff --git a/test/files/cli/test3/Main.check.javac b/test/files/cli/test3/Main.check.javac index 0a2e2de02..8d235b647 100644 --- a/test/files/cli/test3/Main.check.javac +++ b/test/files/cli/test3/Main.check.javac @@ -17,17 +17,17 @@ where possible options include: -target Generate class files for specific VM version -help Print a synopsis of standard options -files/cli/test3/Main.java:5: package test1 does not exist +files/cli/test3/Main.java:6: package test1 does not exist test1.Main.main(args); ^ -files/cli/test3/Main.java:7: package test2 does not exist +files/cli/test3/Main.java:8: package test2 does not exist test2.Main.main(args); ^ 2 errors -files/cli/test3/Main.java:5: package test1 does not exist +files/cli/test3/Main.java:6: package test1 does not exist test1.Main.main(args); ^ -files/cli/test3/Main.java:7: package test2 does not exist +files/cli/test3/Main.java:8: package test2 does not exist test2.Main.main(args); ^ 2 errors diff --git a/test/files/cli/test3/Main.check.jikes5 b/test/files/cli/test3/Main.check.jikes5 new file mode 100644 index 000000000..604333e81 --- /dev/null +++ b/test/files/cli/test3/Main.check.jikes5 @@ -0,0 +1,14 @@ +Error: "-dd" is an invalid option. +use: jikes [options] [@files] file.java... +For more help, try -help or -version. + +Found 2 semantic errors compiling "files/cli/test3/Main.java": + + 6. test1.Main.main(args); + ^---^ +*** Semantic Error: No accessible field named "test1" was found in type "test3.Main". + + + 8. test2.Main.main(args); + ^---^ +*** Semantic Error: No accessible field named "test2" was found in type "test3.Main". diff --git a/test/files/cli/test3/Main.check.scala_j9 b/test/files/cli/test3/Main.check.scala_j9 new file mode 100644 index 000000000..5ffe43d57 --- /dev/null +++ b/test/files/cli/test3/Main.check.scala_j9 @@ -0,0 +1,40 @@ +JVMJ9VM007E Command-line option unrecognised: -cpp +Could not create the Java virtual machine. + +Usage: java [-options] class [args...] + (to execute a class) + or java [-jar] [-options] jarfile [args...] + (to execute a jar file) + +where options include: + -cp -classpath + set search path for application classes and resources + -D= + set a system property + -verbose[:class|gc|jni] + enable verbose output + -version print product version + -version: + require the specified version to run + -showversion print product version and continue + -jre-restrict-search | -no-jre-restrict-search + include/exclude user private JREs in the version search + -agentlib:[=] + load native agent library , e.g. -agentlib:hprof + see also, -agentlib:jdwp=help and -agentlib:hprof=help + -agentpath:[=] + load native agent library by full pathname + -javaagent:[=] + load Java programming language agent, see java.lang.instrument + -? -help print this help message + -X print help on non-standard options + -assert print help on assert options + +3: 1: test 1 passed (1) +3: 2: 1: test 1 passed (1) +3: 1: test 2 passed (1) +3: 2: 1: test 2 passed (1) +3: 1: test 3 passed (1) +3: 2: 1: test 3 passed (1) +3: 1: test 4 passed (4) +3: 2: 1: test 4 passed (4)