summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marie Henaff <jmhenaff@google.com>2014-12-08 16:00:04 +0100
committerJean-Marie Henaff <jmhenaff@google.com>2014-12-18 09:04:38 +0100
commit1efb68145bbf5be96583693d958590ecdcdf98d8 (patch)
treed2a283c4f68186fe2c1e2b181142e56cad11c66b
parent997d7ed08a905449b770c7d916bff870b12f5153 (diff)
downloadtoolchain_jack-1efb68145bbf5be96583693d958590ecdcdf98d8.zip
toolchain_jack-1efb68145bbf5be96583693d958590ecdcdf98d8.tar.gz
toolchain_jack-1efb68145bbf5be96583693d958590ecdcdf98d8.tar.bz2
Add verbosity control in tests Toolchains
Bug 18603124 Change-Id: Ib42cb5ea8238218f3b40150065b2bcd48ebea9ee
-rwxr-xr-xjack-tests/run-jack-tests1
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/IToolchain.java3
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java3
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java17
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java31
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/JillBasedToolchain.java4
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java19
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java24
-rw-r--r--jack-tests/src/com/android/jack/test/toolchain/Toolchain.java9
-rw-r--r--jack-tests/tests/com/android/jack/error/JackFormatErrorTest.java9
10 files changed, 91 insertions, 29 deletions
diff --git a/jack-tests/run-jack-tests b/jack-tests/run-jack-tests
index 7502609..10acc8f 100755
--- a/jack-tests/run-jack-tests
+++ b/jack-tests/run-jack-tests
@@ -19,7 +19,6 @@ then
echo "Usage: $(basename $0) <tests config file path> <test suite>+"
exit 1
fi
-set -x
CURRENT_DIR=$(dirname $0)
java -Dtests.config=$1 -cp $CURRENT_DIR/dist/jack-tests.jar:\
$CURRENT_DIR/libs/ddmlib.jar org.junit.runner.JUnitCore $2
diff --git a/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java
index 184682b..f35c65f 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/IToolchain.java
@@ -86,4 +86,7 @@ public interface IToolchain {
@Nonnull
IToolchain setErrorStream(@Nonnull OutputStream errorStream);
+ @Nonnull
+ IToolchain setVerbose(boolean isVerbose);
+
}
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java
index 99b0ddb..eb6d0cd 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java
@@ -39,8 +39,9 @@ public class JackApiToolchain extends JackBasedToolchain {
JackApiToolchain() {}
+ @Override
@Nonnull
- public JackApiToolchain setVerbosityLevel(@Nonnull Options.VerbosityLevel level) {
+ protected JackApiToolchain setVerbosityLevel(@Nonnull Options.VerbosityLevel level) {
jackOptions.setVerbosityLevel(level);
return this;
}
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java
index e5a57ac..697adf8 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java
@@ -16,6 +16,8 @@
package com.android.jack.test.toolchain;
+import com.android.jack.Options;
+import com.android.jack.Options.VerbosityLevel;
import com.android.jack.backend.dex.DexFileWriter;
import com.android.jack.backend.dex.MultiDexLegacy;
import com.android.jack.backend.dex.rop.CodeItemBuilder;
@@ -124,6 +126,21 @@ public abstract class JackBasedToolchain extends AndroidToolchain {
@Override
@Nonnull
+ public JackBasedToolchain setVerbose(boolean isVerbose) {
+ super.setVerbose(isVerbose);
+ if (isVerbose) {
+ setVerbosityLevel(VerbosityLevel.DEBUG);
+ } else {
+ setVerbosityLevel(VerbosityLevel.WARNING);
+ }
+ return this;
+ }
+
+ @Nonnull
+ protected abstract JackBasedToolchain setVerbosityLevel(@Nonnull Options.VerbosityLevel level);
+
+ @Override
+ @Nonnull
public JackBasedToolchain enableDxOptimizations() {
addProperty(CodeItemBuilder.DEX_OPTIMIZE.getName(), "true");
return this;
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
index 485d066..4cf3a7c 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
@@ -16,6 +16,8 @@
package com.android.jack.test.toolchain;
+import com.android.jack.Options;
+import com.android.jack.Options.VerbosityLevel;
import com.android.jack.util.ExecuteFile;
import java.io.File;
@@ -39,6 +41,8 @@ public class JackCliToolchain extends JackBasedToolchain {
private List<String> extraJackArgs = new ArrayList<String>(0);
@CheckForNull
private File incrementalFolder;
+ @Nonnull
+ private Options.VerbosityLevel verbosityLevel = VerbosityLevel.WARNING;
JackCliToolchain(@Nonnull File prebuilt) {
this.jackPrebuilt = prebuilt;
@@ -46,6 +50,13 @@ public class JackCliToolchain extends JackBasedToolchain {
@Override
@Nonnull
+ protected JackCliToolchain setVerbosityLevel(@Nonnull Options.VerbosityLevel level) {
+ verbosityLevel = level;
+ return this;
+ }
+
+ @Override
+ @Nonnull
public void srcToExe(@CheckForNull String classpath, @Nonnull File out,
boolean zipFile, @Nonnull File... sources) throws Exception {
@@ -54,6 +65,9 @@ public class JackCliToolchain extends JackBasedToolchain {
args.add("-cp");
args.add(jackPrebuilt.getAbsolutePath());
+ args.add("--verbose");
+ args.add(verbosityLevel.name());
+
if (incrementalFolder != null) {
args.add("--incremental-folder");
args.add(incrementalFolder.getAbsolutePath());
@@ -118,7 +132,7 @@ public class JackCliToolchain extends JackBasedToolchain {
ExecuteFile exec = new ExecuteFile(args.toArray(new String[args.size()]));
exec.setErr(outRedirectStream);
exec.setOut(errRedirectStream);
- exec.setVerbose(true);
+ exec.setVerbose(isVerbose);
if (!exec.run()) {
throw new RuntimeException("Jack compiler exited with an error");
@@ -136,6 +150,9 @@ public class JackCliToolchain extends JackBasedToolchain {
args.add("-cp");
args.add(jackPrebuilt.getAbsolutePath());
+ args.add("--verbose");
+ args.add(verbosityLevel.name());
+
if (incrementalFolder != null) {
args.add("--incremental-folder");
args.add(incrementalFolder.getAbsolutePath());
@@ -194,7 +211,7 @@ public class JackCliToolchain extends JackBasedToolchain {
ExecuteFile exec = new ExecuteFile(args.toArray(new String[args.size()]));
exec.setErr(outRedirectStream);
exec.setOut(errRedirectStream);
- exec.setVerbose(true);
+ exec.setVerbose(isVerbose);
if (!exec.run()) {
throw new RuntimeException("Jack compiler exited with an error");
@@ -211,6 +228,9 @@ public class JackCliToolchain extends JackBasedToolchain {
args.add("-cp");
args.add(jackPrebuilt.getAbsolutePath());
+ args.add("--verbose");
+ args.add(verbosityLevel.name());
+
if (incrementalFolder != null) {
args.add("--incremental-folder");
args.add(incrementalFolder.getAbsolutePath());
@@ -251,7 +271,7 @@ public class JackCliToolchain extends JackBasedToolchain {
ExecuteFile exec = new ExecuteFile(args.toArray(new String[args.size()]));
exec.setErr(outRedirectStream);
exec.setOut(errRedirectStream);
- exec.setVerbose(true);
+ exec.setVerbose(isVerbose);
if (!exec.run()) {
throw new RuntimeException("Jack compiler exited with an error");
@@ -266,6 +286,9 @@ public class JackCliToolchain extends JackBasedToolchain {
args.add("-cp");
args.add(jackPrebuilt.getAbsolutePath());
+ args.add("--verbose");
+ args.add(verbosityLevel.name());
+
if (incrementalFolder != null) {
args.add("--incremental-folder");
args.add(incrementalFolder.getAbsolutePath());
@@ -309,7 +332,7 @@ public class JackCliToolchain extends JackBasedToolchain {
ExecuteFile exec = new ExecuteFile(args.toArray(new String[args.size()]));
exec.setErr(outRedirectStream);
exec.setOut(errRedirectStream);
- exec.setVerbose(true);
+ exec.setVerbose(isVerbose);
if (!exec.run()) {
throw new RuntimeException("Jack compiler exited with an error");
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JillBasedToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JillBasedToolchain.java
index dbcc528..cc79239 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JillBasedToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JillBasedToolchain.java
@@ -44,6 +44,8 @@ public abstract class JillBasedToolchain extends JackCliToolchain {
args.add("java");
args.add("-jar");
args.add(jillPrebuilt.getAbsolutePath());
+ args.add("--verbose");
+ args.add(String.valueOf(isVerbose));
if (zipFiles) {
args.add("--container");
args.add("zip");
@@ -55,7 +57,7 @@ public abstract class JillBasedToolchain extends JackCliToolchain {
ExecuteFile execFile = new ExecuteFile(args.toArray(new String[args.size()]));
execFile.setOut(outRedirectStream);
execFile.setErr(errRedirectStream);
- execFile.setVerbose(true);
+ execFile.setVerbose(isVerbose);
try {
if (execFile.run() != 0) {
diff --git a/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java
index 7ebd63a..2c4f1d5 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/LegacyJillToolchain.java
@@ -134,6 +134,9 @@ public class LegacyJillToolchain extends JillBasedToolchain {
arguments.add(refCompilerPath.trim());
+ arguments.add("-verbose");
+ arguments.add(String.valueOf(isVerbose));
+
addSourceLevel(sourceLevel, arguments);
if (annotationProcessorClass != null) {
@@ -154,7 +157,7 @@ public class LegacyJillToolchain extends JillBasedToolchain {
ExecuteFile execFile = new ExecuteFile(arguments.toArray(new String[arguments.size()]));
execFile.setErr(outRedirectStream);
execFile.setOut(errRedirectStream);
- execFile.setVerbose(true);
+ execFile.setVerbose(isVerbose);
try {
if (execFile.run() != 0) {
throw new RuntimeException("Reference compiler exited with an error");
@@ -166,14 +169,14 @@ public class LegacyJillToolchain extends JillBasedToolchain {
private void processWithJarJar(@Nonnull File jarjarRules,
@Nonnull File inJar, @Nonnull File outJar) {
- String[] args = new String[]{"java", "-jar", jarjarPrebuilt.getAbsolutePath(),
- "process", jarjarRules.getAbsolutePath(),
+ String[] args = new String[]{"java", "-Dverbose=" + String.valueOf(isVerbose), "-jar",
+ jarjarPrebuilt.getAbsolutePath(), "process", jarjarRules.getAbsolutePath(),
inJar.getAbsolutePath(), outJar.getAbsolutePath()};
ExecuteFile execFile = new ExecuteFile(args);
execFile.setOut(outRedirectStream);
execFile.setErr(errRedirectStream);
- execFile.setVerbose(true);
+ execFile.setVerbose(isVerbose);
try {
if (execFile.run() != 0) {
@@ -197,9 +200,9 @@ public class LegacyJillToolchain extends JillBasedToolchain {
args.add(outJar.getAbsolutePath());
args.add("-libraryjars");
args.add(bootclasspathStr);
- args.add("-verbose");
- args.add("-forceprocessing");
- args.add("-dontoptimize");
+ if (isVerbose) {
+ args.add("-verbose");
+ }
for (File flags : proguardFlags) {
args.add("-include");
args.add(flags.getAbsolutePath());
@@ -208,7 +211,7 @@ public class LegacyJillToolchain extends JillBasedToolchain {
ExecuteFile execFile = new ExecuteFile(args.toArray(new String[args.size()]));
execFile.setOut(outRedirectStream);
execFile.setErr(errRedirectStream);
- execFile.setVerbose(true);
+ execFile.setVerbose(isVerbose);
try {
if (execFile.run() != 0) {
diff --git a/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java
index 8a60624..fe2e535 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/LegacyToolchain.java
@@ -140,14 +140,14 @@ public class LegacyToolchain extends AndroidToolchain {
private void processWithJarJar(@Nonnull File jarjarRules,
@Nonnull File inJar, @Nonnull File outJar) {
- String[] args = new String[]{"java", "-jar", jarjarPrebuilt.getAbsolutePath(),
- "process", jarjarRules.getAbsolutePath(),
+ String[] args = new String[]{"java", "-Dverbose=" + String.valueOf(isVerbose), "-jar",
+ jarjarPrebuilt.getAbsolutePath(), "process", jarjarRules.getAbsolutePath(),
inJar.getAbsolutePath(), outJar.getAbsolutePath()};
ExecuteFile execFile = new ExecuteFile(args);
execFile.setOut(outRedirectStream);
execFile.setErr(errRedirectStream);
- execFile.setVerbose(true);
+ execFile.setVerbose(isVerbose);
try {
if (execFile.run() != 0) {
@@ -173,9 +173,9 @@ public class LegacyToolchain extends AndroidToolchain {
args.add("-libraryjars");
args.add(bootclasspathStr);
}
- args.add("-verbose");
- args.add("-forceprocessing");
- args.add("-dontoptimize");
+ if (isVerbose) {
+ args.add("-verbose");
+ }
for (File flags : proguardFlags) {
args.add("-include");
args.add(flags.getAbsolutePath());
@@ -184,7 +184,7 @@ public class LegacyToolchain extends AndroidToolchain {
ExecuteFile execFile = new ExecuteFile(args.toArray(new String[args.size()]));
execFile.setOut(outRedirectStream);
execFile.setErr(errRedirectStream);
- execFile.setVerbose(true);
+ execFile.setVerbose(isVerbose);
try {
if (execFile.run() != 0) {
@@ -202,6 +202,9 @@ public class LegacyToolchain extends AndroidToolchain {
args.add("-classpath");
args.add(classpath);
}
+ if (isVerbose) {
+ args.add("-verbose");
+ }
addSourceLevel(sourceLevel, args);
args.add("-noExit");
args.add("-preserveAllLocals");
@@ -248,6 +251,10 @@ public class LegacyToolchain extends AndroidToolchain {
arguments.add(legacyCompilerPrebuilt.getAbsolutePath());
+ if (isVerbose) {
+ arguments.add("-verbose");
+ }
+
addSourceLevel(sourceLevel, arguments);
if (annotationProcessorClass != null) {
@@ -268,7 +275,7 @@ public class LegacyToolchain extends AndroidToolchain {
ExecuteFile execFile = new ExecuteFile(arguments.toArray(new String[arguments.size()]));
execFile.setErr(outRedirectStream);
execFile.setOut(errRedirectStream);
- execFile.setVerbose(true);
+ execFile.setVerbose(isVerbose);
try {
if (execFile.run() != 0) {
throw new RuntimeException("Reference compiler exited with an error");
@@ -292,6 +299,7 @@ public class LegacyToolchain extends AndroidToolchain {
arguments.optimize = !withDebugInfos && useDxOptimization;
// this only means we deactivate the check that no core classes are included
arguments.coreLibrary = true;
+ arguments.verbose = isVerbose;
arguments.parse(new String[] {in.getAbsolutePath()});
int retValue = com.android.dx.command.dexer.Main.run(arguments);
diff --git a/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java b/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java
index 6954f27..4676aef 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/Toolchain.java
@@ -63,6 +63,8 @@ public abstract class Toolchain implements IToolchain {
@Nonnull
protected PrintStream errRedirectStream = System.err;
+ protected boolean isVerbose = false;
+
Toolchain() {}
@Override
@@ -156,4 +158,11 @@ public abstract class Toolchain implements IToolchain {
errRedirectStream = new PrintStream(errorStream);
return this;
}
+
+ @Override
+ @Nonnull
+ public Toolchain setVerbose(boolean isVerbose) {
+ this.isVerbose = isVerbose;
+ return this;
+ }
}
diff --git a/jack-tests/tests/com/android/jack/error/JackFormatErrorTest.java b/jack-tests/tests/com/android/jack/error/JackFormatErrorTest.java
index c518e9f..3d72821 100644
--- a/jack-tests/tests/com/android/jack/error/JackFormatErrorTest.java
+++ b/jack-tests/tests/com/android/jack/error/JackFormatErrorTest.java
@@ -18,8 +18,6 @@ package com.android.jack.error;
import com.android.jack.JackAbortException;
import com.android.jack.Main;
-import com.android.jack.Options.VerbosityLevel;
-import com.android.jack.jayce.JayceFormatException;
import com.android.jack.jayce.JayceProperties;
import com.android.jack.library.FileType;
import com.android.jack.library.JackLibrary;
@@ -27,7 +25,6 @@ import com.android.jack.library.JackLibraryFactory;
import com.android.jack.library.LibraryFormatException;
import com.android.jack.library.LibraryReadingException;
import com.android.jack.library.v0001.Version;
-import com.android.jack.load.JackLoadingException;
import com.android.jack.test.helper.ErrorTestHelper;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.JackApiToolchain;
@@ -75,7 +72,7 @@ public class JackFormatErrorTest {
JackApiToolchain toolchain = AbstractTestTools.getCandidateToolchain(JackApiToolchain.class);
- toolchain.setVerbosityLevel(VerbosityLevel.DEBUG);
+ toolchain.setVerbose(true);
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
toolchain.setErrorStream(errOut);
@@ -121,7 +118,7 @@ public class JackFormatErrorTest {
JackApiToolchain toolchain = AbstractTestTools.getCandidateToolchain(JackApiToolchain.class);
- toolchain.setVerbosityLevel(VerbosityLevel.DEBUG);
+ toolchain.setVerbose(true);
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
toolchain.setErrorStream(errOut);
@@ -166,7 +163,7 @@ public class JackFormatErrorTest {
JackApiToolchain toolchain = AbstractTestTools.getCandidateToolchain(JackApiToolchain.class);
- toolchain.setVerbosityLevel(VerbosityLevel.DEBUG);
+ toolchain.setVerbose(true);
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
toolchain.setErrorStream(errOut);