Revert "Update test after disabling redundant load elimination in debug mode"
This reverts commit ba6ed376aa5524a1fd9d0b49963bfd9e75e11d66.
Reason for revert: weekly roll failed - reverting to exclude from next roll.
Change-Id: I0b2fe14fc00876509e88d5f05fff6038f8b6c3c2
diff --git a/src/test/java/com/android/tools/r8/ir/analysis/type/NarrowingWithoutSubtypingTest.java b/src/test/java/com/android/tools/r8/ir/analysis/type/NarrowingWithoutSubtypingTest.java
index c719a9a..343a944 100644
--- a/src/test/java/com/android/tools/r8/ir/analysis/type/NarrowingWithoutSubtypingTest.java
+++ b/src/test/java/com/android/tools/r8/ir/analysis/type/NarrowingWithoutSubtypingTest.java
@@ -4,7 +4,12 @@
package com.android.tools.r8.ir.analysis.type;
+import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertThrows;
+import com.android.tools.r8.CompilationFailedException;
+import com.android.tools.r8.D8TestBuilder;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.utils.BooleanUtils;
@@ -33,17 +38,32 @@
@Test
public void test() throws Exception {
- testForD8()
- .addInnerClasses(NarrowingWithoutSubtypingTest.class)
- .addOptionsModification(
- options -> {
- options.testing.readInputStackMaps = readStackMap;
- options.testing.enableNarrowAndWideningingChecksInD8 = true;
- options.testing.noLocalsTableOnInput = true;
- })
- .setMinApi(parameters)
- .run(parameters.getRuntime(), TestClass.class)
- .assertSuccessWithOutputLines("Hello world!");
+ D8TestBuilder d8TestBuilder =
+ testForD8()
+ .addInnerClasses(NarrowingWithoutSubtypingTest.class)
+ .addOptionsModification(
+ options -> {
+ options.testing.readInputStackMaps = readStackMap;
+ options.testing.enableNarrowAndWideningingChecksInD8 = true;
+ options.testing.noLocalsTableOnInput = true;
+ })
+ .setMinApi(parameters);
+ if (readStackMap) {
+ d8TestBuilder
+ .run(parameters.getRuntime(), TestClass.class)
+ .assertSuccessWithOutputLines("Hello world!");
+ } else {
+ // TODO(b/169120386): We should not be narrowing in D8.
+ assertThrows(
+ CompilationFailedException.class,
+ () -> {
+ d8TestBuilder.compileWithExpectedDiagnostics(
+ diagnostics ->
+ diagnostics.assertAllErrorsMatch(
+ diagnosticMessage(
+ containsString("java.lang.AssertionError: During NARROWING"))));
+ });
+ }
}
static class TestClass {