Add Chrome enum regression test

Bug: 177653563
Bug: 178496619
Change-Id: Idcd0e3b93c15f0866707b9ccb7559cbd09a65218
diff --git a/.gitignore b/.gitignore
index 147cf9a..26634e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 
+!third_party/chrome/*.sha1
 !third_party/gmail/*.sha1
 !third_party/gmscore/*.sha1
 !third_party/internal/*.sha1
@@ -30,6 +31,8 @@
 tests/2017-10-04/art.tar.gz
 third_party/android_cts_baseline
 third_party/android_cts_baseline.tar.gz
+third_party/clank/clank_google3_prebuilt
+third_party/clank/clank_google3.tar.gz
 third_party/android_jar/lib
 third_party/android_jar/lib-v[0-9][0-9]
 third_party/android_jar/lib-v[0-9][0-9].tar.gz
diff --git a/build.gradle b/build.gradle
index d7c83e7..121279f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -420,6 +420,7 @@
         "chrome/chrome_180917_ffbaa8",
         "chrome/chrome_200430",
         "chrome/monochrome_public_minimal_apks/chrome_200520",
+        "chrome/clank_google3_prebuilt",
         "classlib",
         "cf_segments",
         "desugar/desugar_20180308",
diff --git a/src/test/java/com/android/tools/r8/internal/ClankDepsTest.java b/src/test/java/com/android/tools/r8/internal/ClankDepsTest.java
new file mode 100644
index 0000000..3d16eee
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/internal/ClankDepsTest.java
@@ -0,0 +1,54 @@
+// Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package com.android.tools.r8.internal;
+
+import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
+import static org.hamcrest.CoreMatchers.containsString;
+
+import com.android.tools.r8.TestBase;
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.utils.AndroidApiLevel;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class ClankDepsTest extends TestBase {
+
+  @Parameters(name = "{0}")
+  public static TestParametersCollection data() {
+    return getTestParameters().withNoneRuntime().build();
+  }
+
+  public ClankDepsTest(TestParameters parameters) {
+    parameters.assertNoneRuntime();
+  }
+
+  private static final Path DIR = Paths.get("third_party", "chrome", "clank_google3_prebuilt");
+  private static final Path CLASSES = DIR.resolve("classes.jar");
+  private static final Path CONFIG = DIR.resolve("proguard.txt");
+
+  @Test(expected = AssertionError.class)
+  public void test() throws Exception {
+    testForR8(Backend.DEX)
+        .addProgramFiles(CLASSES)
+        .addKeepRuleFiles(CONFIG)
+        .addDontWarn("androidx.**")
+        .addDontWarnJavax()
+        .addDontWarn("dalvik.system.VMStack")
+        .addDontWarn("zzz.com.facebook.litho.R$id")
+        .addDontWarn("com.google.android.libraries.elements.R$id")
+        .allowUnusedProguardConfigurationRules()
+        .setMinApi(AndroidApiLevel.N)
+        .compileWithExpectedDiagnostics(
+            diagnostics ->
+                diagnostics.assertErrorsMatch(
+                    diagnosticMessage(
+                        containsString("java.lang.AssertionError: Invalid read to $VALUES"))));
+  }
+}
diff --git a/third_party/chrome/clank_google3_prebuilt.tar.gz.sha1 b/third_party/chrome/clank_google3_prebuilt.tar.gz.sha1
new file mode 100644
index 0000000..862139a
--- /dev/null
+++ b/third_party/chrome/clank_google3_prebuilt.tar.gz.sha1
@@ -0,0 +1 @@
+4af48dbfdd1333bb41c716a62a136dfd1fa2354d
\ No newline at end of file