Allow -identifiernamestring warning in proto2 tests
Change-Id: I09834ed682c4c23e3de3948d7c17f36a2af7f6c0
diff --git a/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderOnlyReferencedFromDynamicMethodTest.java b/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderOnlyReferencedFromDynamicMethodTest.java
index c0f2478..dbde5fd 100644
--- a/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderOnlyReferencedFromDynamicMethodTest.java
+++ b/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderOnlyReferencedFromDynamicMethodTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertFalse;
@@ -56,7 +55,7 @@
.compile()
.assertAllInfoMessagesMatch(
containsString("Proguard configuration rule does not match anything"))
- .assertAllWarningMessagesMatch(equalTo("Resource 'META-INF/MANIFEST.MF' already exists."))
+ .apply(this::inspectWarningMessages)
.inspect(this::inspect)
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines(
diff --git a/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java b/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java
index 3f9e228..9ea0db9 100644
--- a/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java
+++ b/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertTrue;
@@ -82,8 +81,7 @@
.compile()
.assertAllInfoMessagesMatch(
containsString("Proguard configuration rule does not match anything"))
- .assertAllWarningMessagesMatch(
- equalTo("Resource 'META-INF/MANIFEST.MF' already exists."))
+ .apply(this::inspectWarningMessages)
.inspect(this::inspect);
for (String main : mains) {
diff --git a/src/test/java/com/android/tools/r8/internal/proto/Proto2ShrinkingTest.java b/src/test/java/com/android/tools/r8/internal/proto/Proto2ShrinkingTest.java
index fcc6f54..63dae9c 100644
--- a/src/test/java/com/android/tools/r8/internal/proto/Proto2ShrinkingTest.java
+++ b/src/test/java/com/android/tools/r8/internal/proto/Proto2ShrinkingTest.java
@@ -6,9 +6,7 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static com.android.tools.r8.utils.codeinspector.Matchers.notIf;
-import static org.hamcrest.CoreMatchers.anyOf;
import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
@@ -97,8 +95,7 @@
.compile()
.assertAllInfoMessagesMatch(
containsString("Proguard configuration rule does not match anything"))
- .assertAllWarningMessagesMatch(
- equalTo("Resource 'META-INF/MANIFEST.MF' already exists."))
+ .apply(this::inspectWarningMessages)
.inspect(
outputInspector -> {
verifyMapAndRequiredFieldsAreKept(inputInspector, outputInspector);
@@ -374,10 +371,7 @@
.compile()
.assertAllInfoMessagesMatch(
containsString("Proguard configuration rule does not match anything"))
- .assertAllWarningMessagesMatch(
- anyOf(
- equalTo("Resource 'META-INF/MANIFEST.MF' already exists."),
- containsString("required for default or static interface methods desugaring")))
+ .apply(this::inspectWarningMessages)
.inspect(
inspector ->
assertRewrittenProtoSchemasMatch(new CodeInspector(PROGRAM_FILES), inspector));
@@ -405,10 +399,7 @@
.compile()
.assertAllInfoMessagesMatch(
containsString("Proguard configuration rule does not match anything"))
- .assertAllWarningMessagesMatch(
- anyOf(
- equalTo("Resource 'META-INF/MANIFEST.MF' already exists."),
- containsString("required for default or static interface methods desugaring")))
+ .apply(this::inspectWarningMessages)
.inspect(
outputInspector -> {
verifyUnusedExtensionsAreRemoved(inputInspector, outputInspector);
diff --git a/src/test/java/com/android/tools/r8/internal/proto/ProtoShrinkingTestBase.java b/src/test/java/com/android/tools/r8/internal/proto/ProtoShrinkingTestBase.java
index c0ce178..23d7007 100644
--- a/src/test/java/com/android/tools/r8/internal/proto/ProtoShrinkingTestBase.java
+++ b/src/test/java/com/android/tools/r8/internal/proto/ProtoShrinkingTestBase.java
@@ -5,10 +5,16 @@
package com.android.tools.r8.internal.proto;
import static com.android.tools.r8.ir.analysis.proto.ProtoUtils.getInfoValueFromMessageInfoConstructionInvoke;
+import static org.hamcrest.CoreMatchers.allOf;
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.startsWith;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import com.android.tools.r8.R8TestCompileResult;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.graph.DexItemFactory;
@@ -136,4 +142,16 @@
}
return result;
}
+
+ void inspectWarningMessages(R8TestCompileResult compileResult) {
+ compileResult.assertAllWarningMessagesMatch(
+ anyOf(
+ equalTo("Resource 'META-INF/MANIFEST.MF' already exists."),
+ allOf(
+ startsWith(
+ "Rule matches the static final field `java.lang.String com.google."
+ + "protobuf.proto2_registryGeneratedExtensionRegistryLite."
+ + "CONTAINING_TYPE_"),
+ containsString("`, which may have been inlined: -identifiernamestring"))));
+ }
}