Make javac always use Java 7 when running tests using javac and dx
This adds "-source 1.7 -target 1.7" to JAVAC when --build-with-javac-dx
is specified.
Also make sure that dx is not run when --jvm is passed.
Test: art/test/run-test --host --build-with-javac-dx 003-omnibus-opcodes
Test: art/test/run-test --host --build-with-javac-dx 005-annotations
Test: art/test/run-test --host --build-with-javac-dx 023-many-interfaces
Test: art/test/run-test --host --build-with-javac-dx 056-const-string-jumbo
Test: art/test/run-test --host --build-with-javac-dx 091-override-package-private-method
Test: art/test/run-test --host --build-with-javac-dx 111-unresolvable-exception
Test: art/test/run-test --host --build-with-javac-dx 113-multidex
Test: art/test/run-test --host --build-with-javac-dx 124-missing-classes
Test: art/test/run-test --host --build-with-javac-dx 126-miranda-multidex
Test: art/test/run-test --host --build-with-javac-dx 127-checker-secondarydex
Test: art/test/run-test --host --build-with-javac-dx 131-structural-change
Test: art/test/run-test --host --build-with-javac-dx 138-duplicate-classes-check2
Test: art/test/run-test --host --build-with-javac-dx 303-verification-stress
Test: art/test/run-test --host --build-with-javac-dx 551-checker-shifter-operand
Test: art/test/run-test --host --build-with-javac-dx 555-checker-regression-x86const
Test: art/test/run-test --host 003-omnibus-opcodes
Test: art/test/run-test --host 005-annotations
Test: art/test/run-test --host 023-many-interfaces
Test: art/test/run-test --host 056-const-string-jumbo
Test: art/test/run-test --host 091-override-package-private-method
Test: art/test/run-test --host 111-unresolvable-exception
Test: art/test/run-test --host 113-multidex
Test: art/test/run-test --host 124-missing-classes
Test: art/test/run-test --host 126-miranda-multidex
Test: art/test/run-test --host 127-checker-secondarydex
Test: art/test/run-test --host 131-structural-change
Test: art/test/run-test --host 138-duplicate-classes-check2
Test: art/test/run-test --host 303-verification-stress
Test: art/test/run-test --host 551-checker-shifter-operand
Test: art/test/run-test --host 555-checker-regression-x86const
Test: art/test/run-test --jvm 003-omnibus-opcodes
Test: art/test/run-test --jvm 005-annotations
Test: art/test/run-test --jvm 023-many-interfaces
Test: art/test/run-test --jvm 056-const-string-jumbo
Test: art/test/run-test --jvm 091-override-package-private-method
Test: art/test/run-test --jvm 111-unresolvable-exception
Test: art/test/run-test --jvm 113-multidex
Test: art/test/run-test --jvm 124-missing-classes
Test: art/test/run-test --jvm 126-miranda-multidex
Test: art/test/run-test --jvm 127-checker-secondarydex
Test: art/test/run-test --jvm 131-structural-change
Test: art/test/run-test --jvm 138-duplicate-classes-check2
Test: art/test/run-test --jvm 303-verification-stress
Test: art/test/run-test --jvm 551-checker-shifter-operand
Test: art/test/run-test --jvm 555-checker-regression-x86const
Change-Id: I60f8a973c0dd425988abe55223bdef426c772b97
diff --git a/test/003-omnibus-opcodes/build b/test/003-omnibus-opcodes/build
index 56e8784..dba3549 100644
--- a/test/003-omnibus-opcodes/build
+++ b/test/003-omnibus-opcodes/build
@@ -26,6 +26,11 @@
jar cf classes.jill.jar -C classes .
${JACK} --import classes.jill.jar --output-dex .
else
- ${DX} -JXmx256m --debug --dex --output=classes.dex classes
+ if [ ${NEED_DEX} = "true" ]; then
+ ${DX} -JXmx256m --debug --dex --output=classes.dex classes
fi
-zip $TEST_NAME.jar classes.dex
+fi
+
+if [ ${NEED_DEX} = "true" ]; then
+ zip $TEST_NAME.jar classes.dex
+fi
diff --git a/test/005-annotations/build b/test/005-annotations/build
index 93bee50..216843d 100644
--- a/test/005-annotations/build
+++ b/test/005-annotations/build
@@ -32,7 +32,11 @@
jar cf classes.jill.jar -C classes .
${JACK} --import classes.jill.jar --output-dex .
else
- ${DX} -JXmx256m --debug --dex --output=classes.dex classes
+ if [ ${NEED_DEX} = "true" ]; then
+ ${DX} -JXmx256m --debug --dex --output=classes.dex classes
+ fi
fi
-zip $TEST_NAME.jar classes.dex
+if [ ${NEED_DEX} = "true" ]; then
+ zip $TEST_NAME.jar classes.dex
+fi
diff --git a/test/023-many-interfaces/build b/test/023-many-interfaces/build
index 3bb6747..b4b5bd4 100644
--- a/test/023-many-interfaces/build
+++ b/test/023-many-interfaces/build
@@ -29,6 +29,8 @@
${JAVAC} -d classes src/*.java
# dx needs more memory for that test so do not pass Xmx option here.
- ${DX} --debug --dex --dump-to=classes.lst --output=classes.dex classes
- zip $TEST_NAME.jar classes.dex
+ if [ ${NEED_DEX} = "true" ]; then
+ ${DX} --debug --dex --dump-to=classes.lst --output=classes.dex classes
+ zip $TEST_NAME.jar classes.dex
+ fi
fi
diff --git a/test/056-const-string-jumbo/build b/test/056-const-string-jumbo/build
index ae42519..5344ac3 100644
--- a/test/056-const-string-jumbo/build
+++ b/test/056-const-string-jumbo/build
@@ -45,7 +45,11 @@
mkdir classes
${JAVAC} -d classes src/*.java
- ${DX} -JXmx500m --debug --dex --no-optimize --positions=none --no-locals --output=classes.dex classes
+ if [ ${NEED_DEX} = "true" ]; then
+ ${DX} -JXmx500m --debug --dex --no-optimize --positions=none --no-locals --output=classes.dex classes
+ fi
fi
-zip $TEST_NAME.jar classes.dex
+if [ ${NEED_DEX} = "true" ]; then
+ zip $TEST_NAME.jar classes.dex
+fi
diff --git a/test/111-unresolvable-exception/build b/test/111-unresolvable-exception/build
index 58ac26d..cf19f60 100644
--- a/test/111-unresolvable-exception/build
+++ b/test/111-unresolvable-exception/build
@@ -25,6 +25,11 @@
jar cf classes.jill.jar -C classes .
${JACK} --import classes.jill.jar --output-dex .
else
- ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
+ if [ ${NEED_DEX} = "true" ]; then
+ ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
+ fi
fi
-zip $TEST_NAME.jar classes.dex
+
+if [ ${NEED_DEX} = "true" ]; then
+ zip $TEST_NAME.jar classes.dex
+fi
diff --git a/test/113-multidex/build b/test/113-multidex/build
index 4557ccd..b980e50 100644
--- a/test/113-multidex/build
+++ b/test/113-multidex/build
@@ -37,10 +37,15 @@
mv classes.dex classes2.dex
mv classes-1.dex classes.dex
else
- # All except Main
- ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
+ if [ ${NEED_DEX} = "true" ]; then
+ # All except Main
+ ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
- # Only Main
- ${DX} -JXmx256m --debug --dex --dump-to=classes2.lst --output=classes2.dex classes2
+ # Only Main
+ ${DX} -JXmx256m --debug --dex --dump-to=classes2.lst --output=classes2.dex classes2
+ fi
fi
-zip $TEST_NAME.jar classes.dex classes2.dex
+
+if [ ${NEED_DEX} = "true" ]; then
+ zip $TEST_NAME.jar classes.dex classes2.dex
+fi
diff --git a/test/124-missing-classes/build b/test/124-missing-classes/build
index 0a340a2..ea45cd2 100644
--- a/test/124-missing-classes/build
+++ b/test/124-missing-classes/build
@@ -30,6 +30,11 @@
jar cf classes.jill.jar -C classes .
${JACK} --import classes.jill.jar --output-dex .
else
- ${DX} -JXmx256m --debug --dex --output=classes.dex classes
+ if [ ${NEED_DEX} = "true" ]; then
+ ${DX} -JXmx256m --debug --dex --output=classes.dex classes
+ fi
fi
-zip $TEST_NAME.jar classes.dex
+
+if [ ${NEED_DEX} = "true" ]; then
+ zip $TEST_NAME.jar classes.dex
+fi
diff --git a/test/126-miranda-multidex/build b/test/126-miranda-multidex/build
index 00b9ba0..2a5e7da 100644
--- a/test/126-miranda-multidex/build
+++ b/test/126-miranda-multidex/build
@@ -37,10 +37,15 @@
mv classes.dex classes2.dex
mv classes-1.dex classes.dex
else
- # All except Main
- ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
+ if [ ${NEED_DEX} = "true" ]; then
+ # All except Main
+ ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
- # Only Main
- ${DX} -JXmx256m --debug --dex --dump-to=classes2.lst --output=classes2.dex classes2
+ # Only Main
+ ${DX} -JXmx256m --debug --dex --dump-to=classes2.lst --output=classes2.dex classes2
+ fi
fi
-zip $TEST_NAME.jar classes.dex classes2.dex
+
+if [ ${NEED_DEX} = "true" ]; then
+ zip $TEST_NAME.jar classes.dex classes2.dex
+fi
diff --git a/test/303-verification-stress/build b/test/303-verification-stress/build
index 5ff73ec..b67eaf2 100644
--- a/test/303-verification-stress/build
+++ b/test/303-verification-stress/build
@@ -29,6 +29,8 @@
${JAVAC} -d classes src/*.java
# dx needs more memory for that test so do not pass Xmx option here.
- ${DX} --debug --dex --output=classes.dex classes
- zip $TEST_NAME.jar classes.dex
+ if [ ${NEED_DEX} = "true" ]; then
+ ${DX} --debug --dex --output=classes.dex classes
+ zip $TEST_NAME.jar classes.dex
+ fi
fi
diff --git a/test/run-test b/test/run-test
index 4c29420..10efe1f 100755
--- a/test/run-test
+++ b/test/run-test
@@ -540,6 +540,13 @@
shift
fi
+# For building with javac and dx always use Java 7. The dx compiler
+# only support byte codes from Java 7 or earlier (class file major
+# version 51 or lower).
+if [ "$USE_JACK" != "true" ] && [ "$NEED_DEX" = "true" ]; then
+ export JAVAC="${JAVAC} -source 1.7 -target 1.7"
+fi
+
if [ "$usage" = "yes" ]; then
prog=`basename $prog`
(
@@ -561,8 +568,8 @@
echo " --gdb Run under gdb; incompatible with some tests."
echo " --gdb-arg Pass an option to gdb."
echo " --build-only Build test files only (off by default)."
- echo " --build-with-javac-dx Build test files with javac and dx (on by default)."
- echo " --build-with-jack Build test files with jack and jill (off by default)."
+ echo " --build-with-javac-dx Build test files with javac and dx (off by default)."
+ echo " --build-with-jack Build test files with jack and jill (on by default)."
echo " --interpreter Enable interpreter only mode (off by default)."
echo " --jit Enable jit (off by default)."
echo " --optimizing Enable optimizing compiler (default)."