Fix OOM caused by +100mb of dex2oat output
Change-Id: Ic941b2b431283514f14e1e30acbd9171587e7258
diff --git a/src/test/testbase/java/com/android/tools/r8/Dex2OatTestRunResult.java b/src/test/testbase/java/com/android/tools/r8/Dex2OatTestRunResult.java
index 758ef33..52163a9 100644
--- a/src/test/testbase/java/com/android/tools/r8/Dex2OatTestRunResult.java
+++ b/src/test/testbase/java/com/android/tools/r8/Dex2OatTestRunResult.java
@@ -4,16 +4,13 @@
package com.android.tools.r8;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.utils.AndroidApp;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
-import org.hamcrest.Matcher;
public class Dex2OatTestRunResult extends SingleTestRunResult<Dex2OatTestRunResult> {
@@ -31,32 +28,20 @@
}
public Dex2OatTestRunResult assertNoLockVerificationErrors() {
- assertSuccess();
- Matcher<? super String> matcher = not(containsString("failed lock verification"));
- assertThat(
- errorMessage("Run dex2oat produced lock verification errors.", matcher.toString()),
- getStdErr(),
- matcher);
- return self();
+ return assertInStderr("failed lock verification", false);
}
public Dex2OatTestRunResult assertNoVerificationErrors() {
- assertSuccess();
- Matcher<? super String> matcher = not(containsString("Verification error"));
- assertThat(
- errorMessage("Run dex2oat produced verification errors.", matcher.toString()),
- getStdErr(),
- matcher);
- return self();
+ return assertInStderr("Verification error", false);
}
public Dex2OatTestRunResult assertSoftVerificationErrors() {
+ return assertInStderr("Soft verification failures", true);
+ }
+
+ private Dex2OatTestRunResult assertInStderr(String substring, boolean expected) {
assertSuccess();
- Matcher<? super String> matcher = containsString("Soft verification failures");
- assertThat(
- errorMessage("Run dex2oat did not produce soft verification errors.", matcher.toString()),
- getStdErr(),
- matcher);
+ assertEquals(expected, getStdErr().contains(substring));
return self();
}
diff --git a/src/test/testbase/java/com/android/tools/r8/ToolHelper.java b/src/test/testbase/java/com/android/tools/r8/ToolHelper.java
index 4ddbdf3..185fd4b 100644
--- a/src/test/testbase/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/testbase/java/com/android/tools/r8/ToolHelper.java
@@ -2716,11 +2716,13 @@
builder.append("\n");
builder.append("STDOUT: ");
builder.append("\n");
- builder.append(stdout);
+ builder.append(
+ stdout.length() > 50000 ? "<omitted " + stdout.length() + " characters>" : stdout);
builder.append("\n");
builder.append("STDERR: ");
builder.append("\n");
- builder.append(stderr);
+ builder.append(
+ stderr.length() > 50000 ? "<omitted " + stderr.length() + " characters>" : stderr);
builder.append("\n");
return builder.toString();
}