Clean up inlining test that retraces the stack trace
We now have better support for stacktraces.
Change-Id: I406eff66f6c774fd1fba20e1860f37c9752933d5
diff --git a/src/test/java/com/android/tools/r8/R8TestRunResult.java b/src/test/java/com/android/tools/r8/R8TestRunResult.java
index 415abb1..88a75bd 100644
--- a/src/test/java/com/android/tools/r8/R8TestRunResult.java
+++ b/src/test/java/com/android/tools/r8/R8TestRunResult.java
@@ -8,15 +8,11 @@
import com.android.tools.r8.ToolHelper.ProcessResult;
import com.android.tools.r8.naming.retrace.StackTrace;
-import com.android.tools.r8.retrace.Retrace;
-import com.android.tools.r8.retrace.RetraceCommand;
import com.android.tools.r8.utils.AndroidApp;
-import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.ThrowingConsumer;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.graphinspector.GraphInspector;
import java.io.IOException;
-import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.function.Consumer;
@@ -82,18 +78,4 @@
public String proguardMap() {
return proguardMap;
}
-
- public List<String> retrace() {
- class Box {
- List<String> result;
- }
- Box box = new Box();
- Retrace.run(
- RetraceCommand.builder()
- .setProguardMapProducer(() -> proguardMap)
- .setStackTrace(StringUtils.splitLines(getStdErr()))
- .setRetracedStackTraceConsumer(retraced -> box.result = retraced)
- .build());
- return box.result;
- }
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlinerShouldNotInlineDefinitelyNullTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlinerShouldNotInlineDefinitelyNullTest.java
index 654e0f2..be2ffe2 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlinerShouldNotInlineDefinitelyNullTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlinerShouldNotInlineDefinitelyNullTest.java
@@ -13,7 +13,6 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
import java.io.IOException;
import java.util.Arrays;
@@ -27,9 +26,6 @@
@RunWith(Parameterized.class)
public class InlinerShouldNotInlineDefinitelyNullTest extends TestBase {
- public static String EXPECTED_STACK_TRACE = StringUtils.joinLines(
- "java.lang.NullPointerException", " at " + Main.class.getTypeName() + ".main(");
-
public static class A {
void foo() {
@@ -78,13 +74,13 @@
.anyMatch(InstructionSubject::isThrow));
})
.run(parameters.getRuntime(), Main.class)
- .assertFailure();
+ .assertFailureWithErrorThatMatches(containsString("java.lang.NullPointerException"))
+ .inspectStackTrace(
+ stackTrace -> {
+ assertThat(
+ stackTrace.toString(), containsString(Main.class.getTypeName() + ".main("));
+ });
String[] split = result.proguardMap().split("\n");
assertTrue(Arrays.stream(split).noneMatch(l -> l.contains(A.class.getTypeName() + ".foo")));
- assertThat(
- StringUtils.joinLines(result.retrace())
- .replace("\tat", " at")
- .replace(": throw with null exception", ""),
- containsString(EXPECTED_STACK_TRACE));
}
}