Reproduce desugared library build failure

Bug: b/b231925782
Change-Id: I8f2b9d72d55fe4aab6526262ed6a57d34fde7494
diff --git a/src/library_desugar/jdk11/desugar_jdk_libs_legacy.json b/src/library_desugar/jdk11/desugar_jdk_libs_legacy.json
index ce1b3ff..b92af9f 100644
--- a/src/library_desugar/jdk11/desugar_jdk_libs_legacy.json
+++ b/src/library_desugar/jdk11/desugar_jdk_libs_legacy.json
@@ -43,19 +43,9 @@
       }
     },
     {
-      "api_level_below_or_equal": 10000,
+      "api_level_below_or_equal": 23,
       "rewrite_prefix": {
-        "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics",
-        "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics",
-        "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics",
-        "java.util.Optional": "j$.util.Optional",
-        "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator",
-        "java.util.Spliterator": "j$.util.Spliterator",
-        "java.util.StringJoiner": "j$.util.StringJoiner",
-        "java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap",
-        "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
-        "java.util.function.": "j$.util.function.",
-        "java.util.stream.": "j$.util.stream."
+        "java.util.function.": "j$.util.function."
       },
       "emulate_interface": {
         "java.lang.Iterable": "j$.lang.Iterable",
@@ -71,7 +61,22 @@
       },
       "dont_rewrite": [
         "java.util.Iterator#remove"
-      ],
+      ]
+    },
+    {
+      "api_level_below_or_equal": 10000,
+      "rewrite_prefix": {
+        "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics",
+        "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics",
+        "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics",
+        "java.util.Optional": "j$.util.Optional",
+        "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator",
+        "java.util.Spliterator": "j$.util.Spliterator",
+        "java.util.StringJoiner": "j$.util.StringJoiner",
+        "java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap",
+        "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
+        "java.util.stream.": "j$.util.stream."
+      },
       "retarget_lib_member": {
         "java.util.Arrays#spliterator": "java.util.DesugarArrays",
         "java.util.Arrays#stream": "java.util.DesugarArrays",
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/legacy/L8TestWithLegacySpecification.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/legacy/L8TestWithLegacySpecification.java
index cab982a..3a6fd81 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/legacy/L8TestWithLegacySpecification.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/legacy/L8TestWithLegacySpecification.java
@@ -11,11 +11,14 @@
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification;
 import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.FileUtils;
 import com.android.tools.r8.utils.StringUtils;
 import com.google.common.collect.ImmutableList;
 import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -26,25 +29,38 @@
 public class L8TestWithLegacySpecification extends TestBase {
 
   @Parameter(0)
-  public TestParameters parameters;
+  public AndroidApiLevel apiLevel;
 
   @Parameter(1)
+  public CompilationMode mode;
+
+  @Parameter(2)
   public L8KeepRules l8KeepRules;
 
-  @Parameters(name = "{0}, {1}")
+  @Parameter(3)
+  public TestParameters none;
+
+  @Parameters(name = "{0}, {1}, {2}")
   public static List<Object[]> data() {
     return buildParameters(
-        getTestParameters().withAllRuntimes().withAllApiLevelsAlsoForCf().build(),
+        Arrays.stream(AndroidApiLevel.values())
+            .sorted()
+            .filter(apiLevel -> apiLevel.isGreaterThanOrEqualTo(AndroidApiLevel.L))
+            .filter(apiLevel -> apiLevel.isLessThan(AndroidApiLevel.ANDROID_PLATFORM))
+            .collect(Collectors.toList()),
+        CompilationMode.values(),
         ImmutableList.of(
             new L8KeepRules("AGP", agp73KeepRules),
             new L8KeepRules("j$", ImmutableList.of("-keep class j$.** { *; }")),
             new L8KeepRules("java", ImmutableList.of("-keep class java.** { *; }")),
             new L8KeepRules(
                 "both",
-                ImmutableList.of("-keep class j$.** { *; }", "-keep class java.** { *; }"))));
+                ImmutableList.of("-keep class j$.** { *; }", "-keep class java.** { *; }"))),
+        getTestParameters().withNoneRuntime().build());
   }
 
   private static class L8KeepRules {
+
     private String name;
     private List<String> keepRules;
 
@@ -160,10 +176,11 @@
                     LibraryDesugaringSpecification.JDK11_LEGACY.getSpecification(),
                     StandardCharsets.UTF_8))
             .addProguardConfiguration(l8KeepRules.keepRules, Origin.unknown())
-            .setMode(CompilationMode.RELEASE)
+            .setMode(mode)
             .setOutput(temp.newFolder().toPath().resolve("out.jar"), OutputMode.DexIndexed)
-            .setMinApiLevel(21)
+            .setMinApiLevel(apiLevel.getLevel())
             .build();
+    // TODO(b/231925782): This should succeed for all API levels.
     L8.run(command);
   }
 }