Merge "Add extensive logging for debugging"
diff --git a/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java b/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
index 5fa4cf3..3042cbe 100644
--- a/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
+++ b/src/test/java/com/android/tools/r8/RunExamplesAndroidOTest.java
@@ -606,7 +606,7 @@
output.replace("\r", "").equals(javaResult.stdout.replace("\r", "")));
}
} catch (Throwable t) {
- assert expectedToFail;
+ assert expectedToFail && !ToolHelper.compareAgaintsGoldenFiles();
}
}
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index f73f198..4f8b2e3 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -713,6 +713,12 @@
return DexVm.ART_DEFAULT;
} else {
DexVm artVersionEnum = DexVm.fromShortName(artVersion);
+ if (artVersionEnum == null
+ && !artVersion.endsWith(Kind.HOST.toString())
+ && !artVersion.endsWith(Kind.TARGET.toString())) {
+ // Default to host Art/Dalvik when not specified.
+ artVersionEnum = DexVm.fromShortName(artVersion + '_' + Kind.HOST.toString());
+ }
if (artVersionEnum == null) {
throw new RuntimeException("Unsupported Art version " + artVersion);
} else {
diff --git a/src/test/java/com/android/tools/r8/naming/retrace/StackTrace.java b/src/test/java/com/android/tools/r8/naming/retrace/StackTrace.java
index 68e09c1..3270e48 100644
--- a/src/test/java/com/android/tools/r8/naming/retrace/StackTrace.java
+++ b/src/test/java/com/android/tools/r8/naming/retrace/StackTrace.java
@@ -123,7 +123,8 @@
List<StackTraceLine> stackTraceLines = new ArrayList<>();
List<String> stderrLines = StringUtils.splitLines(stderr);
- // A Dalvik stacktrace looks like this:
+ // A Dalvik stacktrace looks like this (apparently the bottom frame
+ // "dalvik.system.NativeStart.main" is not always present)
// W(209693) threadid=1: thread exiting with uncaught exception (group=0xf616cb20) (dalvikvm)
// java.lang.NullPointerException
// \tat com.android.tools.r8.naming.retrace.Main.a(:133)
@@ -143,8 +144,9 @@
// \tat com.android.tools.r8.naming.retrace.Main.a(:156)
// \tat com.android.tools.r8.naming.retrace.Main.main(:162)
int last = stderrLines.size();
- if (ToolHelper.getDexVm().isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)) {
- // Skip the bottom frame "dalvik.system.NativeStart.main".
+ // Skip the bottom frame "dalvik.system.NativeStart.main" if present.
+ if (ToolHelper.getDexVm().isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)
+ && stderrLines.get(last - 1).contains("dalvik.system.NativeStart.main")) {
last--;
}
// Take all lines from the bottom starting with "\tat ".