Revert "More desugared library tests"

This reverts commit e05ccee3e8b19dc0ce2e7055f9101af74cd5fe89.

Reason for revert: Breaking bots

Change-Id: I5048dc7eb185d85b3f30fbd428d1a3355acef329
diff --git a/src/test/java/com/android/tools/r8/D8TestBuilder.java b/src/test/java/com/android/tools/r8/D8TestBuilder.java
index 7b53857..e3db7cc 100644
--- a/src/test/java/com/android/tools/r8/D8TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/D8TestBuilder.java
@@ -55,7 +55,7 @@
       Builder builder, Consumer<InternalOptions> optionsConsumer, Supplier<AndroidApp> app)
       throws CompilationFailedException {
     ToolHelper.runD8(builder, optionsConsumer);
-    return new D8TestCompileResult(getState(), app.get(), getOutputMode(), keepRulesHolder);
+    return new D8TestCompileResult(getState(), app.get(), getOutputMode());
   }
 
   public D8TestBuilder setIntermediate(boolean intermediate) {
diff --git a/src/test/java/com/android/tools/r8/D8TestCompileResult.java b/src/test/java/com/android/tools/r8/D8TestCompileResult.java
index 02ce637..e4ea07c 100644
--- a/src/test/java/com/android/tools/r8/D8TestCompileResult.java
+++ b/src/test/java/com/android/tools/r8/D8TestCompileResult.java
@@ -6,13 +6,10 @@
 import com.android.tools.r8.TestBase.Backend;
 import com.android.tools.r8.ToolHelper.ProcessResult;
 import com.android.tools.r8.utils.AndroidApp;
-import com.android.tools.r8.utils.Box;
 
 public class D8TestCompileResult extends TestCompileResult<D8TestCompileResult, D8TestRunResult> {
-
-  D8TestCompileResult(
-      TestState state, AndroidApp app, OutputMode outputMode, Box<String> keepRulesHolder) {
-    super(state, app, outputMode, keepRulesHolder);
+  D8TestCompileResult(TestState state, AndroidApp app, OutputMode outputMode) {
+    super(state, app, outputMode);
     assert ToolHelper.verifyValidOutputMode(Backend.DEX, outputMode);
   }
 
diff --git a/src/test/java/com/android/tools/r8/R8TestBuilder.java b/src/test/java/com/android/tools/r8/R8TestBuilder.java
index 5ab864b..d6d3f5d 100644
--- a/src/test/java/com/android/tools/r8/R8TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/R8TestBuilder.java
@@ -98,8 +98,7 @@
         box.proguardConfiguration,
         box.syntheticProguardRules,
         proguardMapBuilder.toString(),
-        graphConsumer,
-        null);
+        graphConsumer);
   }
 
   public Builder getBuilder() {
diff --git a/src/test/java/com/android/tools/r8/R8TestCompileResult.java b/src/test/java/com/android/tools/r8/R8TestCompileResult.java
index 325046b..8e63f34 100644
--- a/src/test/java/com/android/tools/r8/R8TestCompileResult.java
+++ b/src/test/java/com/android/tools/r8/R8TestCompileResult.java
@@ -8,7 +8,6 @@
 import com.android.tools.r8.shaking.ProguardConfiguration;
 import com.android.tools.r8.shaking.ProguardConfigurationRule;
 import com.android.tools.r8.utils.AndroidApp;
-import com.android.tools.r8.utils.Box;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
 import com.android.tools.r8.utils.graphinspector.GraphInspector;
 import java.io.IOException;
@@ -30,9 +29,8 @@
       ProguardConfiguration proguardConfiguration,
       List<ProguardConfigurationRule> syntheticProguardRules,
       String proguardMap,
-      CollectingGraphConsumer graphConsumer,
-      Box<String> keepRulesHolder) {
-    super(state, app, outputMode, keepRulesHolder);
+      CollectingGraphConsumer graphConsumer) {
+    super(state, app, outputMode);
     this.proguardConfiguration = proguardConfiguration;
     this.syntheticProguardRules = syntheticProguardRules;
     this.proguardMap = proguardMap;
diff --git a/src/test/java/com/android/tools/r8/TestCompileResult.java b/src/test/java/com/android/tools/r8/TestCompileResult.java
index eb2ccc4..31cdf50 100644
--- a/src/test/java/com/android/tools/r8/TestCompileResult.java
+++ b/src/test/java/com/android/tools/r8/TestCompileResult.java
@@ -18,7 +18,6 @@
 import com.android.tools.r8.errors.Unreachable;
 import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.AndroidApp;
-import com.android.tools.r8.utils.Box;
 import com.android.tools.r8.utils.DescriptorUtils;
 import com.android.tools.r8.utils.TriFunction;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -48,18 +47,11 @@
   final List<String> vmArguments = new ArrayList<>();
   private boolean withArt6Plus64BitsLib = false;
   private boolean withArtFrameworks = true;
-  private final String desugaredLibraryKeepRules;
 
   TestCompileResult(TestState state, AndroidApp app, OutputMode outputMode) {
-    this(state, app, outputMode, null);
-  }
-
-  TestCompileResult(
-      TestState state, AndroidApp app, OutputMode outputMode, Box<String> keepRulesHolder) {
     super(state);
     this.app = app;
     this.outputMode = outputMode;
-    this.desugaredLibraryKeepRules = keepRulesHolder == null ? null : keepRulesHolder.get();
   }
 
   public final CR withArt6Plus64BitsLib() {
@@ -72,10 +64,6 @@
     return self();
   }
 
-  public String getDesugaredLibraryKeepRules() {
-    return desugaredLibraryKeepRules;
-  }
-
   public final Backend getBackend() {
     if (outputMode == OutputMode.ClassFile) {
       return Backend.CF;
@@ -188,9 +176,10 @@
   public CR addDesugaredCoreLibraryRunClassPath(
       TriFunction<AndroidApiLevel, String, Boolean, Path> classPathSupplier,
       AndroidApiLevel minAPILevel,
+      String keepRules,
       boolean shrink) {
     if (minAPILevel.getLevel() < AndroidApiLevel.O.getLevel()) {
-      addRunClasspathFiles(classPathSupplier.apply(minAPILevel, desugaredLibraryKeepRules, shrink));
+      addRunClasspathFiles(classPathSupplier.apply(minAPILevel, keepRules, shrink));
     }
     return self();
   }
diff --git a/src/test/java/com/android/tools/r8/TestCompilerBuilder.java b/src/test/java/com/android/tools/r8/TestCompilerBuilder.java
index c63c4c7..8498704 100644
--- a/src/test/java/com/android/tools/r8/TestCompilerBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestCompilerBuilder.java
@@ -8,7 +8,6 @@
 import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.AndroidApp;
 import com.android.tools.r8.utils.AndroidAppConsumers;
-import com.android.tools.r8.utils.Box;
 import com.android.tools.r8.utils.InternalOptions;
 import com.google.common.base.Suppliers;
 import java.io.IOException;
@@ -44,7 +43,6 @@
   private Consumer<InternalOptions> optionsConsumer = DEFAULT_OPTIONS;
   private PrintStream stdout = null;
   protected OutputMode outputMode = OutputMode.DexIndexed;
-  protected Box<String> keepRulesHolder;
 
   TestCompilerBuilder(TestState state, B builder, Backend backend) {
     super(state, builder);
@@ -278,11 +276,6 @@
     if (minAPILevel.getLevel() < AndroidApiLevel.O.getLevel()) {
       builder.addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.O));
       builder.addSpecialLibraryConfiguration("default");
-      keepRulesHolder = new Box<>("");
-      this.addOptionsModification(
-          options ->
-              options.testing.desugaredLibraryKeepRuleConsumer =
-                  (string, handler) -> this.keepRulesHolder.set(keepRulesHolder.get() + string));
     }
     return self();
   }
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java b/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java
index 678a395..099c560 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java
@@ -48,16 +48,22 @@
 
   @Test
   public void testCustomCollectionD8() throws Exception {
+    Box<String> keepRulesHolder = new Box<>("");
     D8TestRunResult d8TestRunResult =
         testForD8()
             .addInnerClasses(CustomCollectionTest.class)
             .setMinApi(parameters.getApiLevel())
+            .addOptionsModification(
+                options ->
+                    options.testing.desugaredLibraryKeepRuleConsumer =
+                        (string, handler) -> keepRulesHolder.set(keepRulesHolder.get() + string))
             .enableCoreLibraryDesugaring(parameters.getApiLevel())
             .compile()
             .inspect(inspector -> this.assertCustomCollectionCallsCorrect(inspector, false))
             .addDesugaredCoreLibraryRunClassPath(
                 this::buildDesugaredLibrary,
                 parameters.getApiLevel(),
+                keepRulesHolder.get(),
                 shrinkCoreLibrary)
             .run(parameters.getRuntime(), EXECUTOR)
             .assertSuccess();
@@ -76,17 +82,23 @@
 
   @Test
   public void testCustomCollectionR8() throws Exception {
+    Box<String> keepRulesHolder = new Box<>("");
     R8TestRunResult r8TestRunResult =
         testForR8(Backend.DEX)
             .addInnerClasses(CustomCollectionTest.class)
             .setMinApi(parameters.getApiLevel())
             .addKeepClassAndMembersRules(Executor.class)
+            .addOptionsModification(
+                options ->
+                    options.testing.desugaredLibraryKeepRuleConsumer =
+                        (string, handler) -> keepRulesHolder.set(keepRulesHolder.get() + string))
             .enableCoreLibraryDesugaring(parameters.getApiLevel())
             .compile()
             .inspect(inspector -> this.assertCustomCollectionCallsCorrect(inspector, true))
             .addDesugaredCoreLibraryRunClassPath(
                 this::buildDesugaredLibrary,
                 parameters.getApiLevel(),
+                keepRulesHolder.get(),
                 shrinkCoreLibrary)
             .run(parameters.getRuntime(), EXECUTOR)
             .assertSuccess();
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/JavaTimeTest.java b/src/test/java/com/android/tools/r8/desugar/corelib/JavaTimeTest.java
index b43523c..fb1c722 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/JavaTimeTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/JavaTimeTest.java
@@ -55,15 +55,21 @@
 
   @Test
   public void testTimeD8() throws Exception {
+    Box<String> keepRulesHolder = new Box<>("");
     testForD8()
         .addInnerClasses(JavaTimeTest.class)
         .setMinApi(parameters.getApiLevel())
         .enableCoreLibraryDesugaring(parameters.getApiLevel())
+        .addOptionsModification(
+            options ->
+                options.testing.desugaredLibraryKeepRuleConsumer =
+                    (string, handler) -> keepRulesHolder.set(keepRulesHolder.get() + string))
         .compile()
         .inspect(this::checkRewrittenInvokes)
         .addDesugaredCoreLibraryRunClassPath(
             this::buildDesugaredLibrary,
             parameters.getApiLevel(),
+            keepRulesHolder.get(),
             shrinkCoreLibrary)
         .run(parameters.getRuntime(), TestClass.class)
         .assertSuccessWithOutput(expectedOutput);
@@ -71,16 +77,22 @@
 
   @Test
   public void testTimeR8() throws Exception {
+    Box<String> keepRulesHolder = new Box<>("");
     testForR8(parameters.getBackend())
         .addInnerClasses(JavaTimeTest.class)
         .addKeepMainRule(TestClass.class)
         .setMinApi(parameters.getApiLevel())
         .enableCoreLibraryDesugaring(parameters.getApiLevel())
+        .addOptionsModification(
+            options ->
+                options.testing.desugaredLibraryKeepRuleConsumer =
+                    (string, handler) -> keepRulesHolder.set(keepRulesHolder.get() + string))
         .compile()
         .inspect(this::checkRewrittenInvokes)
         .addDesugaredCoreLibraryRunClassPath(
             this::buildDesugaredLibrary,
             parameters.getApiLevel(),
+            keepRulesHolder.get(),
             shrinkCoreLibrary)
         .run(parameters.getRuntime(), TestClass.class)
         .assertSuccessWithOutput(expectedOutput);
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/JavaUtilFunctionTest.java b/src/test/java/com/android/tools/r8/desugar/corelib/JavaUtilFunctionTest.java
index 81c5c07..74a4efa 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/JavaUtilFunctionTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/JavaUtilFunctionTest.java
@@ -8,35 +8,29 @@
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 
-import com.android.tools.r8.NeverInline;
 import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.utils.BooleanUtils;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.ToolHelper;
+import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
-import java.util.List;
 import java.util.function.Function;
-import org.junit.Assume;
 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 JavaUtilFunctionTest extends CoreLibDesugarTestBase {
 
   private final TestParameters parameters;
-  private final boolean shrinkCoreLibrary;
-  private static final String expectedOutput = StringUtils.lines("Hello, world", "Hello, world");
 
-  @Parameters(name = "{1}, shrinkCoreLibrary: {0}")
-  public static List<Object[]> data() {
-    return buildParameters(
-        BooleanUtils.values(), getTestParameters().withDexRuntimes().withAllApiLevels().build());
+  @Parameterized.Parameters(name = "{0}")
+  public static TestParametersCollection data() {
+    return getTestParameters().withDexRuntimes().withAllApiLevels().build();
   }
 
-  public JavaUtilFunctionTest(boolean shrinkDesugaredLibrary, TestParameters parameters) {
-    this.shrinkCoreLibrary = shrinkDesugaredLibrary;
+  public JavaUtilFunctionTest(TestParameters parameters) {
     this.parameters = parameters;
   }
 
@@ -59,42 +53,22 @@
   }
 
   @Test
-  public void testJavaUtilFunctionD8() throws Exception {
+  public void testJavaUtilFunction() throws Exception {
+    String expectedOutput = StringUtils.lines("Hello, world", "Hello, world");
     testForD8()
         .addInnerClasses(JavaUtilFunctionTest.class)
+        .addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.P))
         .setMinApi(parameters.getApiLevel())
-        .enableCoreLibraryDesugaring(parameters.getApiLevel())
+        .enableCoreLibraryDesugaring()
         .compile()
         .inspect(this::checkRewrittenArguments)
-        .addDesugaredCoreLibraryRunClassPath(
-            this::buildDesugaredLibrary, parameters.getApiLevel(), shrinkCoreLibrary)
-        .run(parameters.getRuntime(), TestClass.class)
-        .assertSuccessWithOutput(expectedOutput);
-  }
-
-  @Test
-  public void testJavaUtilFunctionR8() throws Exception {
-    // TODO(b/139398549): Enable test on API 26+.
-    Assume.assumeTrue(parameters.getApiLevel().getLevel() < 26);
-    testForR8(parameters.getBackend())
-        // Following two for checkRewrittenArguments.
-        .enableInliningAnnotations()
-        .noMinification()
-        .addKeepMainRule(TestClass.class)
-        .addInnerClasses(JavaUtilFunctionTest.class)
-        .setMinApi(parameters.getApiLevel())
-        .enableCoreLibraryDesugaring(parameters.getApiLevel())
-        .compile()
-        .inspect(this::checkRewrittenArguments)
-        .addDesugaredCoreLibraryRunClassPath(
-            this::buildDesugaredLibrary, parameters.getApiLevel(), shrinkCoreLibrary)
+        .addRunClasspathFiles(buildDesugaredLibrary(parameters.getApiLevel()))
         .run(parameters.getRuntime(), TestClass.class)
         .assertSuccessWithOutput(expectedOutput);
   }
 
   static class TestClass {
 
-    @NeverInline
     private static String applyFunction(Function<String, String> f) {
       return f.apply("Hello, world");
     }
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/ProgramRewritingTest.java b/src/test/java/com/android/tools/r8/desugar/corelib/ProgramRewritingTest.java
index 0d18a6f..8aeddab 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/ProgramRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/ProgramRewritingTest.java
@@ -13,15 +13,14 @@
 import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertFalse;
 
-import com.android.tools.r8.D8TestCompileResult;
 import com.android.tools.r8.D8TestRunResult;
-import com.android.tools.r8.R8TestCompileResult;
 import com.android.tools.r8.R8TestRunResult;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.ToolHelper.DexVm;
 import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.BooleanUtils;
+import com.android.tools.r8.utils.Box;
 import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
@@ -57,25 +56,26 @@
   @Test
   public void testProgramD8() throws Exception {
     Assume.assumeTrue("No desugaring for high API levels", requiresCoreLibDesugaring(parameters));
-    D8TestCompileResult d8TestCompileResult =
+    Box<String> keepRulesHolder = new Box<>("");
+    D8TestRunResult d8TestRunResult =
         testForD8()
             .addProgramFiles(Paths.get(ToolHelper.EXAMPLES_JAVA9_BUILD_DIR + "stream.jar"))
             .addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.P))
             .setMinApi(parameters.getApiLevel())
+            .addOptionsModification(
+                options ->
+                    options.testing.desugaredLibraryKeepRuleConsumer =
+                        (string, handler) -> keepRulesHolder.set(keepRulesHolder.get() + string))
             .enableCoreLibraryDesugaring()
             .compile()
-            .inspect(this::checkRewrittenInvokes);
-    D8TestRunResult d8TestRunResult =
-        d8TestCompileResult
+            .inspect(this::checkRewrittenInvokes)
             .addRunClasspathFiles(
                 buildDesugaredLibrary(
-                    parameters.getApiLevel(),
-                    d8TestCompileResult.getDesugaredLibraryKeepRules(),
-                    shrinkCoreLibrary))
+                    parameters.getApiLevel(), keepRulesHolder.get(), shrinkCoreLibrary))
             .run(parameters.getRuntime(), TEST_CLASS)
             .assertSuccess();
     assertLines2By2Correct(d8TestRunResult.getStdOut());
-    assertGeneratedKeepRulesAreCorrect(d8TestCompileResult.getDesugaredLibraryKeepRules());
+    assertGeneratedKeepRulesAreCorrect(keepRulesHolder.get());
     String stdErr = d8TestRunResult.getStdErr();
     if (parameters.getRuntime().asDex().getVm().isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)) {
       // Flaky: There might be a missing method on lambda deserialization.
@@ -91,27 +91,28 @@
   public void testProgramR8() throws Exception {
     Assume.assumeTrue("No desugaring for high API levels", requiresCoreLibDesugaring(parameters));
     for (Boolean minifying : BooleanUtils.values()) {
-      R8TestCompileResult r8TestCompileResult =
+      Box<String> keepRulesHolder = new Box<>("");
+      R8TestRunResult r8TestRunResult =
           testForR8(parameters.getBackend())
               .minification(minifying)
               .addKeepMainRule(TEST_CLASS)
               .addProgramFiles(Paths.get(ToolHelper.EXAMPLES_JAVA9_BUILD_DIR + "stream.jar"))
               .addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.P))
               .setMinApi(parameters.getApiLevel())
+              .addOptionsModification(
+                  options ->
+                      options.testing.desugaredLibraryKeepRuleConsumer =
+                          (string, handler) -> keepRulesHolder.set(keepRulesHolder.get() + string))
               .enableCoreLibraryDesugaring()
-              .compile();
-      R8TestRunResult r8TestRunResult =
-          r8TestCompileResult
+              .compile()
               .inspect(this::checkRewrittenInvokes)
               .addRunClasspathFiles(
                   buildDesugaredLibrary(
-                      parameters.getApiLevel(),
-                      r8TestCompileResult.getDesugaredLibraryKeepRules(),
-                      shrinkCoreLibrary))
+                      parameters.getApiLevel(), keepRulesHolder.get(), shrinkCoreLibrary))
               .run(parameters.getRuntime(), TEST_CLASS)
               .assertSuccess();
       assertLines2By2Correct(r8TestRunResult.getStdOut());
-      assertGeneratedKeepRulesAreCorrect(r8TestCompileResult.getDesugaredLibraryKeepRules());
+      assertGeneratedKeepRulesAreCorrect(keepRulesHolder.get());
       if (parameters.getRuntime().asDex().getVm().isOlderThanOrEqual(DexVm.ART_4_4_4_HOST)) {
         // Flaky: There might be a missing method on lambda deserialization.
         r8TestRunResult.assertStderrMatches(